@eddacraft/anvil-runtime 0.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 (170) hide show
  1. package/LICENSE +14 -0
  2. package/dist/cache/cache-key.d.ts +45 -0
  3. package/dist/cache/cache-key.d.ts.map +1 -0
  4. package/dist/cache/cache-key.js +135 -0
  5. package/dist/cache/index.d.ts +27 -0
  6. package/dist/cache/index.d.ts.map +1 -0
  7. package/dist/cache/index.js +38 -0
  8. package/dist/cache/providers/file-cache.d.ts +63 -0
  9. package/dist/cache/providers/file-cache.d.ts.map +1 -0
  10. package/dist/cache/providers/file-cache.js +369 -0
  11. package/dist/cache/providers/memory-cache.d.ts +52 -0
  12. package/dist/cache/providers/memory-cache.d.ts.map +1 -0
  13. package/dist/cache/providers/memory-cache.js +197 -0
  14. package/dist/cache/providers/null-cache.d.ts +26 -0
  15. package/dist/cache/providers/null-cache.d.ts.map +1 -0
  16. package/dist/cache/providers/null-cache.js +50 -0
  17. package/dist/cache/types.d.ts +114 -0
  18. package/dist/cache/types.d.ts.map +1 -0
  19. package/dist/cache/types.js +4 -0
  20. package/dist/concurrency/agent.d.ts +137 -0
  21. package/dist/concurrency/agent.d.ts.map +1 -0
  22. package/dist/concurrency/agent.js +440 -0
  23. package/dist/concurrency/atomic.d.ts +93 -0
  24. package/dist/concurrency/atomic.d.ts.map +1 -0
  25. package/dist/concurrency/atomic.js +281 -0
  26. package/dist/concurrency/git-agent.d.ts +114 -0
  27. package/dist/concurrency/git-agent.d.ts.map +1 -0
  28. package/dist/concurrency/git-agent.js +313 -0
  29. package/dist/concurrency/index.d.ts +95 -0
  30. package/dist/concurrency/index.d.ts.map +1 -0
  31. package/dist/concurrency/index.js +127 -0
  32. package/dist/concurrency/lock-manager.d.ts +170 -0
  33. package/dist/concurrency/lock-manager.d.ts.map +1 -0
  34. package/dist/concurrency/lock-manager.js +525 -0
  35. package/dist/concurrency/queue-manager.d.ts +166 -0
  36. package/dist/concurrency/queue-manager.d.ts.map +1 -0
  37. package/dist/concurrency/queue-manager.js +442 -0
  38. package/dist/concurrency/types.d.ts +382 -0
  39. package/dist/concurrency/types.d.ts.map +1 -0
  40. package/dist/concurrency/types.js +204 -0
  41. package/dist/export/constraint-collector.d.ts +175 -0
  42. package/dist/export/constraint-collector.d.ts.map +1 -0
  43. package/dist/export/constraint-collector.js +203 -0
  44. package/dist/export/formatters/llms-txt-formatter.d.ts +89 -0
  45. package/dist/export/formatters/llms-txt-formatter.d.ts.map +1 -0
  46. package/dist/export/formatters/llms-txt-formatter.js +249 -0
  47. package/dist/export/formatters/mcp-resource-formatter.d.ts +186 -0
  48. package/dist/export/formatters/mcp-resource-formatter.d.ts.map +1 -0
  49. package/dist/export/formatters/mcp-resource-formatter.js +139 -0
  50. package/dist/export/formatters/prompt-formatter.d.ts +83 -0
  51. package/dist/export/formatters/prompt-formatter.d.ts.map +1 -0
  52. package/dist/export/formatters/prompt-formatter.js +256 -0
  53. package/dist/export/index.d.ts +10 -0
  54. package/dist/export/index.d.ts.map +1 -0
  55. package/dist/export/index.js +9 -0
  56. package/dist/gate/check.interface.d.ts +15 -0
  57. package/dist/gate/check.interface.d.ts.map +1 -0
  58. package/dist/gate/check.interface.js +18 -0
  59. package/dist/gate/checks/antipattern.check.d.ts +27 -0
  60. package/dist/gate/checks/antipattern.check.d.ts.map +1 -0
  61. package/dist/gate/checks/antipattern.check.js +140 -0
  62. package/dist/gate/checks/architecture/circular-detector.d.ts +33 -0
  63. package/dist/gate/checks/architecture/circular-detector.d.ts.map +1 -0
  64. package/dist/gate/checks/architecture/circular-detector.js +71 -0
  65. package/dist/gate/checks/architecture/dependency-analyzer.d.ts +81 -0
  66. package/dist/gate/checks/architecture/dependency-analyzer.d.ts.map +1 -0
  67. package/dist/gate/checks/architecture/dependency-analyzer.js +136 -0
  68. package/dist/gate/checks/architecture/layer-validator.d.ts +75 -0
  69. package/dist/gate/checks/architecture/layer-validator.d.ts.map +1 -0
  70. package/dist/gate/checks/architecture/layer-validator.js +193 -0
  71. package/dist/gate/checks/architecture.check.d.ts +56 -0
  72. package/dist/gate/checks/architecture.check.d.ts.map +1 -0
  73. package/dist/gate/checks/architecture.check.js +394 -0
  74. package/dist/gate/checks/command-safety.check.d.ts +12 -0
  75. package/dist/gate/checks/command-safety.check.d.ts.map +1 -0
  76. package/dist/gate/checks/command-safety.check.js +230 -0
  77. package/dist/gate/checks/coverage.check.d.ts +9 -0
  78. package/dist/gate/checks/coverage.check.d.ts.map +1 -0
  79. package/dist/gate/checks/coverage.check.js +81 -0
  80. package/dist/gate/checks/dependency.check.d.ts +17 -0
  81. package/dist/gate/checks/dependency.check.d.ts.map +1 -0
  82. package/dist/gate/checks/dependency.check.js +342 -0
  83. package/dist/gate/checks/eslint.check.d.ts +14 -0
  84. package/dist/gate/checks/eslint.check.d.ts.map +1 -0
  85. package/dist/gate/checks/eslint.check.js +79 -0
  86. package/dist/gate/checks/policy.check.d.ts +78 -0
  87. package/dist/gate/checks/policy.check.d.ts.map +1 -0
  88. package/dist/gate/checks/policy.check.js +457 -0
  89. package/dist/gate/checks/secret/entropy-detector.d.ts +44 -0
  90. package/dist/gate/checks/secret/entropy-detector.d.ts.map +1 -0
  91. package/dist/gate/checks/secret/entropy-detector.js +76 -0
  92. package/dist/gate/checks/secret/git-scanner.d.ts +36 -0
  93. package/dist/gate/checks/secret/git-scanner.d.ts.map +1 -0
  94. package/dist/gate/checks/secret/git-scanner.js +90 -0
  95. package/dist/gate/checks/secret/secret-patterns.d.ts +42 -0
  96. package/dist/gate/checks/secret/secret-patterns.d.ts.map +1 -0
  97. package/dist/gate/checks/secret/secret-patterns.js +137 -0
  98. package/dist/gate/checks/secret.check.d.ts +56 -0
  99. package/dist/gate/checks/secret.check.d.ts.map +1 -0
  100. package/dist/gate/checks/secret.check.js +245 -0
  101. package/dist/gate/config/command-safety-config.d.ts +5 -0
  102. package/dist/gate/config/command-safety-config.d.ts.map +1 -0
  103. package/dist/gate/config/command-safety-config.js +69 -0
  104. package/dist/gate/config/index.d.ts +2 -0
  105. package/dist/gate/config/index.d.ts.map +1 -0
  106. package/dist/gate/config/index.js +1 -0
  107. package/dist/gate/formatters/command-safety-formatter.d.ts +10 -0
  108. package/dist/gate/formatters/command-safety-formatter.d.ts.map +1 -0
  109. package/dist/gate/formatters/command-safety-formatter.js +64 -0
  110. package/dist/gate/formatters/index.d.ts +2 -0
  111. package/dist/gate/formatters/index.d.ts.map +1 -0
  112. package/dist/gate/formatters/index.js +1 -0
  113. package/dist/gate/gate-config.d.ts +44 -0
  114. package/dist/gate/gate-config.d.ts.map +1 -0
  115. package/dist/gate/gate-config.js +334 -0
  116. package/dist/gate/gate-runner.d.ts +160 -0
  117. package/dist/gate/gate-runner.d.ts.map +1 -0
  118. package/dist/gate/gate-runner.js +531 -0
  119. package/dist/gate/index.d.ts +20 -0
  120. package/dist/gate/index.d.ts.map +1 -0
  121. package/dist/gate/index.js +14 -0
  122. package/dist/gate/parsers/command-parser.d.ts +18 -0
  123. package/dist/gate/parsers/command-parser.d.ts.map +1 -0
  124. package/dist/gate/parsers/command-parser.js +363 -0
  125. package/dist/gate/parsers/index.d.ts +2 -0
  126. package/dist/gate/parsers/index.d.ts.map +1 -0
  127. package/dist/gate/parsers/index.js +1 -0
  128. package/dist/gate/policy/index.d.ts +12 -0
  129. package/dist/gate/policy/index.d.ts.map +1 -0
  130. package/dist/gate/policy/index.js +10 -0
  131. package/dist/gate/rules/default-filesystem-rules.d.ts +3 -0
  132. package/dist/gate/rules/default-filesystem-rules.d.ts.map +1 -0
  133. package/dist/gate/rules/default-filesystem-rules.js +201 -0
  134. package/dist/gate/rules/default-git-rules.d.ts +3 -0
  135. package/dist/gate/rules/default-git-rules.d.ts.map +1 -0
  136. package/dist/gate/rules/default-git-rules.js +192 -0
  137. package/dist/gate/rules/index.d.ts +5 -0
  138. package/dist/gate/rules/index.d.ts.map +1 -0
  139. package/dist/gate/rules/index.js +3 -0
  140. package/dist/gate/rules/rule-matcher.d.ts +27 -0
  141. package/dist/gate/rules/rule-matcher.d.ts.map +1 -0
  142. package/dist/gate/rules/rule-matcher.js +228 -0
  143. package/dist/gate/rules/types.d.ts +250 -0
  144. package/dist/gate/rules/types.d.ts.map +1 -0
  145. package/dist/gate/rules/types.js +1 -0
  146. package/dist/index.d.ts +19 -0
  147. package/dist/index.d.ts.map +1 -0
  148. package/dist/index.js +35 -0
  149. package/dist/types/gate.types.d.ts +42 -0
  150. package/dist/types/gate.types.d.ts.map +1 -0
  151. package/dist/types/gate.types.js +94 -0
  152. package/dist/watch/debouncer.d.ts +90 -0
  153. package/dist/watch/debouncer.d.ts.map +1 -0
  154. package/dist/watch/debouncer.js +135 -0
  155. package/dist/watch/file-watcher.d.ts +73 -0
  156. package/dist/watch/file-watcher.d.ts.map +1 -0
  157. package/dist/watch/file-watcher.js +121 -0
  158. package/dist/watch/git-status.d.ts +98 -0
  159. package/dist/watch/git-status.d.ts.map +1 -0
  160. package/dist/watch/git-status.js +266 -0
  161. package/dist/watch/index.d.ts +16 -0
  162. package/dist/watch/index.d.ts.map +1 -0
  163. package/dist/watch/index.js +15 -0
  164. package/dist/watch/orchestrator.d.ts +113 -0
  165. package/dist/watch/orchestrator.d.ts.map +1 -0
  166. package/dist/watch/orchestrator.js +409 -0
  167. package/dist/watch/types.d.ts +190 -0
  168. package/dist/watch/types.d.ts.map +1 -0
  169. package/dist/watch/types.js +76 -0
  170. package/package.json +60 -0
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Null cache provider (no-op)
3
+ * Used when caching is disabled via --no-cache flag
4
+ */
5
+ import { createDebugger } from '@eddacraft/anvil-core';
6
+ const debug = createDebugger('cache');
7
+ /**
8
+ * Null cache provider - disables caching
9
+ *
10
+ * All operations are no-ops that return appropriate null/empty values.
11
+ * Used when:
12
+ * - --no-cache flag is passed
13
+ * - Caching is disabled in configuration
14
+ * - Testing scenarios where caching should be bypassed
15
+ */
16
+ export class NullCacheProvider {
17
+ name = 'null';
18
+ stats = {
19
+ misses: 0,
20
+ };
21
+ async get(_key) {
22
+ debug(`null-cache get: key=${_key} (always miss)`);
23
+ this.stats.misses++;
24
+ return null;
25
+ }
26
+ async set(_key, _value, _options) {
27
+ debug(`null-cache set: key=${_key} (no-op)`);
28
+ }
29
+ async invalidate(_key) {
30
+ return false;
31
+ }
32
+ async invalidatePattern(_pattern) {
33
+ return 0;
34
+ }
35
+ async getStats() {
36
+ return {
37
+ hits: 0,
38
+ misses: this.stats.misses,
39
+ entries: 0,
40
+ size_bytes: 0,
41
+ hit_rate: 0,
42
+ };
43
+ }
44
+ async clear() {
45
+ this.stats.misses = 0;
46
+ }
47
+ async isAvailable() {
48
+ return true; // Null cache is always "available"
49
+ }
50
+ }
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Cache types and interfaces for Anvil gate caching
3
+ */
4
+ /**
5
+ * Cache entry with metadata
6
+ */
7
+ export interface CacheEntry<T> {
8
+ /** The cached value */
9
+ value: T;
10
+ /** Timestamp when the entry was created */
11
+ created_at: number;
12
+ /** Timestamp when the entry expires (optional) */
13
+ expires_at?: number;
14
+ /** Cache key used to store this entry */
15
+ key: string;
16
+ /** Hash of the inputs that generated this cache entry */
17
+ input_hash: string;
18
+ }
19
+ /**
20
+ * Options for setting cache entries
21
+ */
22
+ export interface CacheSetOptions {
23
+ /** Time-to-live in milliseconds (optional) */
24
+ ttl?: number;
25
+ /** Hash of the inputs that generated this value */
26
+ input_hash: string;
27
+ }
28
+ /**
29
+ * Cache statistics
30
+ */
31
+ export interface CacheStats {
32
+ /** Total number of cache hits */
33
+ hits: number;
34
+ /** Total number of cache misses */
35
+ misses: number;
36
+ /** Total number of entries in cache */
37
+ entries: number;
38
+ /** Total size of cache in bytes (approximate) */
39
+ size_bytes: number;
40
+ /** Hit rate as a percentage (0-100) */
41
+ hit_rate: number;
42
+ }
43
+ /**
44
+ * Cache provider interface
45
+ * All cache implementations must implement this interface
46
+ */
47
+ export interface CacheProvider {
48
+ /** Provider name for debugging */
49
+ readonly name: string;
50
+ /**
51
+ * Get a cached value by key
52
+ * @returns The cached entry or null if not found/expired
53
+ */
54
+ get<T>(key: string): Promise<CacheEntry<T> | null>;
55
+ /**
56
+ * Set a cached value
57
+ * @param key The cache key
58
+ * @param value The value to cache
59
+ * @param options Cache options including TTL and input hash
60
+ */
61
+ set<T>(key: string, value: T, options: CacheSetOptions): Promise<void>;
62
+ /**
63
+ * Invalidate a single cache entry
64
+ * @returns true if entry was found and removed
65
+ */
66
+ invalidate(key: string): Promise<boolean>;
67
+ /**
68
+ * Invalidate cache entries matching a pattern
69
+ * @param pattern Glob-like pattern (e.g., "gate:*", "check:eslint:*")
70
+ * @returns Number of entries invalidated
71
+ */
72
+ invalidatePattern(pattern: string): Promise<number>;
73
+ /**
74
+ * Get cache statistics
75
+ */
76
+ getStats(): Promise<CacheStats>;
77
+ /**
78
+ * Clear all cache entries
79
+ */
80
+ clear(): Promise<void>;
81
+ /**
82
+ * Check if provider is available (e.g., directory exists for file cache)
83
+ */
84
+ isAvailable(): Promise<boolean>;
85
+ }
86
+ /**
87
+ * Cache key components for gate check results
88
+ */
89
+ export interface GateCacheKeyInput {
90
+ /** Check name (e.g., "eslint", "coverage") */
91
+ check_name: string;
92
+ /** Plan hash */
93
+ plan_hash: string;
94
+ /** Check configuration hash */
95
+ config_hash: string;
96
+ /** Workspace root (normalised) */
97
+ workspace_root: string;
98
+ /** Optional extra discriminators */
99
+ extra?: Record<string, string>;
100
+ }
101
+ /**
102
+ * Result of a cached gate check lookup
103
+ */
104
+ export interface CachedGateResult {
105
+ /** Whether the result was found in cache */
106
+ cached: boolean;
107
+ /** The gate result if cached */
108
+ result?: import('../types/gate.types.js').GateResult;
109
+ /** Cache entry metadata */
110
+ entry?: CacheEntry<import('../types/gate.types.js').GateResult>;
111
+ /** Time saved by cache hit (in ms) */
112
+ time_saved_ms?: number;
113
+ }
114
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,uBAAuB;IACvB,KAAK,EAAE,CAAC,CAAC;IACT,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEnD;;;;;OAKG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE;;;OAGG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhC;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,wBAAwB,EAAE,UAAU,CAAC;IACrD,2BAA2B;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,wBAAwB,EAAE,UAAU,CAAC,CAAC;IAChE,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Cache types and interfaces for Anvil gate caching
3
+ */
4
+ export {};
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Agent Manager
3
+ *
4
+ * Handles agent identification, registration, and heartbeat management
5
+ * for multi-agent coordination in Anvil.
6
+ */
7
+ import { type AgentInfo, type AgentRegistration, type AgentType, type ConcurrencyConfig } from './types.js';
8
+ /**
9
+ * Detect agent type from environment
10
+ */
11
+ export declare function detectAgentType(): AgentType;
12
+ /**
13
+ * Get or generate agent ID
14
+ */
15
+ export declare function getAgentId(): string;
16
+ /**
17
+ * Get session ID if available
18
+ */
19
+ export declare function getSessionId(): string | undefined;
20
+ /**
21
+ * Get agent name from environment or generate one
22
+ */
23
+ export declare function getAgentName(): string;
24
+ /**
25
+ * Create agent info from environment
26
+ */
27
+ export declare function createAgentInfo(overrides?: Partial<AgentInfo>): AgentInfo;
28
+ /**
29
+ * Options for AgentManager
30
+ */
31
+ export interface AgentManagerOptions {
32
+ /** Workspace root directory */
33
+ workspaceRoot: string;
34
+ /** Concurrency configuration */
35
+ config?: Partial<ConcurrencyConfig>;
36
+ /** Agent info (auto-detected if not provided) */
37
+ agentInfo?: AgentInfo;
38
+ }
39
+ /**
40
+ * Agent Manager
41
+ *
42
+ * Manages agent registration, heartbeat, and lifecycle in a multi-agent environment.
43
+ */
44
+ export declare class AgentManager {
45
+ private readonly workspaceRoot;
46
+ private readonly config;
47
+ private readonly agent;
48
+ private readonly registryPath;
49
+ private heartbeatTimer;
50
+ private isRegistered;
51
+ constructor(options: AgentManagerOptions);
52
+ /**
53
+ * Check if agent is registered
54
+ */
55
+ get registered(): boolean;
56
+ /**
57
+ * Get the current agent info
58
+ */
59
+ getAgent(): AgentInfo;
60
+ /**
61
+ * Get the agent ID
62
+ */
63
+ getAgentId(): string;
64
+ /**
65
+ * Register this agent
66
+ */
67
+ register(operation?: string): Promise<void>;
68
+ /**
69
+ * Start heartbeat timer
70
+ */
71
+ startHeartbeat(): void;
72
+ /**
73
+ * Stop heartbeat timer
74
+ */
75
+ stopHeartbeat(): void;
76
+ /**
77
+ * Send a heartbeat
78
+ */
79
+ heartbeat(operation?: string): Promise<void>;
80
+ /**
81
+ * Update current operation
82
+ */
83
+ setOperation(operation: string | undefined): Promise<void>;
84
+ /**
85
+ * Unregister this agent
86
+ */
87
+ unregister(): Promise<void>;
88
+ /**
89
+ * Get all registered agents
90
+ */
91
+ getAllAgents(): Promise<AgentRegistration[]>;
92
+ /**
93
+ * Get active agents
94
+ */
95
+ getActiveAgents(): Promise<AgentRegistration[]>;
96
+ /**
97
+ * Cleanup stale agents
98
+ */
99
+ cleanupStaleAgents(): Promise<string[]>;
100
+ /**
101
+ * Check if an agent is stale
102
+ */
103
+ isAgentStale(agentId: string): Promise<boolean>;
104
+ /**
105
+ * Check if a process is still running
106
+ */
107
+ isProcessRunning(pid: number): boolean;
108
+ /**
109
+ * Get git user for commit trailers
110
+ */
111
+ getGitAgentTrailer(): string;
112
+ /**
113
+ * Load registry from file
114
+ */
115
+ private loadRegistry;
116
+ /**
117
+ * Save registry to file
118
+ */
119
+ private saveRegistry;
120
+ /**
121
+ * Ensure registry directory exists
122
+ */
123
+ private ensureDir;
124
+ }
125
+ /**
126
+ * Create an agent manager
127
+ */
128
+ export declare function createAgentManager(options: AgentManagerOptions): AgentManager;
129
+ /**
130
+ * Initialize global agent manager
131
+ */
132
+ export declare function initializeGlobalAgent(options: AgentManagerOptions): AgentManager;
133
+ /**
134
+ * Get global agent manager
135
+ */
136
+ export declare function getGlobalAgent(): AgentManager | null;
137
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/concurrency/agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAGL,KAAK,SAAS,EAEd,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,iBAAiB,EAEvB,MAAM,YAAY,CAAC;AAuCpB;;GAEG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAkD3C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CA4BnC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAOjD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CA6BrC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CASzE;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEpC,iDAAiD;IACjD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,mBAAmB;IAUxC;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;OAEG;IACH,QAAQ,IAAI,SAAS;IAIrB;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjD;;OAEG;IACH,cAAc,IAAI,IAAI;IAmBtB;;OAEG;IACH,aAAa,IAAI,IAAI;IAQrB;;OAEG;IACG,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBlD;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAKlD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAYrD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAyB7C;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBrD;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUtC;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;YACW,YAAY;IAkB1B;;OAEG;YACW,YAAY;IAI1B;;OAEG;YACW,SAAS;CAIxB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAE7E;AAOD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAGhF;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,YAAY,GAAG,IAAI,CAEpD"}