sfcc-dev-mcp 1.0.21 → 1.0.22

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 (296) hide show
  1. package/README.md +79 -30
  2. package/dist/clients/agent-instructions-client.d.ts +3 -0
  3. package/dist/clients/agent-instructions-client.d.ts.map +1 -1
  4. package/dist/clients/agent-instructions-client.js +42 -10
  5. package/dist/clients/agent-instructions-client.js.map +1 -1
  6. package/dist/clients/base/abstract-documentation-client.d.ts +4 -0
  7. package/dist/clients/base/abstract-documentation-client.d.ts.map +1 -1
  8. package/dist/clients/base/abstract-documentation-client.js +9 -1
  9. package/dist/clients/base/abstract-documentation-client.js.map +1 -1
  10. package/dist/clients/base/http-client.d.ts +10 -3
  11. package/dist/clients/base/http-client.d.ts.map +1 -1
  12. package/dist/clients/base/http-client.js +94 -16
  13. package/dist/clients/base/http-client.js.map +1 -1
  14. package/dist/clients/base/oauth-token.d.ts +3 -0
  15. package/dist/clients/base/oauth-token.d.ts.map +1 -1
  16. package/dist/clients/base/oauth-token.js +23 -3
  17. package/dist/clients/base/oauth-token.js.map +1 -1
  18. package/dist/clients/base/ocapi-auth-client.d.ts.map +1 -1
  19. package/dist/clients/base/ocapi-auth-client.js +22 -2
  20. package/dist/clients/base/ocapi-auth-client.js.map +1 -1
  21. package/dist/clients/docs/class-name-resolver.d.ts +7 -4
  22. package/dist/clients/docs/class-name-resolver.d.ts.map +1 -1
  23. package/dist/clients/docs/class-name-resolver.js.map +1 -1
  24. package/dist/clients/docs/documentation-scanner.d.ts +2 -0
  25. package/dist/clients/docs/documentation-scanner.d.ts.map +1 -1
  26. package/dist/clients/docs/documentation-scanner.js +39 -17
  27. package/dist/clients/docs/documentation-scanner.js.map +1 -1
  28. package/dist/clients/docs-client.d.ts +4 -3
  29. package/dist/clients/docs-client.d.ts.map +1 -1
  30. package/dist/clients/docs-client.js.map +1 -1
  31. package/dist/clients/logs/log-client.d.ts +1 -0
  32. package/dist/clients/logs/log-client.d.ts.map +1 -1
  33. package/dist/clients/logs/log-client.js +13 -21
  34. package/dist/clients/logs/log-client.js.map +1 -1
  35. package/dist/clients/logs/log-file-discovery.d.ts +1 -0
  36. package/dist/clients/logs/log-file-discovery.d.ts.map +1 -1
  37. package/dist/clients/logs/log-file-discovery.js +19 -6
  38. package/dist/clients/logs/log-file-discovery.js.map +1 -1
  39. package/dist/clients/logs/log-file-reader.d.ts +2 -0
  40. package/dist/clients/logs/log-file-reader.d.ts.map +1 -1
  41. package/dist/clients/logs/log-file-reader.js +31 -8
  42. package/dist/clients/logs/log-file-reader.js.map +1 -1
  43. package/dist/clients/logs/log-formatter.d.ts +2 -2
  44. package/dist/clients/logs/log-formatter.d.ts.map +1 -1
  45. package/dist/clients/logs/log-formatter.js.map +1 -1
  46. package/dist/clients/logs/log-types.d.ts +4 -0
  47. package/dist/clients/logs/log-types.d.ts.map +1 -1
  48. package/dist/clients/logs/webdav-client-manager.d.ts.map +1 -1
  49. package/dist/clients/logs/webdav-client-manager.js.map +1 -1
  50. package/dist/clients/ocapi/code-versions-client.d.ts +23 -4
  51. package/dist/clients/ocapi/code-versions-client.d.ts.map +1 -1
  52. package/dist/clients/ocapi/code-versions-client.js +2 -2
  53. package/dist/clients/ocapi/code-versions-client.js.map +1 -1
  54. package/dist/clients/ocapi/site-preferences-client.d.ts +2 -42
  55. package/dist/clients/ocapi/site-preferences-client.d.ts.map +1 -1
  56. package/dist/clients/ocapi/site-preferences-client.js.map +1 -1
  57. package/dist/clients/ocapi/system-objects-client.d.ts +7 -39
  58. package/dist/clients/ocapi/system-objects-client.d.ts.map +1 -1
  59. package/dist/clients/ocapi/system-objects-client.js.map +1 -1
  60. package/dist/clients/script-debugger/script-debugger-client.d.ts +9 -1
  61. package/dist/clients/script-debugger/script-debugger-client.d.ts.map +1 -1
  62. package/dist/clients/script-debugger/script-debugger-client.js +182 -127
  63. package/dist/clients/script-debugger/script-debugger-client.js.map +1 -1
  64. package/dist/clients/sfra-client.d.ts.map +1 -1
  65. package/dist/clients/sfra-client.js.map +1 -1
  66. package/dist/config/cli-options.d.ts +16 -0
  67. package/dist/config/cli-options.d.ts.map +1 -0
  68. package/dist/config/cli-options.js +56 -0
  69. package/dist/config/cli-options.js.map +1 -0
  70. package/dist/config/configuration-factory.d.ts.map +1 -1
  71. package/dist/config/configuration-factory.js +12 -6
  72. package/dist/config/configuration-factory.js.map +1 -1
  73. package/dist/config/credential-validation.d.ts +25 -0
  74. package/dist/config/credential-validation.d.ts.map +1 -0
  75. package/dist/config/credential-validation.js +42 -0
  76. package/dist/config/credential-validation.js.map +1 -0
  77. package/dist/config/dw-json-loader.d.ts.map +1 -1
  78. package/dist/config/dw-json-loader.js +19 -68
  79. package/dist/config/dw-json-loader.js.map +1 -1
  80. package/dist/config/path-security-policy.d.ts +6 -0
  81. package/dist/config/path-security-policy.d.ts.map +1 -0
  82. package/dist/config/path-security-policy.js +63 -0
  83. package/dist/config/path-security-policy.js.map +1 -0
  84. package/dist/config/workspace-roots.d.ts +1 -0
  85. package/dist/config/workspace-roots.d.ts.map +1 -1
  86. package/dist/config/workspace-roots.js +26 -77
  87. package/dist/config/workspace-roots.js.map +1 -1
  88. package/dist/core/handlers/abstract-client-handler.d.ts +23 -2
  89. package/dist/core/handlers/abstract-client-handler.d.ts.map +1 -1
  90. package/dist/core/handlers/abstract-client-handler.js +33 -3
  91. package/dist/core/handlers/abstract-client-handler.js.map +1 -1
  92. package/dist/core/handlers/agent-instructions-handler.d.ts +1 -1
  93. package/dist/core/handlers/agent-instructions-handler.d.ts.map +1 -1
  94. package/dist/core/handlers/agent-instructions-handler.js +2 -2
  95. package/dist/core/handlers/agent-instructions-handler.js.map +1 -1
  96. package/dist/core/handlers/base-handler.d.ts +14 -11
  97. package/dist/core/handlers/base-handler.d.ts.map +1 -1
  98. package/dist/core/handlers/base-handler.js +38 -22
  99. package/dist/core/handlers/base-handler.js.map +1 -1
  100. package/dist/core/handlers/cartridge-handler.d.ts +3 -8
  101. package/dist/core/handlers/cartridge-handler.d.ts.map +1 -1
  102. package/dist/core/handlers/cartridge-handler.js +10 -18
  103. package/dist/core/handlers/cartridge-handler.js.map +1 -1
  104. package/dist/core/handlers/code-version-handler.d.ts +3 -9
  105. package/dist/core/handlers/code-version-handler.d.ts.map +1 -1
  106. package/dist/core/handlers/code-version-handler.js +10 -21
  107. package/dist/core/handlers/code-version-handler.js.map +1 -1
  108. package/dist/core/handlers/job-log-handler.d.ts +3 -9
  109. package/dist/core/handlers/job-log-handler.d.ts.map +1 -1
  110. package/dist/core/handlers/job-log-handler.js +10 -21
  111. package/dist/core/handlers/job-log-handler.js.map +1 -1
  112. package/dist/core/handlers/lifecycle-utils.d.ts +5 -0
  113. package/dist/core/handlers/lifecycle-utils.d.ts.map +1 -0
  114. package/dist/core/handlers/lifecycle-utils.js +18 -0
  115. package/dist/core/handlers/lifecycle-utils.js.map +1 -0
  116. package/dist/core/handlers/log-handler.d.ts +3 -9
  117. package/dist/core/handlers/log-handler.d.ts.map +1 -1
  118. package/dist/core/handlers/log-handler.js +10 -21
  119. package/dist/core/handlers/log-handler.js.map +1 -1
  120. package/dist/core/handlers/script-debugger-handler.d.ts +3 -9
  121. package/dist/core/handlers/script-debugger-handler.d.ts.map +1 -1
  122. package/dist/core/handlers/script-debugger-handler.js +10 -21
  123. package/dist/core/handlers/script-debugger-handler.js.map +1 -1
  124. package/dist/core/handlers/simple-client-handler.d.ts +3 -3
  125. package/dist/core/handlers/simple-client-handler.d.ts.map +1 -1
  126. package/dist/core/handlers/simple-client-handler.js +5 -3
  127. package/dist/core/handlers/simple-client-handler.js.map +1 -1
  128. package/dist/core/handlers/system-object-handler.d.ts +3 -9
  129. package/dist/core/handlers/system-object-handler.d.ts.map +1 -1
  130. package/dist/core/handlers/system-object-handler.js +10 -21
  131. package/dist/core/handlers/system-object-handler.js.map +1 -1
  132. package/dist/core/handlers/validation-helpers.d.ts +5 -26
  133. package/dist/core/handlers/validation-helpers.d.ts.map +1 -1
  134. package/dist/core/handlers/validation-helpers.js +79 -81
  135. package/dist/core/handlers/validation-helpers.js.map +1 -1
  136. package/dist/core/instruction-advisor.d.ts +3 -0
  137. package/dist/core/instruction-advisor.d.ts.map +1 -1
  138. package/dist/core/instruction-advisor.js +25 -2
  139. package/dist/core/instruction-advisor.js.map +1 -1
  140. package/dist/core/server-tool-call-lifecycle.d.ts +38 -0
  141. package/dist/core/server-tool-call-lifecycle.d.ts.map +1 -0
  142. package/dist/core/server-tool-call-lifecycle.js +128 -0
  143. package/dist/core/server-tool-call-lifecycle.js.map +1 -0
  144. package/dist/core/server-tool-catalog.d.ts +19 -0
  145. package/dist/core/server-tool-catalog.d.ts.map +1 -0
  146. package/dist/core/server-tool-catalog.js +52 -0
  147. package/dist/core/server-tool-catalog.js.map +1 -0
  148. package/dist/core/server-workspace-discovery.d.ts +38 -0
  149. package/dist/core/server-workspace-discovery.d.ts.map +1 -0
  150. package/dist/core/server-workspace-discovery.js +68 -0
  151. package/dist/core/server-workspace-discovery.js.map +1 -0
  152. package/dist/core/server.d.ts +27 -3
  153. package/dist/core/server.d.ts.map +1 -1
  154. package/dist/core/server.js +247 -165
  155. package/dist/core/server.js.map +1 -1
  156. package/dist/core/tool-argument-validator.d.ts +24 -0
  157. package/dist/core/tool-argument-validator.d.ts.map +1 -0
  158. package/dist/core/tool-argument-validator.js +186 -0
  159. package/dist/core/tool-argument-validator.js.map +1 -0
  160. package/dist/core/tool-error-response.d.ts +21 -0
  161. package/dist/core/tool-error-response.d.ts.map +1 -0
  162. package/dist/core/tool-error-response.js +64 -0
  163. package/dist/core/tool-error-response.js.map +1 -0
  164. package/dist/core/tool-schemas/agent-instruction-tools.d.ts +4 -0
  165. package/dist/core/tool-schemas/agent-instruction-tools.d.ts.map +1 -1
  166. package/dist/core/tool-schemas/agent-instruction-tools.js +6 -2
  167. package/dist/core/tool-schemas/agent-instruction-tools.js.map +1 -1
  168. package/dist/core/tool-schemas/cartridge-tools.d.ts +3 -0
  169. package/dist/core/tool-schemas/cartridge-tools.d.ts.map +1 -1
  170. package/dist/core/tool-schemas/cartridge-tools.js +3 -0
  171. package/dist/core/tool-schemas/cartridge-tools.js.map +1 -1
  172. package/dist/core/tool-schemas/code-version-tools.d.ts +1 -0
  173. package/dist/core/tool-schemas/code-version-tools.d.ts.map +1 -1
  174. package/dist/core/tool-schemas/code-version-tools.js +1 -0
  175. package/dist/core/tool-schemas/code-version-tools.js.map +1 -1
  176. package/dist/core/tool-schemas/documentation-tools.d.ts +6 -0
  177. package/dist/core/tool-schemas/documentation-tools.d.ts.map +1 -1
  178. package/dist/core/tool-schemas/documentation-tools.js +6 -0
  179. package/dist/core/tool-schemas/documentation-tools.js.map +1 -1
  180. package/dist/core/tool-schemas/isml-tools.d.ts +3 -0
  181. package/dist/core/tool-schemas/isml-tools.d.ts.map +1 -1
  182. package/dist/core/tool-schemas/isml-tools.js +4 -1
  183. package/dist/core/tool-schemas/isml-tools.js.map +1 -1
  184. package/dist/core/tool-schemas/log-tools.d.ts +28 -0
  185. package/dist/core/tool-schemas/log-tools.d.ts.map +1 -1
  186. package/dist/core/tool-schemas/log-tools.js +21 -7
  187. package/dist/core/tool-schemas/log-tools.js.map +1 -1
  188. package/dist/core/tool-schemas/script-debugger-tools.d.ts +7 -0
  189. package/dist/core/tool-schemas/script-debugger-tools.d.ts.map +1 -1
  190. package/dist/core/tool-schemas/script-debugger-tools.js +9 -2
  191. package/dist/core/tool-schemas/script-debugger-tools.js.map +1 -1
  192. package/dist/core/tool-schemas/sfra-tools.d.ts +3 -0
  193. package/dist/core/tool-schemas/sfra-tools.d.ts.map +1 -1
  194. package/dist/core/tool-schemas/sfra-tools.js +3 -0
  195. package/dist/core/tool-schemas/sfra-tools.js.map +1 -1
  196. package/dist/core/tool-schemas/shared-schemas.d.ts +72 -4
  197. package/dist/core/tool-schemas/shared-schemas.d.ts.map +1 -1
  198. package/dist/core/tool-schemas/shared-schemas.js +29 -3
  199. package/dist/core/tool-schemas/shared-schemas.js.map +1 -1
  200. package/dist/core/tool-schemas/system-object-tools.d.ts +93 -4
  201. package/dist/core/tool-schemas/system-object-tools.d.ts.map +1 -1
  202. package/dist/core/tool-schemas/system-object-tools.js +13 -6
  203. package/dist/core/tool-schemas/system-object-tools.js.map +1 -1
  204. package/dist/docs/isml/isprint.md +1 -1
  205. package/dist/docs/isml/isredirect.md +1 -1
  206. package/dist/docs/isml/isremove.md +1 -1
  207. package/dist/docs/isml/isreplace.md +1 -1
  208. package/dist/docs/isml/isscript.md +1 -1
  209. package/dist/main.js +18 -33
  210. package/dist/main.js.map +1 -1
  211. package/dist/tool-configs/agent-instructions-tool-config.d.ts +1 -1
  212. package/dist/tool-configs/agent-instructions-tool-config.d.ts.map +1 -1
  213. package/dist/tool-configs/agent-instructions-tool-config.js +0 -33
  214. package/dist/tool-configs/agent-instructions-tool-config.js.map +1 -1
  215. package/dist/tool-configs/cartridge-tool-config.d.ts +1 -1
  216. package/dist/tool-configs/cartridge-tool-config.d.ts.map +1 -1
  217. package/dist/tool-configs/cartridge-tool-config.js +3 -5
  218. package/dist/tool-configs/cartridge-tool-config.js.map +1 -1
  219. package/dist/tool-configs/code-version-tool-config.d.ts +1 -1
  220. package/dist/tool-configs/code-version-tool-config.d.ts.map +1 -1
  221. package/dist/tool-configs/code-version-tool-config.js +0 -4
  222. package/dist/tool-configs/code-version-tool-config.js.map +1 -1
  223. package/dist/tool-configs/docs-tool-config.d.ts +1 -1
  224. package/dist/tool-configs/docs-tool-config.d.ts.map +1 -1
  225. package/dist/tool-configs/docs-tool-config.js +0 -13
  226. package/dist/tool-configs/docs-tool-config.js.map +1 -1
  227. package/dist/tool-configs/isml-tool-config.d.ts +1 -1
  228. package/dist/tool-configs/isml-tool-config.d.ts.map +1 -1
  229. package/dist/tool-configs/isml-tool-config.js +0 -10
  230. package/dist/tool-configs/isml-tool-config.js.map +1 -1
  231. package/dist/tool-configs/job-log-tool-config.d.ts +1 -1
  232. package/dist/tool-configs/job-log-tool-config.d.ts.map +1 -1
  233. package/dist/tool-configs/job-log-tool-config.js +1 -21
  234. package/dist/tool-configs/job-log-tool-config.js.map +1 -1
  235. package/dist/tool-configs/log-tool-config.d.ts +1 -1
  236. package/dist/tool-configs/log-tool-config.d.ts.map +1 -1
  237. package/dist/tool-configs/log-tool-config.js +6 -16
  238. package/dist/tool-configs/log-tool-config.js.map +1 -1
  239. package/dist/tool-configs/script-debugger-tool-config.d.ts +1 -1
  240. package/dist/tool-configs/script-debugger-tool-config.d.ts.map +1 -1
  241. package/dist/tool-configs/script-debugger-tool-config.js +0 -8
  242. package/dist/tool-configs/script-debugger-tool-config.js.map +1 -1
  243. package/dist/tool-configs/sfra-tool-config.d.ts +1 -1
  244. package/dist/tool-configs/sfra-tool-config.d.ts.map +1 -1
  245. package/dist/tool-configs/sfra-tool-config.js +0 -10
  246. package/dist/tool-configs/sfra-tool-config.js.map +1 -1
  247. package/dist/tool-configs/system-object-tool-config.d.ts +1 -1
  248. package/dist/tool-configs/system-object-tool-config.d.ts.map +1 -1
  249. package/dist/tool-configs/system-object-tool-config.js +14 -24
  250. package/dist/tool-configs/system-object-tool-config.js.map +1 -1
  251. package/dist/types/ocapi-search.d.ts +50 -0
  252. package/dist/types/ocapi-search.d.ts.map +1 -0
  253. package/dist/types/ocapi-search.js +7 -0
  254. package/dist/types/ocapi-search.js.map +1 -0
  255. package/dist/types/types.d.ts +4 -4
  256. package/dist/types/types.d.ts.map +1 -1
  257. package/dist/utils/abort-utils.d.ts +18 -0
  258. package/dist/utils/abort-utils.d.ts.map +1 -0
  259. package/dist/utils/abort-utils.js +60 -0
  260. package/dist/utils/abort-utils.js.map +1 -0
  261. package/dist/utils/cache.d.ts +7 -7
  262. package/dist/utils/cache.d.ts.map +1 -1
  263. package/dist/utils/cache.js.map +1 -1
  264. package/dist/utils/category-utils.d.ts +0 -10
  265. package/dist/utils/category-utils.d.ts.map +1 -1
  266. package/dist/utils/category-utils.js +0 -12
  267. package/dist/utils/category-utils.js.map +1 -1
  268. package/dist/utils/log-tool-constants.d.ts +3 -4
  269. package/dist/utils/log-tool-constants.d.ts.map +1 -1
  270. package/dist/utils/log-tool-constants.js +2 -13
  271. package/dist/utils/log-tool-constants.js.map +1 -1
  272. package/dist/utils/logger.d.ts +20 -7
  273. package/dist/utils/logger.d.ts.map +1 -1
  274. package/dist/utils/logger.js +72 -11
  275. package/dist/utils/logger.js.map +1 -1
  276. package/dist/utils/query-builder.d.ts +2 -5
  277. package/dist/utils/query-builder.d.ts.map +1 -1
  278. package/dist/utils/query-builder.js +1 -4
  279. package/dist/utils/query-builder.js.map +1 -1
  280. package/dist/utils/validator.d.ts +5 -3
  281. package/dist/utils/validator.d.ts.map +1 -1
  282. package/dist/utils/validator.js +20 -14
  283. package/dist/utils/validator.js.map +1 -1
  284. package/package.json +14 -7
  285. package/dist/clients/docs/index.d.ts +0 -10
  286. package/dist/clients/docs/index.d.ts.map +0 -1
  287. package/dist/clients/docs/index.js +0 -10
  288. package/dist/clients/docs/index.js.map +0 -1
  289. package/dist/constants/index.d.ts +0 -1
  290. package/dist/constants/index.d.ts.map +0 -1
  291. package/dist/constants/index.js +0 -3
  292. package/dist/constants/index.js.map +0 -1
  293. package/dist/utils/path-validation.d.ts +0 -40
  294. package/dist/utils/path-validation.d.ts.map +0 -1
  295. package/dist/utils/path-validation.js +0 -84
  296. package/dist/utils/path-validation.js.map +0 -1
@@ -7,11 +7,13 @@
7
7
  */
8
8
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
9
9
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
10
- import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
10
+ import { existsSync, readFileSync } from 'fs';
11
+ import { dirname, resolve } from 'path';
12
+ import { CallToolRequestSchema, ListToolsRequestSchema, RootsListChangedNotificationSchema, } from '@modelcontextprotocol/sdk/types.js';
11
13
  import { Logger } from '../utils/logger.js';
12
14
  import { ConfigurationFactory } from '../config/configuration-factory.js';
13
15
  import { WorkspaceRootsService } from '../config/workspace-roots.js';
14
- import { SFCC_DOCUMENTATION_TOOLS, SFRA_DOCUMENTATION_TOOLS, ISML_DOCUMENTATION_TOOLS, LOG_TOOLS, JOB_LOG_TOOLS, SYSTEM_OBJECT_TOOLS, CARTRIDGE_GENERATION_TOOLS, CODE_VERSION_TOOLS, AGENT_INSTRUCTION_TOOLS, SCRIPT_DEBUGGER_TOOLS, } from './tool-definitions.js';
16
+ import { ALL_TOOL_DEFINITIONS, createToolNameSets, getAvailableTools, isToolAvailable, } from './server-tool-catalog.js';
15
17
  import { LogToolHandler } from './handlers/log-handler.js';
16
18
  import { JobLogToolHandler } from './handlers/job-log-handler.js';
17
19
  import { DocsToolHandler } from './handlers/docs-handler.js';
@@ -24,6 +26,34 @@ import { AgentInstructionsToolHandler } from './handlers/agent-instructions-hand
24
26
  import { ScriptDebuggerToolHandler } from './handlers/script-debugger-handler.js';
25
27
  import { InstructionAdvisor } from './instruction-advisor.js';
26
28
  import { AgentInstructionsClient } from '../clients/agent-instructions-client.js';
29
+ import { SFCCLogClient } from '../clients/log-client.js';
30
+ import { ToolArgumentValidator } from './tool-argument-validator.js';
31
+ import { createToolCallHandler } from './server-tool-call-lifecycle.js';
32
+ import { discoverWorkspaceRootsFlow, reconfigureWithCredentialsFlow, } from './server-workspace-discovery.js';
33
+ const DEFAULT_SERVER_VERSION = '0.0.0';
34
+ function resolveServerVersion() {
35
+ try {
36
+ const candidatePaths = new Set();
37
+ if (process.argv[1]) {
38
+ candidatePaths.add(resolve(dirname(process.argv[1]), '..', 'package.json'));
39
+ }
40
+ candidatePaths.add(resolve(process.cwd(), 'package.json'));
41
+ for (const packageJsonPath of candidatePaths) {
42
+ if (!existsSync(packageJsonPath)) {
43
+ continue;
44
+ }
45
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
46
+ if (typeof packageJson.version === 'string' && packageJson.version.trim().length > 0) {
47
+ return packageJson.version;
48
+ }
49
+ }
50
+ }
51
+ catch {
52
+ // Fall through to environment/default fallback.
53
+ }
54
+ return process.env.npm_package_version ?? DEFAULT_SERVER_VERSION;
55
+ }
56
+ const SERVER_VERSION = resolveServerVersion();
27
57
  /**
28
58
  * MCP Server implementation for SFCC development assistance
29
59
  *
@@ -32,12 +62,29 @@ import { AgentInstructionsClient } from '../clients/agent-instructions-client.js
32
62
  */
33
63
  export class SFCCDevServer {
34
64
  server;
65
+ transport = null;
35
66
  logger;
36
67
  config;
37
68
  capabilities;
38
69
  handlers = [];
39
70
  workspaceRootsService;
40
71
  instructionAdvisor;
72
+ hasExplicitConfiguration;
73
+ reconfigureQueue = Promise.resolve();
74
+ toolArgumentValidator;
75
+ alwaysAvailableToolNames;
76
+ logCapabilityToolNames;
77
+ ocapiCapabilityToolNames;
78
+ toolNameSets;
79
+ logCapabilityState;
80
+ logCapabilityProbePromise = null;
81
+ shutdownPromise = null;
82
+ onSigInt = () => {
83
+ void this.shutdown();
84
+ };
85
+ onSigTerm = () => {
86
+ void this.shutdown();
87
+ };
41
88
  /**
42
89
  * Initialize the SFCC Development MCP Server
43
90
  *
@@ -46,11 +93,18 @@ export class SFCCDevServer {
46
93
  constructor(config) {
47
94
  this.logger = Logger.getChildLogger('Server');
48
95
  this.config = config;
96
+ this.hasExplicitConfiguration = this.isConfiguredHostname(config.hostname);
49
97
  this.logMethodEntry('constructor', { hostname: config.hostname });
50
98
  this.capabilities = ConfigurationFactory.getCapabilities(config);
51
99
  this.workspaceRootsService = new WorkspaceRootsService(this.logger);
52
100
  const advisorClient = new AgentInstructionsClient(this.workspaceRootsService, Logger.getChildLogger('AgentInstructionsAdvisor'));
53
101
  this.instructionAdvisor = new InstructionAdvisor(advisorClient, this.logger);
102
+ this.toolArgumentValidator = new ToolArgumentValidator(ALL_TOOL_DEFINITIONS);
103
+ this.toolNameSets = createToolNameSets();
104
+ this.alwaysAvailableToolNames = this.toolNameSets.alwaysAvailable;
105
+ this.logCapabilityToolNames = this.toolNameSets.logCapability;
106
+ this.ocapiCapabilityToolNames = this.toolNameSets.ocapiCapability;
107
+ this.logCapabilityState = this.determineInitialLogCapabilityState();
54
108
  this.initializeServer();
55
109
  this.registerHandlers();
56
110
  this.setupToolHandlers();
@@ -59,7 +113,7 @@ export class SFCCDevServer {
59
113
  initializeServer() {
60
114
  this.server = new Server({
61
115
  name: 'SFCC Development MCP Server',
62
- version: '1.0.14', // synced with package.json
116
+ version: SERVER_VERSION,
63
117
  }, {
64
118
  capabilities: {
65
119
  tools: {},
@@ -68,9 +122,13 @@ export class SFCCDevServer {
68
122
  // Set up callback for when client is fully initialized
69
123
  // This is when we can request workspace roots from the client
70
124
  this.server.oninitialized = async () => {
71
- this.logger.log('[Server] oninitialized callback triggered - client handshake complete');
125
+ this.logger.debug('[Server] oninitialized callback triggered - client handshake complete');
72
126
  await this.discoverWorkspaceRoots();
73
127
  };
128
+ this.server.setNotificationHandler(RootsListChangedNotificationSchema, async () => {
129
+ this.logger.debug('[Server] Received roots/list_changed notification from client');
130
+ await this.discoverWorkspaceRoots(true);
131
+ });
74
132
  }
75
133
  logMethodEntry(methodName, params) {
76
134
  this.logger.methodEntry(methodName, params);
@@ -78,6 +136,61 @@ export class SFCCDevServer {
78
136
  logMethodExit(methodName, result) {
79
137
  this.logger.methodExit(methodName, result);
80
138
  }
139
+ isConfiguredHostname(hostname) {
140
+ return !!(hostname && hostname.trim().length > 0 && hostname !== 'Local Mode');
141
+ }
142
+ hasBasicWebDAVCredentials(config = this.config) {
143
+ return !!(config.username && config.password);
144
+ }
145
+ hasClientCredentials(config = this.config) {
146
+ return !!(config.clientId && config.clientSecret);
147
+ }
148
+ determineInitialLogCapabilityState() {
149
+ if (!this.capabilities.canAccessLogs) {
150
+ return 'unavailable';
151
+ }
152
+ if (this.hasBasicWebDAVCredentials()) {
153
+ return 'available';
154
+ }
155
+ if (this.hasClientCredentials()) {
156
+ return 'unknown';
157
+ }
158
+ return 'unavailable';
159
+ }
160
+ async ensureLogCapabilityResolved() {
161
+ if (this.logCapabilityState !== 'unknown') {
162
+ return;
163
+ }
164
+ this.logCapabilityProbePromise ??= (async () => {
165
+ const verified = await this.verifyWebDAVLogAccess();
166
+ this.logCapabilityState = verified ? 'available' : 'unavailable';
167
+ this.logger.log(`[Server] WebDAV capability probe result: ${this.logCapabilityState}`);
168
+ })().finally(() => {
169
+ this.logCapabilityProbePromise = null;
170
+ });
171
+ await this.logCapabilityProbePromise;
172
+ }
173
+ async verifyWebDAVLogAccess() {
174
+ if (!this.capabilities.canAccessLogs) {
175
+ return false;
176
+ }
177
+ if (this.hasBasicWebDAVCredentials()) {
178
+ return true;
179
+ }
180
+ if (!this.hasClientCredentials()) {
181
+ return false;
182
+ }
183
+ try {
184
+ const probeClient = new SFCCLogClient(this.config, Logger.getChildLogger('LogCapabilityProbe'));
185
+ await probeClient.listLogFiles();
186
+ return true;
187
+ }
188
+ catch (error) {
189
+ const reason = error instanceof Error ? error.message : String(error);
190
+ this.logger.warn(`[Server] WebDAV capability probe failed: ${reason}`);
191
+ return false;
192
+ }
193
+ }
81
194
  /**
82
195
  * Discover workspace roots from the MCP client and search for dw.json
83
196
  *
@@ -88,43 +201,25 @@ export class SFCCDevServer {
88
201
  * Priority: This is only called when no CLI parameter or environment
89
202
  * variables provided credentials (those take precedence).
90
203
  */
91
- async discoverWorkspaceRoots() {
92
- this.logger.log('[Server] discoverWorkspaceRoots called');
93
- // If we already have a fully configured server (hostname is set), skip discovery
94
- // This respects the priority: CLI > ENV > MCP workspace roots
95
- if (this.config.hostname && this.config.hostname !== 'Local Mode' && this.config.hostname !== '') {
96
- this.logger.log(`[Server] Already configured via CLI or ENV (hostname="${this.config.hostname}"), skipping MCP workspace discovery`);
97
- return;
98
- }
99
- this.logger.log('[Server] No hostname from CLI/ENV, attempting MCP workspace roots discovery...');
100
- try {
101
- this.logger.log('[Server] Calling server.listRoots()...');
102
- // Request workspace roots from the MCP client
103
- const rootsResponse = await this.server.listRoots();
104
- this.logger.log(`[Server] listRoots() returned: ${JSON.stringify(rootsResponse)}`);
105
- // Delegate discovery to the service (single responsibility)
106
- const discoveryResult = this.workspaceRootsService.discoverDwJson(rootsResponse?.roots);
107
- if (!discoveryResult.success || !discoveryResult.config) {
108
- this.logger.log(`[Server] Discovery failed: ${discoveryResult.reason}`);
109
- return;
110
- }
111
- // Reconfigure the server with the discovered credentials
112
- await this.reconfigureWithCredentials(discoveryResult.config);
113
- this.logger.log(`[Server] Successfully reconfigured with credentials from ${discoveryResult.dwJsonPath}`);
114
- }
115
- catch (error) {
116
- // The client might not support roots/list - this is not an error
117
- const errorMessage = error instanceof Error ? error.message : String(error);
118
- const errorStack = error instanceof Error ? error.stack : '';
119
- this.logger.log(`[Server] listRoots() threw an error: ${errorMessage}`);
120
- if (errorStack) {
121
- this.logger.debug(`[Server] Error stack: ${errorStack}`);
122
- }
123
- // Check if the error is because the client doesn't support roots
124
- if (errorMessage.includes('not supported') || errorMessage.includes('Method not found')) {
125
- this.logger.log('[Server] Client does not support workspace roots capability');
126
- }
127
- }
204
+ async discoverWorkspaceRoots(forceRefresh = false) {
205
+ await discoverWorkspaceRootsFlow({
206
+ logger: this.logger,
207
+ forceRefresh,
208
+ hasExplicitConfiguration: this.hasExplicitConfiguration,
209
+ currentConfig: this.config,
210
+ isConfiguredHostname: (hostname) => this.isConfiguredHostname(hostname),
211
+ listRoots: async () => await this.server.listRoots(),
212
+ workspaceRootsService: this.workspaceRootsService,
213
+ enqueueReconfigure: async (dwConfig) => await this.enqueueReconfigure(dwConfig),
214
+ });
215
+ }
216
+ async enqueueReconfigure(dwConfig) {
217
+ const currentTask = this.reconfigureQueue.then(() => this.reconfigureWithCredentials(dwConfig));
218
+ this.reconfigureQueue = currentTask.catch((error) => {
219
+ const message = error instanceof Error ? error.message : String(error);
220
+ this.logger.warn(`[Server] Reconfigure queue task failed: ${message}`);
221
+ });
222
+ await currentTask;
128
223
  }
129
224
  /**
130
225
  * Reconfigure the server with newly discovered SFCC credentials
@@ -134,32 +229,36 @@ export class SFCCDevServer {
134
229
  */
135
230
  async reconfigureWithCredentials(dwConfig) {
136
231
  this.logMethodEntry('reconfigureWithCredentials', { hostname: dwConfig.hostname });
137
- // Dispose of existing handlers
138
- await Promise.all(this.handlers.map((handler) => handler.dispose()));
139
- // Map dw.json config to SFCCConfig format
140
- this.config = ConfigurationFactory.mapDwJsonToConfig(dwConfig);
141
- // Update capabilities
142
- this.capabilities = ConfigurationFactory.getCapabilities(this.config);
143
- this.logger.log('Server reconfigured with discovered credentials');
144
- this.logger.log(` Hostname: ${this.config.hostname}`);
145
- this.logger.log(` Can access logs: ${this.capabilities.canAccessLogs}`);
146
- this.logger.log(` Can access OCAPI: ${this.capabilities.canAccessOCAPI}`);
147
- // Re-register handlers with new configuration
148
- this.registerHandlers();
149
- // Notify the client that the tools list has changed
150
- // This is critical - without this notification, the client won't know
151
- // that additional tools are now available
152
- try {
153
- this.logger.log('[Server] Sending tools/list_changed notification to client...');
154
- await this.server.sendToolListChanged();
155
- this.logger.log('[Server] Successfully sent tools/list_changed notification');
156
- }
157
- catch (error) {
158
- // Some clients may not support this notification - log but don't fail
159
- const errorMessage = error instanceof Error ? error.message : String(error);
160
- this.logger.log(`[Server] Failed to send tools/list_changed notification: ${errorMessage}`);
161
- }
162
- this.logMethodExit('reconfigureWithCredentials');
232
+ const result = await reconfigureWithCredentialsFlow({
233
+ logger: this.logger,
234
+ dwConfig,
235
+ currentConfig: this.config,
236
+ mapDwJsonToConfig: ConfigurationFactory.mapDwJsonToConfig,
237
+ hasSameConnectionConfig: (current, next) => this.hasSameConnectionConfig(current, next),
238
+ disposeHandlers: async () => await this.disposeHandlersSafely('reconfigureWithCredentials'),
239
+ applyConfig: (nextConfig) => {
240
+ this.config = nextConfig;
241
+ this.capabilities = ConfigurationFactory.getCapabilities(this.config);
242
+ this.logCapabilityState = this.determineInitialLogCapabilityState();
243
+ this.logCapabilityProbePromise = null;
244
+ return {
245
+ hostname: this.config.hostname,
246
+ canAccessLogs: this.capabilities.canAccessLogs,
247
+ canAccessOCAPI: this.capabilities.canAccessOCAPI,
248
+ };
249
+ },
250
+ registerHandlers: () => this.registerHandlers(),
251
+ sendToolListChanged: async () => await this.server.sendToolListChanged(),
252
+ });
253
+ this.logMethodExit('reconfigureWithCredentials', { skipped: result.skipped });
254
+ }
255
+ hasSameConnectionConfig(current, next) {
256
+ return current.hostname === next.hostname &&
257
+ current.username === next.username &&
258
+ current.password === next.password &&
259
+ current.clientId === next.clientId &&
260
+ current.clientSecret === next.clientSecret &&
261
+ current.siteId === next.siteId;
163
262
  }
164
263
  // Register modular handlers (each encapsulates its own responsibility)
165
264
  registerHandlers() {
@@ -187,122 +286,105 @@ export class SFCCDevServer {
187
286
  */
188
287
  setupToolHandlers() {
189
288
  this.server.setRequestHandler(ListToolsRequestSchema, async () => {
190
- const tools = [];
191
- // Always available tools
192
- tools.push(...AGENT_INSTRUCTION_TOOLS);
193
- tools.push(...SFCC_DOCUMENTATION_TOOLS);
194
- tools.push(...SFRA_DOCUMENTATION_TOOLS);
195
- tools.push(...ISML_DOCUMENTATION_TOOLS);
196
- tools.push(...CARTRIDGE_GENERATION_TOOLS);
197
- // Conditional tools based on available capabilities
198
- if (this.capabilities.canAccessLogs) {
199
- tools.push(...LOG_TOOLS);
200
- tools.push(...JOB_LOG_TOOLS);
201
- tools.push(...SCRIPT_DEBUGGER_TOOLS);
202
- }
203
- if (this.capabilities.canAccessOCAPI) {
204
- tools.push(...SYSTEM_OBJECT_TOOLS);
205
- tools.push(...CODE_VERSION_TOOLS);
206
- }
207
- return { tools };
208
- });
209
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
210
- const { name, arguments: args } = request.params;
211
- const startTime = Date.now();
212
- this.logger.methodEntry(`handleToolRequest:${name}`, args);
213
- try {
214
- const preflightNotice = await this.instructionAdvisor.getNotice();
215
- const handler = this.handlers.find((h) => h.canHandle(name));
216
- if (!handler) {
217
- this.logger.error(`Unknown tool requested: ${name}`);
218
- throw new Error(`Unknown tool: ${name}`);
219
- }
220
- const result = await handler.handle(name, args ?? {}, startTime);
221
- const decoratedResult = preflightNotice
222
- ? this.attachError(result, preflightNotice)
223
- : result;
224
- // Log the full response in debug mode
225
- this.logger.debug(`Full response for ${name}:`, {
226
- contentType: decoratedResult.content?.[0]?.type,
227
- contentLength: decoratedResult.content?.[0]?.text?.length ?? 0,
228
- responsePreview: decoratedResult.content?.[0]?.text?.substring(0, 200) + (decoratedResult.content?.[0]?.text?.length > 200 ? '...' : ''),
229
- fullResponse: decoratedResult.content?.[0]?.text,
230
- });
231
- return decoratedResult;
232
- }
233
- catch (error) {
234
- this.logger.error(`Error handling tool "${name}":`, error);
235
- this.logger.timing(`${name}_error`, startTime);
236
- const errorResult = {
237
- content: [
238
- {
239
- type: 'text',
240
- text: `Error: ${error instanceof Error ? error.message : String(error)}`,
241
- },
242
- ],
243
- isError: true,
244
- };
245
- // Log error response in debug mode
246
- this.logger.debug(`Error response for ${name}:`, errorResult);
247
- return errorResult;
248
- }
249
- finally {
250
- this.logger.methodExit(`handleToolRequest:${name}`);
251
- }
289
+ await this.ensureLogCapabilityResolved();
290
+ return { tools: this.getAvailableTools() };
252
291
  });
292
+ this.server.setRequestHandler(CallToolRequestSchema, createToolCallHandler({
293
+ logger: this.logger,
294
+ getHandlers: () => this.handlers,
295
+ logCapabilityToolNames: this.logCapabilityToolNames,
296
+ ensureLogCapabilityResolved: async () => await this.ensureLogCapabilityResolved(),
297
+ isToolAvailable: (toolName) => this.isToolAvailable(toolName),
298
+ getCapabilitySnapshot: () => ({
299
+ logCapabilityState: this.logCapabilityState,
300
+ canAccessOCAPI: this.capabilities.canAccessOCAPI,
301
+ }),
302
+ toolArgumentValidator: this.toolArgumentValidator,
303
+ getPreflightNotice: async () => await this.instructionAdvisor.getNotice(),
304
+ }));
305
+ }
306
+ getAvailableTools() {
307
+ return getAvailableTools(this.logCapabilityState, this.capabilities.canAccessOCAPI);
308
+ }
309
+ isToolAvailable(toolName) {
310
+ return isToolAvailable(toolName, this.logCapabilityState, this.capabilities.canAccessOCAPI, this.toolNameSets);
253
311
  }
254
312
  /**
255
313
  * Start the MCP server
256
314
  */
257
315
  async run() {
258
- const transport = new StdioServerTransport();
316
+ this.transport = new StdioServerTransport();
259
317
  // Set up graceful shutdown
260
- process.on('SIGINT', () => this.shutdown());
261
- process.on('SIGTERM', () => this.shutdown());
262
- await this.server.connect(transport);
318
+ process.off('SIGINT', this.onSigInt);
319
+ process.off('SIGTERM', this.onSigTerm);
320
+ process.on('SIGINT', this.onSigInt);
321
+ process.on('SIGTERM', this.onSigTerm);
322
+ await this.server.connect(this.transport);
263
323
  this.logger.log('SFCC Development MCP server running on stdio');
264
324
  }
265
325
  /**
266
326
  * Gracefully shutdown the server and dispose of resources
267
327
  */
268
328
  async shutdown() {
269
- this.logger.log('Shutting down SFCC Development MCP server...');
270
- // Dispose of all handlers
271
- await Promise.all(this.handlers.map(handler => handler.dispose()));
272
- this.logger.log('SFCC Development MCP server shutdown complete');
273
- process.exit(0);
329
+ if (this.shutdownPromise) {
330
+ await this.shutdownPromise;
331
+ return;
332
+ }
333
+ this.shutdownPromise = (async () => {
334
+ this.logger.log('Shutting down SFCC Development MCP server...');
335
+ // Detach process listeners first so repeated run()/shutdown() cycles do not retain closures.
336
+ process.off('SIGINT', this.onSigInt);
337
+ process.off('SIGTERM', this.onSigTerm);
338
+ // Dispose of all handlers
339
+ await this.disposeHandlersSafely('shutdown');
340
+ await this.closeConnectionsSafely();
341
+ await this.flushLogsSafely();
342
+ this.logger.log('SFCC Development MCP server shutdown complete');
343
+ })();
344
+ await this.shutdownPromise;
274
345
  }
275
- /**
276
- * Inject a preflight error into JSON responses while preserving existing structure.
277
- * Falls back to text concatenation if the payload is not valid JSON.
278
- */
279
- attachError(result, errorMessage) {
280
- const content = result?.content ?? [];
281
- const [first, ...rest] = content;
282
- if (first?.type !== 'text' || typeof first.text !== 'string') {
283
- return result;
346
+ async closeConnectionsSafely() {
347
+ const serverWithClose = this.server;
348
+ const transportWithClose = this.transport;
349
+ try {
350
+ if (typeof serverWithClose.close === 'function') {
351
+ await serverWithClose.close();
352
+ }
353
+ }
354
+ catch (error) {
355
+ this.logger.warn(`[Server] shutdown: failed to close server connection: ${String(error)}`);
356
+ }
357
+ try {
358
+ if (transportWithClose && typeof transportWithClose.close === 'function') {
359
+ await transportWithClose.close();
360
+ }
284
361
  }
362
+ catch (error) {
363
+ this.logger.warn(`[Server] shutdown: failed to close stdio transport: ${String(error)}`);
364
+ }
365
+ finally {
366
+ this.transport = null;
367
+ }
368
+ }
369
+ async flushLogsSafely() {
285
370
  try {
286
- const parsed = JSON.parse(first.text);
287
- const existingErrors = Array.isArray(parsed.error)
288
- ? parsed.error
289
- : parsed.error
290
- ? [parsed.error]
291
- : [];
292
- const combinedErrors = [...existingErrors, errorMessage];
293
- parsed.error = combinedErrors.length === 1 ? combinedErrors[0] : combinedErrors;
294
- return {
295
- ...result,
296
- content: [{ ...first, text: JSON.stringify(parsed, null, 2) }, ...rest],
297
- };
371
+ await this.logger.flush();
298
372
  }
299
- catch {
300
- const merged = [errorMessage, first.text].filter(Boolean).join('\n\n');
301
- return {
302
- ...result,
303
- content: [{ ...first, text: merged }, ...rest],
304
- };
373
+ catch (error) {
374
+ process.stderr.write(`[Server] Failed to flush logs during shutdown: ${String(error)}\n`);
305
375
  }
306
376
  }
377
+ /**
378
+ * Dispose handlers without aborting cleanup when one handler fails.
379
+ */
380
+ async disposeHandlersSafely(operation) {
381
+ const disposalResults = await Promise.allSettled(this.handlers.map(handler => handler.dispose()));
382
+ disposalResults.forEach((result, index) => {
383
+ if (result.status === 'rejected') {
384
+ const handlerName = this.handlers[index]?.constructor?.name ?? `Handler#${index}`;
385
+ this.logger.warn(`[Server] ${operation}: failed to dispose ${handlerName}: ${String(result.reason)}`);
386
+ }
387
+ });
388
+ }
307
389
  }
308
390
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF;;;;;GAKG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAU;IAChB,MAAM,CAAS;IACf,MAAM,CAAa;IACnB,YAAY,CAA0D;IACtE,QAAQ,GAAsB,EAAE,CAAC;IACjC,qBAAqB,CAAwB;IAC7C,kBAAkB,CAAqB;IAE/C;;;;OAIG;IACH,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACjI,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE,QAAQ,EAAE,2BAA2B;SAC/C,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;aACV;SACF,CACF,CAAC;QAEF,uDAAuD;QACvD,8DAA8D;QAC9D,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;YACzF,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACtC,CAAC,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,UAAkB,EAAE,MAAY;QACrD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAEO,aAAa,CAAC,UAAkB,EAAE,MAAY;QACpD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAE1D,iFAAiF;QACjF,8DAA8D;QAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yDAAyD,IAAI,CAAC,MAAM,CAAC,QAAQ,sCAAsC,CAAC,CAAC;YACrI,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAElG,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YAE1D,8CAA8C;YAC9C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAEpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAEnF,4DAA4D;YAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAExF,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;YAED,yDAAyD;YACzD,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAE9D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4DAA4D,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iEAAiE;YACjE,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAE7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;YACxE,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,iEAAiE;YACjE,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACxF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,0BAA0B,CAAC,QAAsB;QAC7D,IAAI,CAAC,cAAc,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEnF,+BAA+B;QAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAErE,0CAA0C;QAC1C,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAE/D,sBAAsB;QACtB,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEtE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;QAE3E,8CAA8C;QAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,oDAAoD;QACpD,sEAAsE;QACtE,0CAA0C;QAC1C,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;YACjF,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4DAA4D,YAAY,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;IACnD,CAAC;IAED,uEAAuE;IAC/D,gBAAgB;QACtB,MAAM,OAAO,GAAmB;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,4BAA4B,CAAC,OAAO,CAAC;YACzC,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC;YAClC,IAAI,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC;YACxC,IAAI,eAAe,CAAC,OAAO,CAAC;YAC5B,IAAI,eAAe,CAAC,OAAO,CAAC;YAC5B,IAAI,eAAe,CAAC,OAAO,CAAC;YAC5B,IAAI,uBAAuB,CAAC,OAAO,EAAE,eAAe,CAAC;YACrD,IAAI,sBAAsB,CAAC,OAAO,EAAE,cAAc,CAAC;YACnD,IAAI,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC;YAC9C,IAAI,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,CAAC;SACzD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,KAAK,GAAG,EAAE,CAAC;YAEjB,yBAAyB;YACzB,KAAK,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,CAAC;YAE1C,oDAAoD;YACpD,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAgB,EAAE;YACnF,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;YAE3D,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;gBAClE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;oBACrD,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;gBACjE,MAAM,eAAe,GAAG,eAAe;oBACrC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC;oBAC3C,CAAC,CAAC,MAAM,CAAC;gBAEX,sCAAsC;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,GAAG,EAAE;oBAC9C,WAAW,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;oBAC/C,aAAa,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;oBAC9D,eAAe,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxI,YAAY,EAAE,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI;iBACjD,CAAC,CAAC;gBAEH,OAAO,eAAsB,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC/C,MAAM,WAAW,GAAG;oBAClB,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;yBACzE;qBACF;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;gBAEF,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,GAAG,EAAE,WAAW,CAAC,CAAC;gBAE9D,OAAO,WAAkB,CAAC;YAC5B,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,2BAA2B;QAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAEhE,0BAA0B;QAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,MAA2B,EAAE,YAAoB;QACnE,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;QAEjC,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBAChD,CAAC,CAAC,MAAM,CAAC,KAAK;gBACd,CAAC,CAAC,MAAM,CAAC,KAAK;oBACZ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAChB,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,cAAc,GAAG,CAAC,GAAG,cAAc,EAAE,YAAY,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YAEhF,OAAO;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC;aACxE,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,MAAM,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvE,OAAO;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC;aAC/C,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/core/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { ValidationError } from '../utils/validator.js';
2
+ interface ValidationIssue {
3
+ path: string;
4
+ message: string;
5
+ }
6
+ interface ToolSchemaDefinition {
7
+ name: string;
8
+ inputSchema: unknown;
9
+ }
10
+ export declare class ToolArgumentValidationError extends ValidationError {
11
+ constructor(toolName: string, issues: ValidationIssue[]);
12
+ }
13
+ export declare class ToolArgumentValidator {
14
+ private readonly toolSchemas;
15
+ constructor(definitions: ToolSchemaDefinition[]);
16
+ private assertValidSchemaPatterns;
17
+ validate(toolName: string, args: unknown): void;
18
+ private validateNode;
19
+ private validateEnum;
20
+ private validateNumberConstraints;
21
+ private validateStringConstraints;
22
+ }
23
+ export {};
24
+ //# sourceMappingURL=tool-argument-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-argument-validator.d.ts","sourceRoot":"","sources":["../../src/core/tool-argument-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAgBxD,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAkBD,qBAAa,2BAA4B,SAAQ,eAAe;gBAClD,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE;CAgBxD;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;gBAE5C,WAAW,EAAE,oBAAoB,EAAE;IAU/C,OAAO,CAAC,yBAAyB;IAsBjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAa/C,OAAO,CAAC,YAAY;IA2GpB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,yBAAyB;CAqBlC"}