agentdog 1.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 (291) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +244 -0
  3. package/dist/adapters/adapter-factory.d.ts +21 -0
  4. package/dist/adapters/adapter-factory.d.ts.map +1 -0
  5. package/dist/adapters/adapter-factory.js +157 -0
  6. package/dist/adapters/adapter-factory.js.map +1 -0
  7. package/dist/adapters/http-sse-adapter.d.ts +49 -0
  8. package/dist/adapters/http-sse-adapter.d.ts.map +1 -0
  9. package/dist/adapters/http-sse-adapter.js +485 -0
  10. package/dist/adapters/http-sse-adapter.js.map +1 -0
  11. package/dist/adapters/stdio-adapter.d.ts +69 -0
  12. package/dist/adapters/stdio-adapter.d.ts.map +1 -0
  13. package/dist/adapters/stdio-adapter.js +664 -0
  14. package/dist/adapters/stdio-adapter.js.map +1 -0
  15. package/dist/adapters/streamable-http-adapter.d.ts +38 -0
  16. package/dist/adapters/streamable-http-adapter.d.ts.map +1 -0
  17. package/dist/adapters/streamable-http-adapter.js +321 -0
  18. package/dist/adapters/streamable-http-adapter.js.map +1 -0
  19. package/dist/ai-gateway/anthropic-errors.d.ts +4 -0
  20. package/dist/ai-gateway/anthropic-errors.d.ts.map +1 -0
  21. package/dist/ai-gateway/anthropic-errors.js +17 -0
  22. package/dist/ai-gateway/anthropic-errors.js.map +1 -0
  23. package/dist/ai-gateway/auth.d.ts +3 -0
  24. package/dist/ai-gateway/auth.d.ts.map +1 -0
  25. package/dist/ai-gateway/auth.js +14 -0
  26. package/dist/ai-gateway/auth.js.map +1 -0
  27. package/dist/ai-gateway/auth.test.d.ts +2 -0
  28. package/dist/ai-gateway/auth.test.d.ts.map +1 -0
  29. package/dist/ai-gateway/auth.test.js +57 -0
  30. package/dist/ai-gateway/auth.test.js.map +1 -0
  31. package/dist/ai-gateway/count-tokens.d.ts +5 -0
  32. package/dist/ai-gateway/count-tokens.d.ts.map +1 -0
  33. package/dist/ai-gateway/count-tokens.js +37 -0
  34. package/dist/ai-gateway/count-tokens.js.map +1 -0
  35. package/dist/ai-gateway/count-tokens.test.d.ts +2 -0
  36. package/dist/ai-gateway/count-tokens.test.d.ts.map +1 -0
  37. package/dist/ai-gateway/count-tokens.test.js +19 -0
  38. package/dist/ai-gateway/count-tokens.test.js.map +1 -0
  39. package/dist/ai-gateway/dialects.d.ts +4 -0
  40. package/dist/ai-gateway/dialects.d.ts.map +1 -0
  41. package/dist/ai-gateway/dialects.js +15 -0
  42. package/dist/ai-gateway/dialects.js.map +1 -0
  43. package/dist/ai-gateway/gateway-server.d.ts +15 -0
  44. package/dist/ai-gateway/gateway-server.d.ts.map +1 -0
  45. package/dist/ai-gateway/gateway-server.js +121 -0
  46. package/dist/ai-gateway/gateway-server.js.map +1 -0
  47. package/dist/ai-gateway/integration.test.d.ts +2 -0
  48. package/dist/ai-gateway/integration.test.d.ts.map +1 -0
  49. package/dist/ai-gateway/integration.test.js +205 -0
  50. package/dist/ai-gateway/integration.test.js.map +1 -0
  51. package/dist/ai-gateway/ir/anthropic-in.d.ts +3 -0
  52. package/dist/ai-gateway/ir/anthropic-in.d.ts.map +1 -0
  53. package/dist/ai-gateway/ir/anthropic-in.js +121 -0
  54. package/dist/ai-gateway/ir/anthropic-in.js.map +1 -0
  55. package/dist/ai-gateway/ir/anthropic-in.test.d.ts +2 -0
  56. package/dist/ai-gateway/ir/anthropic-in.test.d.ts.map +1 -0
  57. package/dist/ai-gateway/ir/anthropic-in.test.js +93 -0
  58. package/dist/ai-gateway/ir/anthropic-in.test.js.map +1 -0
  59. package/dist/ai-gateway/ir/anthropic-sse.d.ts +22 -0
  60. package/dist/ai-gateway/ir/anthropic-sse.d.ts.map +1 -0
  61. package/dist/ai-gateway/ir/anthropic-sse.js +200 -0
  62. package/dist/ai-gateway/ir/anthropic-sse.js.map +1 -0
  63. package/dist/ai-gateway/ir/anthropic-sse.test.d.ts +2 -0
  64. package/dist/ai-gateway/ir/anthropic-sse.test.d.ts.map +1 -0
  65. package/dist/ai-gateway/ir/anthropic-sse.test.js +101 -0
  66. package/dist/ai-gateway/ir/anthropic-sse.test.js.map +1 -0
  67. package/dist/ai-gateway/ir/gemini-out.d.ts +20 -0
  68. package/dist/ai-gateway/ir/gemini-out.d.ts.map +1 -0
  69. package/dist/ai-gateway/ir/gemini-out.js +218 -0
  70. package/dist/ai-gateway/ir/gemini-out.js.map +1 -0
  71. package/dist/ai-gateway/ir/gemini-out.test.d.ts +2 -0
  72. package/dist/ai-gateway/ir/gemini-out.test.d.ts.map +1 -0
  73. package/dist/ai-gateway/ir/gemini-out.test.js +125 -0
  74. package/dist/ai-gateway/ir/gemini-out.test.js.map +1 -0
  75. package/dist/ai-gateway/ir/openai-out.d.ts +17 -0
  76. package/dist/ai-gateway/ir/openai-out.d.ts.map +1 -0
  77. package/dist/ai-gateway/ir/openai-out.js +226 -0
  78. package/dist/ai-gateway/ir/openai-out.js.map +1 -0
  79. package/dist/ai-gateway/ir/openai-out.test.d.ts +2 -0
  80. package/dist/ai-gateway/ir/openai-out.test.d.ts.map +1 -0
  81. package/dist/ai-gateway/ir/openai-out.test.js +144 -0
  82. package/dist/ai-gateway/ir/openai-out.test.js.map +1 -0
  83. package/dist/ai-gateway/ir/types.d.ts +77 -0
  84. package/dist/ai-gateway/ir/types.d.ts.map +1 -0
  85. package/dist/ai-gateway/ir/types.js +4 -0
  86. package/dist/ai-gateway/ir/types.js.map +1 -0
  87. package/dist/ai-gateway/ir-channel.d.ts +15 -0
  88. package/dist/ai-gateway/ir-channel.d.ts.map +1 -0
  89. package/dist/ai-gateway/ir-channel.js +120 -0
  90. package/dist/ai-gateway/ir-channel.js.map +1 -0
  91. package/dist/ai-gateway/model-router.d.ts +11 -0
  92. package/dist/ai-gateway/model-router.d.ts.map +1 -0
  93. package/dist/ai-gateway/model-router.js +27 -0
  94. package/dist/ai-gateway/model-router.js.map +1 -0
  95. package/dist/ai-gateway/model-router.test.d.ts +2 -0
  96. package/dist/ai-gateway/model-router.test.d.ts.map +1 -0
  97. package/dist/ai-gateway/model-router.test.js +43 -0
  98. package/dist/ai-gateway/model-router.test.js.map +1 -0
  99. package/dist/ai-gateway/passthrough.d.ts +9 -0
  100. package/dist/ai-gateway/passthrough.d.ts.map +1 -0
  101. package/dist/ai-gateway/passthrough.js +81 -0
  102. package/dist/ai-gateway/passthrough.js.map +1 -0
  103. package/dist/ai-gateway/passthrough.test.d.ts +2 -0
  104. package/dist/ai-gateway/passthrough.test.d.ts.map +1 -0
  105. package/dist/ai-gateway/passthrough.test.js +108 -0
  106. package/dist/ai-gateway/passthrough.test.js.map +1 -0
  107. package/dist/ai-gateway/upstream/model-lister.d.ts +13 -0
  108. package/dist/ai-gateway/upstream/model-lister.d.ts.map +1 -0
  109. package/dist/ai-gateway/upstream/model-lister.js +61 -0
  110. package/dist/ai-gateway/upstream/model-lister.js.map +1 -0
  111. package/dist/ai-gateway/upstream/provider-client.d.ts +20 -0
  112. package/dist/ai-gateway/upstream/provider-client.d.ts.map +1 -0
  113. package/dist/ai-gateway/upstream/provider-client.js +76 -0
  114. package/dist/ai-gateway/upstream/provider-client.js.map +1 -0
  115. package/dist/ai-gateway/upstream/provider-client.test.d.ts +2 -0
  116. package/dist/ai-gateway/upstream/provider-client.test.d.ts.map +1 -0
  117. package/dist/ai-gateway/upstream/provider-client.test.js +69 -0
  118. package/dist/ai-gateway/upstream/provider-client.test.js.map +1 -0
  119. package/dist/cli/cli-main.d.ts +7 -0
  120. package/dist/cli/cli-main.d.ts.map +1 -0
  121. package/dist/cli/cli-main.js +116 -0
  122. package/dist/cli/cli-main.js.map +1 -0
  123. package/dist/cli/cli-router.d.ts +20 -0
  124. package/dist/cli/cli-router.d.ts.map +1 -0
  125. package/dist/cli/cli-router.js +271 -0
  126. package/dist/cli/cli-router.js.map +1 -0
  127. package/dist/cli/cli-utils.d.ts +30 -0
  128. package/dist/cli/cli-utils.d.ts.map +1 -0
  129. package/dist/cli/cli-utils.js +219 -0
  130. package/dist/cli/cli-utils.js.map +1 -0
  131. package/dist/cli/commands/audit-commands.d.ts +30 -0
  132. package/dist/cli/commands/audit-commands.d.ts.map +1 -0
  133. package/dist/cli/commands/audit-commands.js +417 -0
  134. package/dist/cli/commands/audit-commands.js.map +1 -0
  135. package/dist/cli/commands/autostart-command.d.ts +21 -0
  136. package/dist/cli/commands/autostart-command.d.ts.map +1 -0
  137. package/dist/cli/commands/autostart-command.js +243 -0
  138. package/dist/cli/commands/autostart-command.js.map +1 -0
  139. package/dist/cli/commands/autostart-command.test.d.ts +2 -0
  140. package/dist/cli/commands/autostart-command.test.d.ts.map +1 -0
  141. package/dist/cli/commands/autostart-command.test.js +35 -0
  142. package/dist/cli/commands/autostart-command.test.js.map +1 -0
  143. package/dist/cli/commands/config-commands.d.ts +30 -0
  144. package/dist/cli/commands/config-commands.d.ts.map +1 -0
  145. package/dist/cli/commands/config-commands.js +1013 -0
  146. package/dist/cli/commands/config-commands.js.map +1 -0
  147. package/dist/cli/commands/daemon-commands.d.ts +76 -0
  148. package/dist/cli/commands/daemon-commands.d.ts.map +1 -0
  149. package/dist/cli/commands/daemon-commands.js +451 -0
  150. package/dist/cli/commands/daemon-commands.js.map +1 -0
  151. package/dist/cli/commands/detect-commands.d.ts +17 -0
  152. package/dist/cli/commands/detect-commands.d.ts.map +1 -0
  153. package/dist/cli/commands/detect-commands.js +293 -0
  154. package/dist/cli/commands/detect-commands.js.map +1 -0
  155. package/dist/cli/commands/diagnose-commands.d.ts +19 -0
  156. package/dist/cli/commands/diagnose-commands.d.ts.map +1 -0
  157. package/dist/cli/commands/diagnose-commands.js +326 -0
  158. package/dist/cli/commands/diagnose-commands.js.map +1 -0
  159. package/dist/cli/commands/optimize-commands.d.ts +14 -0
  160. package/dist/cli/commands/optimize-commands.d.ts.map +1 -0
  161. package/dist/cli/commands/optimize-commands.js +189 -0
  162. package/dist/cli/commands/optimize-commands.js.map +1 -0
  163. package/dist/cli/commands/proxy-command.d.ts +27 -0
  164. package/dist/cli/commands/proxy-command.d.ts.map +1 -0
  165. package/dist/cli/commands/proxy-command.js +212 -0
  166. package/dist/cli/commands/proxy-command.js.map +1 -0
  167. package/dist/cli/commands/start-command.d.ts +22 -0
  168. package/dist/cli/commands/start-command.d.ts.map +1 -0
  169. package/dist/cli/commands/start-command.js +275 -0
  170. package/dist/cli/commands/start-command.js.map +1 -0
  171. package/dist/config/config-manager.d.ts +125 -0
  172. package/dist/config/config-manager.d.ts.map +1 -0
  173. package/dist/config/config-manager.js +569 -0
  174. package/dist/config/config-manager.js.map +1 -0
  175. package/dist/config/config-manager.test.d.ts +2 -0
  176. package/dist/config/config-manager.test.d.ts.map +1 -0
  177. package/dist/config/config-manager.test.js +209 -0
  178. package/dist/config/config-manager.test.js.map +1 -0
  179. package/dist/core/auto-config-generator.d.ts +55 -0
  180. package/dist/core/auto-config-generator.d.ts.map +1 -0
  181. package/dist/core/auto-config-generator.js +278 -0
  182. package/dist/core/auto-config-generator.js.map +1 -0
  183. package/dist/core/mcpdog-server.d.ts +49 -0
  184. package/dist/core/mcpdog-server.d.ts.map +1 -0
  185. package/dist/core/mcpdog-server.js +552 -0
  186. package/dist/core/mcpdog-server.js.map +1 -0
  187. package/dist/core/protocol-detector.d.ts +56 -0
  188. package/dist/core/protocol-detector.d.ts.map +1 -0
  189. package/dist/core/protocol-detector.js +365 -0
  190. package/dist/core/protocol-detector.js.map +1 -0
  191. package/dist/daemon/daemon-client.d.ts +34 -0
  192. package/dist/daemon/daemon-client.d.ts.map +1 -0
  193. package/dist/daemon/daemon-client.js +130 -0
  194. package/dist/daemon/daemon-client.js.map +1 -0
  195. package/dist/daemon/daemon-client.test.d.ts +2 -0
  196. package/dist/daemon/daemon-client.test.d.ts.map +1 -0
  197. package/dist/daemon/daemon-client.test.js +77 -0
  198. package/dist/daemon/daemon-client.test.js.map +1 -0
  199. package/dist/daemon/daemon-info.d.ts +7 -0
  200. package/dist/daemon/daemon-info.d.ts.map +1 -0
  201. package/dist/daemon/daemon-info.js +34 -0
  202. package/dist/daemon/daemon-info.js.map +1 -0
  203. package/dist/daemon/daemon-info.test.d.ts +2 -0
  204. package/dist/daemon/daemon-info.test.d.ts.map +1 -0
  205. package/dist/daemon/daemon-info.test.js +57 -0
  206. package/dist/daemon/daemon-info.test.js.map +1 -0
  207. package/dist/daemon/daemon-web-server.ai.test.d.ts +2 -0
  208. package/dist/daemon/daemon-web-server.ai.test.d.ts.map +1 -0
  209. package/dist/daemon/daemon-web-server.ai.test.js +119 -0
  210. package/dist/daemon/daemon-web-server.ai.test.js.map +1 -0
  211. package/dist/daemon/daemon-web-server.d.ts +59 -0
  212. package/dist/daemon/daemon-web-server.d.ts.map +1 -0
  213. package/dist/daemon/daemon-web-server.js +1236 -0
  214. package/dist/daemon/daemon-web-server.js.map +1 -0
  215. package/dist/daemon/daemon-web-server.test.d.ts +2 -0
  216. package/dist/daemon/daemon-web-server.test.d.ts.map +1 -0
  217. package/dist/daemon/daemon-web-server.test.js +93 -0
  218. package/dist/daemon/daemon-web-server.test.js.map +1 -0
  219. package/dist/daemon/mcpdog-daemon.d.ts +42 -0
  220. package/dist/daemon/mcpdog-daemon.d.ts.map +1 -0
  221. package/dist/daemon/mcpdog-daemon.js +302 -0
  222. package/dist/daemon/mcpdog-daemon.js.map +1 -0
  223. package/dist/daemon/stdio-proxy.d.ts +17 -0
  224. package/dist/daemon/stdio-proxy.d.ts.map +1 -0
  225. package/dist/daemon/stdio-proxy.js +143 -0
  226. package/dist/daemon/stdio-proxy.js.map +1 -0
  227. package/dist/index.d.ts +14 -0
  228. package/dist/index.d.ts.map +1 -0
  229. package/dist/index.js +198 -0
  230. package/dist/index.js.map +1 -0
  231. package/dist/intent-analyzer.d.ts +27 -0
  232. package/dist/intent-analyzer.d.ts.map +1 -0
  233. package/dist/intent-analyzer.js +140 -0
  234. package/dist/intent-analyzer.js.map +1 -0
  235. package/dist/logging/server-log-manager.d.ts +75 -0
  236. package/dist/logging/server-log-manager.d.ts.map +1 -0
  237. package/dist/logging/server-log-manager.js +185 -0
  238. package/dist/logging/server-log-manager.js.map +1 -0
  239. package/dist/mcp-registry.d.ts +35 -0
  240. package/dist/mcp-registry.d.ts.map +1 -0
  241. package/dist/mcp-registry.js +166 -0
  242. package/dist/mcp-registry.js.map +1 -0
  243. package/dist/middleware/auth.d.ts +5 -0
  244. package/dist/middleware/auth.d.ts.map +1 -0
  245. package/dist/middleware/auth.js +81 -0
  246. package/dist/middleware/auth.js.map +1 -0
  247. package/dist/mock-tool-database.d.ts +41 -0
  248. package/dist/mock-tool-database.d.ts.map +1 -0
  249. package/dist/mock-tool-database.js +461 -0
  250. package/dist/mock-tool-database.js.map +1 -0
  251. package/dist/proxy-server-manager.d.ts +11 -0
  252. package/dist/proxy-server-manager.d.ts.map +1 -0
  253. package/dist/proxy-server-manager.js +144 -0
  254. package/dist/proxy-server-manager.js.map +1 -0
  255. package/dist/router/tool-router.d.ts +61 -0
  256. package/dist/router/tool-router.d.ts.map +1 -0
  257. package/dist/router/tool-router.js +539 -0
  258. package/dist/router/tool-router.js.map +1 -0
  259. package/dist/router/tool-router.test.d.ts +2 -0
  260. package/dist/router/tool-router.test.d.ts.map +1 -0
  261. package/dist/router/tool-router.test.js +113 -0
  262. package/dist/router/tool-router.test.js.map +1 -0
  263. package/dist/streamable-http-server.d.ts +27 -0
  264. package/dist/streamable-http-server.d.ts.map +1 -0
  265. package/dist/streamable-http-server.js +302 -0
  266. package/dist/streamable-http-server.js.map +1 -0
  267. package/dist/tool-finder.d.ts +21 -0
  268. package/dist/tool-finder.d.ts.map +1 -0
  269. package/dist/tool-finder.js +86 -0
  270. package/dist/tool-finder.js.map +1 -0
  271. package/dist/tool-recommender.d.ts +23 -0
  272. package/dist/tool-recommender.d.ts.map +1 -0
  273. package/dist/tool-recommender.js +200 -0
  274. package/dist/tool-recommender.js.map +1 -0
  275. package/dist/types/index.d.ts +145 -0
  276. package/dist/types/index.d.ts.map +1 -0
  277. package/dist/types/index.js +2 -0
  278. package/dist/types/index.js.map +1 -0
  279. package/dist/utils/server-name-validator.d.ts +47 -0
  280. package/dist/utils/server-name-validator.d.ts.map +1 -0
  281. package/dist/utils/server-name-validator.js +156 -0
  282. package/dist/utils/server-name-validator.js.map +1 -0
  283. package/dist/web/web-server.d.ts +44 -0
  284. package/dist/web/web-server.d.ts.map +1 -0
  285. package/dist/web/web-server.js +500 -0
  286. package/dist/web/web-server.js.map +1 -0
  287. package/package.json +68 -0
  288. package/web/dist/assets/index-DMVhVtNU.css +1 -0
  289. package/web/dist/assets/index-VMXIgcOH.js +92 -0
  290. package/web/dist/assets/index-VMXIgcOH.js.map +1 -0
  291. package/web/dist/index.html +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/config-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Daemon-related commands
3
+ */
4
+ export declare class DaemonCommands {
5
+ private configManager;
6
+ private mcpdogDir;
7
+ constructor(configPath?: string);
8
+ /**
9
+ * Ensure ~/.mcpdog directory exists
10
+ */
11
+ private ensureMCPDogDir;
12
+ /**
13
+ * Get default PID file path in ~/.mcpdog directory
14
+ */
15
+ private getDefaultPidFile;
16
+ /**
17
+ * Check if a port is available
18
+ */
19
+ private isPortAvailable;
20
+ /**
21
+ * Find an available port starting from the given port
22
+ */
23
+ private findAvailablePort;
24
+ /**
25
+ * Reserve a port by actually binding to it
26
+ */
27
+ private reservePort;
28
+ start(args: string[], options: any): Promise<void>;
29
+ stop(args: string[], options: any): Promise<void>;
30
+ restart(args: string[], options: any): Promise<void>;
31
+ private stopDaemonByPid;
32
+ status(args: string[], options: any): Promise<void>;
33
+ private displayFriendlyStatus;
34
+ private displayConnectionError;
35
+ private formatUptime;
36
+ reload(args: string[], options: any): Promise<void>;
37
+ private getDaemonInfoFromFile;
38
+ private getPidFromFile;
39
+ private readPackageVersion;
40
+ getCommands(): {
41
+ 'daemon:start': {
42
+ description: string;
43
+ handler: (args: string[], options: any) => Promise<void>;
44
+ options: {
45
+ 'web-port': string;
46
+ 'pid-file': string;
47
+ };
48
+ };
49
+ 'daemon:stop': {
50
+ description: string;
51
+ handler: (args: string[], options: any) => Promise<void>;
52
+ options: {
53
+ 'pid-file': string;
54
+ };
55
+ };
56
+ 'daemon:restart': {
57
+ description: string;
58
+ handler: (args: string[], options: any) => Promise<void>;
59
+ options: {
60
+ 'web-port': string;
61
+ 'pid-file': string;
62
+ };
63
+ };
64
+ 'daemon:status': {
65
+ description: string;
66
+ handler: (args: string[], options: any) => Promise<void>;
67
+ options: {};
68
+ };
69
+ 'daemon:reload': {
70
+ description: string;
71
+ handler: (args: string[], options: any) => Promise<void>;
72
+ options: {};
73
+ };
74
+ };
75
+ }
76
+ //# sourceMappingURL=daemon-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/daemon-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,qBAAa,cAAc;IACzB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAS;gBAEd,UAAU,CAAC,EAAE,MAAM;IAM/B;;OAEG;YACW,eAAe;IAQ7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;YACW,eAAe;IAa7B;;OAEG;YACW,iBAAiB;IAU/B;;OAEG;YACW,WAAW;IAanB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA8HlD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;YA4B5C,eAAe;IAqBvB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BzD,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,YAAY;IAad,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;YA6B3C,qBAAqB;YAIrB,cAAc;IAM5B,OAAO,CAAC,kBAAkB;IAU1B,WAAW;;;4BA1WO,MAAM,EAAE,WAAW,GAAG,KAAG,OAAO,CAAC,IAAI,CAAC;;;;;;;;4BA8HvC,MAAM,EAAE,WAAW,GAAG,KAAG,OAAO,CAAC,IAAI,CAAC;;;;;;;4BA4BnC,MAAM,EAAE,WAAW,GAAG,KAAG,OAAO,CAAC,IAAI,CAAC;;;;;;;;4BAiDvC,MAAM,EAAE,WAAW,GAAG,KAAG,OAAO,CAAC,IAAI,CAAC;;;;;4BA8GtC,MAAM,EAAE,WAAW,GAAG,KAAG,OAAO,CAAC,IAAI,CAAC;;;;CAsF1D"}
@@ -0,0 +1,451 @@
1
+ /**
2
+ * Daemon-related commands
3
+ */
4
+ import { CLIUtils } from '../cli-utils.js';
5
+ import { ConfigManager } from '../../config/config-manager.js';
6
+ import { MCPDogDaemon } from '../../daemon/mcpdog-daemon.js';
7
+ import { DaemonClient } from '../../daemon/daemon-client.js';
8
+ import { readDaemonInfo } from '../../daemon/daemon-info.js';
9
+ import fs from 'fs/promises';
10
+ import { readFileSync } from 'fs';
11
+ import path from 'path';
12
+ import { fileURLToPath } from 'url';
13
+ import { createServer } from 'net';
14
+ import os from 'os';
15
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
16
+ export class DaemonCommands {
17
+ configManager;
18
+ mcpdogDir;
19
+ constructor(configPath) {
20
+ this.configManager = new ConfigManager(configPath);
21
+ // Create ~/.mcpdog directory for PID files and configs
22
+ this.mcpdogDir = path.join(os.homedir(), '.mcpdog');
23
+ }
24
+ /**
25
+ * Ensure ~/.mcpdog directory exists
26
+ */
27
+ async ensureMCPDogDir() {
28
+ try {
29
+ await fs.mkdir(this.mcpdogDir, { recursive: true });
30
+ }
31
+ catch (error) {
32
+ // Directory already exists or cannot be created
33
+ }
34
+ }
35
+ /**
36
+ * Get default PID file path in ~/.mcpdog directory
37
+ */
38
+ getDefaultPidFile() {
39
+ return path.join(this.mcpdogDir, 'mcpdog.pid');
40
+ }
41
+ /**
42
+ * Check if a port is available
43
+ */
44
+ async isPortAvailable(port) {
45
+ return new Promise((resolve) => {
46
+ const server = createServer();
47
+ server.listen(port, 'localhost', () => {
48
+ server.close();
49
+ resolve(true);
50
+ });
51
+ server.on('error', () => {
52
+ resolve(false);
53
+ });
54
+ });
55
+ }
56
+ /**
57
+ * Find an available port starting from the given port
58
+ */
59
+ async findAvailablePort(startPort, maxAttempts = 10) {
60
+ for (let i = 0; i < maxAttempts; i++) {
61
+ const port = startPort + i;
62
+ if (await this.isPortAvailable(port)) {
63
+ return port;
64
+ }
65
+ }
66
+ throw new Error(`No available port found starting from ${startPort} (tried ${maxAttempts} ports)`);
67
+ }
68
+ /**
69
+ * Reserve a port by actually binding to it
70
+ */
71
+ async reservePort(port) {
72
+ return new Promise((resolve) => {
73
+ const server = createServer();
74
+ server.listen(port, 'localhost', () => {
75
+ // Keep the server running to reserve the port
76
+ resolve(true);
77
+ });
78
+ server.on('error', () => {
79
+ resolve(false);
80
+ });
81
+ });
82
+ }
83
+ async start(args, options) {
84
+ if (options['daemon-port']) {
85
+ CLIUtils.error('--daemon-port has been removed: daemon IPC has been merged into the Web port. ' +
86
+ 'Use --web-port instead (or rely on the persisted web.port config).');
87
+ process.exit(1);
88
+ }
89
+ let webPort = parseInt(options['web-port']);
90
+ const explicitWebPort = !isNaN(webPort) && webPort > 0;
91
+ const pidFile = options['pid-file'] || this.getDefaultPidFile();
92
+ // 本实例独立于 cli-router 的 ConfigManager,必须自行加载配置:
93
+ // 否则 getWebPort 恒为 null、setWebPort 会以未加载的默认配置覆写用户配置
94
+ await this.configManager.loadConfig();
95
+ try {
96
+ // Ensure ~/.mcpdog directory exists
97
+ await this.ensureMCPDogDir();
98
+ // Check if daemon is already running;版本不同(或旧格式 PID 文件无版本信息)时自动升级重启
99
+ const runningInfo = await this.getDaemonInfoFromFile(pidFile);
100
+ if (runningInfo) {
101
+ let running = false;
102
+ try {
103
+ process.kill(runningInfo.pid, 0);
104
+ running = true;
105
+ }
106
+ catch {
107
+ running = false;
108
+ }
109
+ if (running) {
110
+ const currentVersion = this.readPackageVersion();
111
+ const runningVersion = runningInfo.version;
112
+ if (runningVersion && runningVersion === currentVersion) {
113
+ CLIUtils.error(`Daemon is already running (PID: ${runningInfo.pid}, v${runningVersion})`);
114
+ process.exit(1);
115
+ }
116
+ CLIUtils.info(`Detected running daemon v${runningVersion ?? 'unknown (old format)'} (PID: ${runningInfo.pid}), upgrading to v${currentVersion}...`);
117
+ await this.stopDaemonByPid(runningInfo.pid);
118
+ try {
119
+ await fs.unlink(pidFile);
120
+ }
121
+ catch {
122
+ // PID 文件不存在则忽略
123
+ }
124
+ CLIUtils.success(`Old daemon stopped, starting v${currentVersion}...`);
125
+ }
126
+ }
127
+ // Web 端口决策链:显式 --web-port(用后保存)> 配置保存值 > 默认 61125
128
+ if (explicitWebPort) {
129
+ // 显式指定:记住该设置,之后启动不再需要传参
130
+ await this.configManager.setWebPort(webPort);
131
+ CLIUtils.info(`Web port saved to config: ${webPort}`);
132
+ }
133
+ else {
134
+ // 未显式指定:用保存值或默认值探测可用端口;探测漂移值不回写,避免污染保存值
135
+ const desired = this.configManager.getWebPort() ?? 61125;
136
+ webPort = await this.findAvailablePort(desired);
137
+ CLIUtils.info(`Auto-detected available web port: ${webPort}`);
138
+ }
139
+ // AI 网关端口:显式 --gateway-port 时持久化并启用网关(复用 --web-port 决策链模式)
140
+ const gatewayPort = parseInt(options['gateway-port']);
141
+ if (!isNaN(gatewayPort) && gatewayPort > 0) {
142
+ const gatewayCfg = this.configManager.getAIGatewayConfig() || {
143
+ enabled: true, port: gatewayPort, host: '127.0.0.1', apiKey: '',
144
+ };
145
+ gatewayCfg.enabled = true;
146
+ gatewayCfg.port = gatewayPort;
147
+ await this.configManager.setAIGateway(gatewayCfg);
148
+ CLIUtils.info(`AI gateway enabled, port saved to config: ${gatewayPort}`);
149
+ }
150
+ const daemon = new MCPDogDaemon({
151
+ configPath: this.configManager.getConfigPath(),
152
+ webPort,
153
+ pidFile
154
+ });
155
+ // Set up signal handling
156
+ process.on('SIGINT', async () => {
157
+ CLIUtils.info('Received stop signal, shutting down daemon...');
158
+ await daemon.stop();
159
+ process.exit(0);
160
+ });
161
+ process.on('SIGTERM', async () => {
162
+ await daemon.stop();
163
+ process.exit(0);
164
+ });
165
+ await daemon.start();
166
+ // Always start web server now (default behavior)
167
+ try {
168
+ await daemon.startWebServer(webPort);
169
+ CLIUtils.success(`Web interface started: http://localhost:${webPort}`);
170
+ }
171
+ catch (error) {
172
+ // If the detected port is not available, try to find another one
173
+ if (error.message.includes('EADDRINUSE')) {
174
+ CLIUtils.warn(`Port ${webPort} is not available, trying to find another port...`);
175
+ const newPort = await this.findAvailablePort(webPort + 1);
176
+ await daemon.startWebServer(newPort);
177
+ CLIUtils.success(`Web interface started: http://localhost:${newPort}`);
178
+ webPort = newPort;
179
+ }
180
+ else {
181
+ throw error;
182
+ }
183
+ }
184
+ CLIUtils.success(`MCPDog daemon started (PID: ${process.pid})`);
185
+ CLIUtils.info(`Web interface: http://localhost:${webPort}`);
186
+ CLIUtils.info(`Config file: ${this.configManager.getConfigPath()}`);
187
+ CLIUtils.info('Press Ctrl+C to stop daemon');
188
+ // Keep process running
189
+ await new Promise(() => { });
190
+ }
191
+ catch (error) {
192
+ CLIUtils.error('Failed to start daemon:', error.message);
193
+ process.exit(1);
194
+ }
195
+ }
196
+ async stop(args, options) {
197
+ const pidFile = options['pid-file'] || this.getDefaultPidFile();
198
+ try {
199
+ const pid = await this.getPidFromFile(pidFile);
200
+ if (!pid) {
201
+ CLIUtils.error('No running daemon found');
202
+ process.exit(1);
203
+ }
204
+ await this.stopDaemonByPid(pid);
205
+ // Clean up PID file
206
+ try {
207
+ await fs.unlink(pidFile);
208
+ }
209
+ catch (error) {
210
+ // Ignore errors
211
+ }
212
+ CLIUtils.success('Daemon stopped');
213
+ }
214
+ catch (error) {
215
+ CLIUtils.error('Failed to stop daemon:', error.message);
216
+ process.exit(1);
217
+ }
218
+ }
219
+ // 重启 daemon:先停掉正在运行的实例(若有),再按 start 流程启动
220
+ async restart(args, options) {
221
+ const pidFile = options['pid-file'] || this.getDefaultPidFile();
222
+ const info = await this.getDaemonInfoFromFile(pidFile);
223
+ if (info) {
224
+ let running = false;
225
+ try {
226
+ process.kill(info.pid, 0);
227
+ running = true;
228
+ }
229
+ catch {
230
+ running = false;
231
+ }
232
+ if (running) {
233
+ CLIUtils.info(`Stopping daemon (PID: ${info.pid})...`);
234
+ await this.stopDaemonByPid(info.pid);
235
+ try {
236
+ await fs.unlink(pidFile);
237
+ }
238
+ catch {
239
+ // PID 文件不存在则忽略
240
+ }
241
+ CLIUtils.success('Daemon stopped');
242
+ }
243
+ }
244
+ await this.start(args, options);
245
+ }
246
+ // 停止指定 PID 的 daemon:SIGTERM 优雅退出,超时 SIGKILL 兜底
247
+ async stopDaemonByPid(pid) {
248
+ process.kill(pid, 'SIGTERM');
249
+ let attempts = 0;
250
+ while (attempts < 30) {
251
+ try {
252
+ process.kill(pid, 0); // Check if process still exists
253
+ await new Promise(resolve => setTimeout(resolve, 1000));
254
+ attempts++;
255
+ }
256
+ catch (error) {
257
+ // Process has stopped
258
+ break;
259
+ }
260
+ }
261
+ if (attempts >= 30) {
262
+ CLIUtils.warn('Daemon did not stop within expected time, forcing termination...');
263
+ process.kill(pid, 'SIGKILL');
264
+ }
265
+ }
266
+ async status(args, options) {
267
+ if (options['daemon-port']) {
268
+ CLIUtils.error('--daemon-port has been removed: daemon IPC has been merged into the Web port.');
269
+ process.exit(1);
270
+ }
271
+ await this.configManager.loadConfig();
272
+ const port = this.configManager.getWebPort() ?? 61125;
273
+ try {
274
+ // 旧 status 有 5s 超时;新客户端 requestTimeoutMs 默认 120s,对 CLI 状态查询过长,显式收窄。
275
+ // connectAttempts/connectIntervalMs 仅在调 connect() 时生效,此处未调,无需传。
276
+ const client = new DaemonClient({
277
+ baseUrl: `http://localhost:${port}`,
278
+ clientType: 'cli',
279
+ silent: true,
280
+ requestTimeoutMs: 5000
281
+ });
282
+ const status = await client.getStatus();
283
+ this.displayFriendlyStatus(status, port);
284
+ process.exit(0);
285
+ }
286
+ catch (error) {
287
+ this.displayConnectionError(error, port);
288
+ }
289
+ }
290
+ displayFriendlyStatus(status, port) {
291
+ const daemon = status.daemon || {};
292
+ const mcpServer = status.mcpServer || {};
293
+ const servers = status.servers || [];
294
+ console.log(`
295
+ ✅ ${CLIUtils.colorize('MCPDog daemon is running', 'green')}
296
+
297
+ ${CLIUtils.colorize('Daemon Info:', 'cyan')}
298
+ 🌐 Web port: ${port}
299
+ ⏱️ Uptime: ${this.formatUptime(daemon.uptime || 0)}
300
+ 👥 Connected clients: ${daemon.clients?.length || 0}
301
+
302
+ ${CLIUtils.colorize('MCP Server Status:', 'cyan')}
303
+ 🚀 Initialized: ${mcpServer.initialized ? '✅ Yes' : '❌ No'}
304
+ 🎯 Client: ${mcpServer.client?.clientName || 'Unknown'} v${mcpServer.client?.clientVersion || 'Unknown'}
305
+
306
+ ${CLIUtils.colorize('MCP Servers:', 'cyan')}`);
307
+ if (servers.length === 0) {
308
+ console.log(' 📭 No MCP servers configured');
309
+ }
310
+ else {
311
+ servers.forEach((server) => {
312
+ const status = server.connected ? '✅' : '❌';
313
+ const toolCount = server.toolCount || 0;
314
+ console.log(` ${status} ${server.name} (${toolCount} tools)`);
315
+ });
316
+ }
317
+ if (daemon.clients && daemon.clients.length > 0) {
318
+ console.log(`\n${CLIUtils.colorize('Active Clients:', 'cyan')}`);
319
+ daemon.clients.forEach((client) => {
320
+ const lastSeen = new Date(client.lastSeen);
321
+ const timeDiff = Math.round((Date.now() - lastSeen.getTime()) / 1000);
322
+ console.log(` 📱 ${client.type} (last active: ${timeDiff}s ago)`);
323
+ });
324
+ }
325
+ console.log(`
326
+ ${CLIUtils.colorize('Management:', 'cyan')}
327
+ 🌐 Web interface: Check with 'agentdog start --web-port 61125'
328
+ 🔄 Reload config: agentdog daemon reload
329
+ 🛑 Stop daemon: agentdog stop
330
+ `);
331
+ }
332
+ displayConnectionError(error, port) {
333
+ console.log(`
334
+ ❌ ${CLIUtils.colorize('Cannot connect to MCPDog daemon', 'red')}
335
+
336
+ ${CLIUtils.colorize('Connection Details:', 'yellow')}
337
+ • Port: ${port}
338
+ • Error: ${error.message}
339
+
340
+ ${CLIUtils.colorize('Possible Solutions:', 'yellow')}
341
+ 1. Start the daemon:
342
+ agentdog start --config your-config.json
343
+
344
+ 2. Check if daemon is running:
345
+ ps aux | grep mcpdog
346
+
347
+ 3. Check web port conflicts:
348
+ lsof -i :${port}
349
+
350
+ ${CLIUtils.colorize('Quick Start:', 'cyan')}
351
+ agentdog start --config simple-config.json --web-port 61125
352
+ `);
353
+ process.exit(1);
354
+ }
355
+ formatUptime(seconds) {
356
+ if (seconds < 60) {
357
+ return `${Math.round(seconds)}s`;
358
+ }
359
+ else if (seconds < 3600) {
360
+ const minutes = Math.round(seconds / 60);
361
+ return `${minutes}m`;
362
+ }
363
+ else {
364
+ const hours = Math.round(seconds / 3600);
365
+ const minutes = Math.round((seconds % 3600) / 60);
366
+ return `${hours}h ${minutes}m`;
367
+ }
368
+ }
369
+ async reload(args, options) {
370
+ if (options['daemon-port']) {
371
+ CLIUtils.error('--daemon-port has been removed: daemon IPC has been merged into the Web port.');
372
+ process.exit(1);
373
+ }
374
+ await this.configManager.loadConfig();
375
+ const port = this.configManager.getWebPort() ?? 61125;
376
+ try {
377
+ const client = new DaemonClient({
378
+ baseUrl: `http://localhost:${port}`,
379
+ clientType: 'cli',
380
+ silent: true,
381
+ requestTimeoutMs: 5000
382
+ });
383
+ await client.reloadConfig();
384
+ CLIUtils.success('Configuration reload requested');
385
+ process.exit(0);
386
+ }
387
+ catch (error) {
388
+ CLIUtils.error('Failed to connect to daemon:', error.message);
389
+ process.exit(1);
390
+ }
391
+ }
392
+ // 读取 PID 文件,兼容两种格式:
393
+ // 新格式:{"pid":123,"version":"1.0.4"}(含版本号,用于升级检测)
394
+ // 旧格式:纯数字 PID(无版本信息)
395
+ async getDaemonInfoFromFile(pidFile) {
396
+ return readDaemonInfo(pidFile);
397
+ }
398
+ async getPidFromFile(pidFile) {
399
+ const info = await this.getDaemonInfoFromFile(pidFile);
400
+ return info?.pid ?? null;
401
+ }
402
+ // 读取当前包版本号(src/cli/commands 与 dist/cli/commands 均为三层到包根)
403
+ readPackageVersion() {
404
+ try {
405
+ const packagePath = path.join(__dirname, '../../../package.json');
406
+ const packageJson = JSON.parse(readFileSync(packagePath, 'utf-8'));
407
+ return packageJson.version || 'unknown';
408
+ }
409
+ catch (error) {
410
+ return 'unknown';
411
+ }
412
+ }
413
+ getCommands() {
414
+ return {
415
+ 'daemon:start': {
416
+ description: 'Start MCPDog daemon',
417
+ handler: this.start.bind(this),
418
+ options: {
419
+ 'web-port': 'Enable Web interface port',
420
+ 'pid-file': 'PID file path'
421
+ }
422
+ },
423
+ 'daemon:stop': {
424
+ description: 'Stop MCPDog daemon',
425
+ handler: this.stop.bind(this),
426
+ options: {
427
+ 'pid-file': 'PID file path'
428
+ }
429
+ },
430
+ 'daemon:restart': {
431
+ description: 'Restart MCPDog daemon',
432
+ handler: this.restart.bind(this),
433
+ options: {
434
+ 'web-port': 'Enable Web interface port',
435
+ 'pid-file': 'PID file path'
436
+ }
437
+ },
438
+ 'daemon:status': {
439
+ description: 'Check daemon status',
440
+ handler: this.status.bind(this),
441
+ options: {}
442
+ },
443
+ 'daemon:reload': {
444
+ description: 'Reload daemon configuration',
445
+ handler: this.reload.bind(this),
446
+ options: {}
447
+ }
448
+ };
449
+ }
450
+ }
451
+ //# sourceMappingURL=daemon-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-commands.js","sourceRoot":"","sources":["../../../src/cli/commands/daemon-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,OAAO,cAAc;IACjB,aAAa,CAAgB;IAC7B,SAAS,CAAS;IAE1B,YAAY,UAAmB;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;QACnD,uDAAuD;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gDAAgD;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,IAAY;QACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBACpC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,cAAsB,EAAE;QACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC;YAC3B,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,WAAW,WAAW,SAAS,CAAC,CAAC;IACrG,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,IAAY;QACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBACpC,8CAA8C;gBAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACtB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAc,EAAE,OAAY;QACtC,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,KAAK,CACZ,gFAAgF;gBAChF,oEAAoE,CACrE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEhE,8CAA8C;QAC9C,oDAAoD;QACpD,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QAEtC,IAAI,CAAC;YACH,oCAAoC;YACpC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE7B,mEAAmE;YACnE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACjC,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,KAAK,CAAC;gBAClB,CAAC;gBAED,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACjD,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC;oBAE3C,IAAI,cAAc,IAAI,cAAc,KAAK,cAAc,EAAE,CAAC;wBACxD,QAAQ,CAAC,KAAK,CAAC,mCAAmC,WAAW,CAAC,GAAG,MAAM,cAAc,GAAG,CAAC,CAAC;wBAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;oBAED,QAAQ,CAAC,IAAI,CAAC,4BAA4B,cAAc,IAAI,sBAAsB,UAAU,WAAW,CAAC,GAAG,oBAAoB,cAAc,KAAK,CAAC,CAAC;oBACpJ,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC5C,IAAI,CAAC;wBACH,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC3B,CAAC;oBAAC,MAAM,CAAC;wBACP,eAAe;oBACjB,CAAC;oBACD,QAAQ,CAAC,OAAO,CAAC,iCAAiC,cAAc,KAAK,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YAED,kDAAkD;YAClD,IAAI,eAAe,EAAE,CAAC;gBACpB,wBAAwB;gBACxB,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC;gBACzD,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAChD,QAAQ,CAAC,IAAI,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,2DAA2D;YAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,IAAI;oBAC5D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;iBAChE,CAAC;gBACF,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC1B,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC;gBAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAClD,QAAQ,CAAC,IAAI,CAAC,6CAA6C,WAAW,EAAE,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;gBAC9B,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;gBAC9C,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;YAEH,yBAAyB;YACzB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBAC9B,QAAQ,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;gBAC/D,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;gBAC/B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YAErB,iDAAiD;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBACrC,QAAQ,CAAC,OAAO,CAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iEAAiE;gBACjE,IAAK,KAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACpD,QAAQ,CAAC,IAAI,CAAC,QAAQ,OAAO,mDAAmD,CAAC,CAAC;oBAClF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBAC1D,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBACrC,QAAQ,CAAC,OAAO,CAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;oBACvE,OAAO,GAAG,OAAO,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,OAAO,CAAC,+BAA+B,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YACpE,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAE7C,uBAAuB;YACvB,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,CAAC,yBAAyB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAc,EAAE,OAAY;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEhE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAEhC,oBAAoB;YACpB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAgB;YAClB,CAAC;YAED,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAErC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,CAAC,wBAAwB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,IAAc,EAAE,OAAY;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEhE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC1B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;gBACvD,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,eAAe;gBACjB,CAAC;gBACD,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,+CAA+C;IACvC,KAAK,CAAC,eAAe,CAAC,GAAW;QACvC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAE7B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,OAAO,QAAQ,GAAG,EAAE,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,gCAAgC;gBACtD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxD,QAAQ,EAAE,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sBAAsB;gBACtB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAc,EAAE,OAAY;QACvC,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC;QAEtD,IAAI,CAAC;YACH,oEAAoE;YACpE,gEAAgE;YAChE,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;gBAC9B,OAAO,EAAE,oBAAoB,IAAI,EAAE;gBACnC,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,IAAI;gBACZ,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,sBAAsB,CAAC,KAAc,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,MAAW,EAAE,IAAY;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAErC,OAAO,CAAC,GAAG,CAAC;IACZ,QAAQ,CAAC,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAC;;EAExD,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;iBAC1B,IAAI;gBACL,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;0BAC3B,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;;EAEnD,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;oBAC7B,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;eAC7C,SAAS,CAAC,MAAM,EAAE,UAAU,IAAI,SAAS,KAAK,SAAS,CAAC,MAAM,EAAE,aAAa,IAAI,SAAS;;EAEvG,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAE3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,SAAS,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;gBACrC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,IAAI,kBAAkB,QAAQ,QAAQ,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC;EACd,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;;;;CAIzC,CAAC,CAAC;IACD,CAAC;IAEO,sBAAsB,CAAC,KAAY,EAAE,IAAY;QACvD,OAAO,CAAC,GAAG,CAAC;IACZ,QAAQ,CAAC,QAAQ,CAAC,iCAAiC,EAAE,KAAK,CAAC;;EAE7D,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,CAAC;YACxC,IAAI;aACH,KAAK,CAAC,OAAO;;EAExB,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,CAAC;;;;;;;;gBAQpC,IAAI;;EAElB,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;;CAE1C,CAAC,CAAC;QACC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAEO,YAAY,CAAC,OAAe;QAClC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACnC,CAAC;aAAM,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YACzC,OAAO,GAAG,OAAO,GAAG,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,OAAO,GAAG,KAAK,KAAK,OAAO,GAAG,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAc,EAAE,OAAY;QACvC,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC;QAEtD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;gBAC9B,OAAO,EAAE,oBAAoB,IAAI,EAAE;gBACnC,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,IAAI;gBACZ,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;YAC5B,QAAQ,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,CAAC,8BAA8B,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,iDAAiD;IACjD,qBAAqB;IACb,KAAK,CAAC,qBAAqB,CAAC,OAAe;QACjD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAe;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC;IAC3B,CAAC;IAED,yDAAyD;IACjD,kBAAkB;QACxB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,OAAO,WAAW,CAAC,OAAO,IAAI,SAAS,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO;YACL,cAAc,EAAE;gBACd,WAAW,EAAE,qBAAqB;gBAClC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9B,OAAO,EAAE;oBACP,UAAU,EAAE,2BAA2B;oBACvC,UAAU,EAAE,eAAe;iBAC5B;aACF;YACD,aAAa,EAAE;gBACb,WAAW,EAAE,oBAAoB;gBACjC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7B,OAAO,EAAE;oBACP,UAAU,EAAE,eAAe;iBAC5B;aACF;YACD,gBAAgB,EAAE;gBAChB,WAAW,EAAE,uBAAuB;gBACpC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChC,OAAO,EAAE;oBACP,UAAU,EAAE,2BAA2B;oBACvC,UAAU,EAAE,eAAe;iBAC5B;aACF;YACD,eAAe,EAAE;gBACf,WAAW,EAAE,qBAAqB;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,OAAO,EAAE,EAAE;aACZ;YACD,eAAe,EAAE;gBACf,WAAW,EAAE,6BAA6B;gBAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/B,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Protocol detection CLI commands
3
+ */
4
+ import { ConfigManager } from '../../config/config-manager.js';
5
+ export declare class DetectCommands {
6
+ private configManager;
7
+ constructor(configManager: ConfigManager);
8
+ execute(args: string[], options: Record<string, any>): Promise<void>;
9
+ private detectTarget;
10
+ private detectExistingServer;
11
+ private detectNewEndpoint;
12
+ private detectStdioCommand;
13
+ private detectAllServers;
14
+ private formatConfidence;
15
+ private showHelp;
16
+ }
17
+ //# sourceMappingURL=detect-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/detect-commands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,qBAAa,cAAc;IACb,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE1C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAkB5D,YAAY;YAyBZ,oBAAoB;YA8CpB,iBAAiB;YAwFjB,kBAAkB;YAkClB,gBAAgB;IAgF9B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,QAAQ;CA8BjB"}