@jsonstudio/rcc 0.85.9

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 (1814) hide show
  1. package/README.md +1341 -0
  2. package/config/config.json +143 -0
  3. package/config/conversion/llmswitch-profiles.json +37 -0
  4. package/config/dry-run/batch-test-requests.json +148 -0
  5. package/config/dry-run/dynamic-routing-config.json +159 -0
  6. package/config/dry-run/dynamic-routing-test-requests.json +151 -0
  7. package/config/dry-run/load-balancer-config.json +62 -0
  8. package/config/dry-run/multi-provider-test-request.json +81 -0
  9. package/config/dry-run/node-config.json +56 -0
  10. package/config/dry-run/single-test-request.json +30 -0
  11. package/config/modules-5520.json +44 -0
  12. package/config/modules.json +57 -0
  13. package/config/pipeline_assembler.core.json +103 -0
  14. package/config/providers/fc-responses-provider.json +16 -0
  15. package/config/providers/glm-provider.json +17 -0
  16. package/config/providers/qwen-provider.json +14 -0
  17. package/config/responses-conversion.json +105 -0
  18. package/config/samples/user-c4m-responses.json +41 -0
  19. package/config/samples/user-fc-responses.json +39 -0
  20. package/config/samples/user-glm-anthropic.json +35 -0
  21. package/config/samples/user-glm.json +30 -0
  22. package/config/samples/user-iflow-oauth.json +41 -0
  23. package/config/samples/user-lmstudio.json +29 -0
  24. package/config/samples/user-modelscope.json +29 -0
  25. package/config/samples/user-qwen.json +29 -0
  26. package/config/schemas/anthropic-messages.request.schema.json +66 -0
  27. package/config/schemas/anthropic-messages.response.schema.json +29 -0
  28. package/config/schemas/openai-chat.request.schema.json +46 -0
  29. package/config/schemas/openai-chat.response.schema.json +23 -0
  30. package/config/schemas/openai-responses.request.schema.json +21 -0
  31. package/config/schemas/openai-responses.response.schema.json +26 -0
  32. package/config/schemas/responses-conversion.schema.json +70 -0
  33. package/config/stage-1.system.parsed.5520.json +530 -0
  34. package/config/stage-1.system.parsed.json +530 -0
  35. package/config/stage-2.user.parsed.5520.json +142 -0
  36. package/config/stage-2.user.parsed.json +142 -0
  37. package/config/stage-3.canonical.5520.json +183 -0
  38. package/config/stage-3.canonical.json +183 -0
  39. package/config/stage-4.assembler.config.5520.json +103 -0
  40. package/config/stage-4.assembler.config.json +103 -0
  41. package/config/tool-mappings/glm.json +30 -0
  42. package/config/v2-config-example.json +94 -0
  43. package/dist/build-info.d.ts +6 -0
  44. package/dist/build-info.js +6 -0
  45. package/dist/build-info.js.map +1 -0
  46. package/dist/cli.d.ts +6 -0
  47. package/dist/cli.js +1651 -0
  48. package/dist/cli.js.map +1 -0
  49. package/dist/commands/provider-update.d.ts +2 -0
  50. package/dist/commands/provider-update.js +53 -0
  51. package/dist/commands/provider-update.js.map +1 -0
  52. package/dist/commands/validate.d.ts +2 -0
  53. package/dist/commands/validate.js +337 -0
  54. package/dist/commands/validate.js.map +1 -0
  55. package/dist/config/auth-file-resolver.d.ts +25 -0
  56. package/dist/config/auth-file-resolver.js +77 -0
  57. package/dist/config/auth-file-resolver.js.map +1 -0
  58. package/dist/config/config-paths.d.ts +14 -0
  59. package/dist/config/config-paths.js +28 -0
  60. package/dist/config/config-paths.js.map +1 -0
  61. package/dist/config/routecodex-config-loader.d.ts +7 -0
  62. package/dist/config/routecodex-config-loader.js +33 -0
  63. package/dist/config/routecodex-config-loader.js.map +1 -0
  64. package/dist/config/system-prompts/claude-cli.txt +3 -0
  65. package/dist/config/system-prompts/codex-cli.txt +105 -0
  66. package/dist/config/tool-mapping-loader.d.ts +32 -0
  67. package/dist/config/tool-mapping-loader.js +34 -0
  68. package/dist/config/tool-mapping-loader.js.map +1 -0
  69. package/dist/config/unified-config-paths.d.ts +87 -0
  70. package/dist/config/unified-config-paths.js +312 -0
  71. package/dist/config/unified-config-paths.js.map +1 -0
  72. package/dist/constants/index.d.ts +42 -0
  73. package/dist/constants/index.js +56 -0
  74. package/dist/constants/index.js.map +1 -0
  75. package/dist/index.d.ts +36 -0
  76. package/dist/index.js +542 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/logging/LoggerFactory.d.ts +96 -0
  79. package/dist/logging/LoggerFactory.js +258 -0
  80. package/dist/logging/LoggerFactory.js.map +1 -0
  81. package/dist/logging/UnifiedLogger.d.ts +64 -0
  82. package/dist/logging/UnifiedLogger.js +409 -0
  83. package/dist/logging/UnifiedLogger.js.map +1 -0
  84. package/dist/logging/constants.d.ts +205 -0
  85. package/dist/logging/constants.js +231 -0
  86. package/dist/logging/constants.js.map +1 -0
  87. package/dist/logging/index.d.ts +11 -0
  88. package/dist/logging/index.js +13 -0
  89. package/dist/logging/index.js.map +1 -0
  90. package/dist/logging/indexer/SimpleTimeSeriesIndexer.d.ts +60 -0
  91. package/dist/logging/indexer/SimpleTimeSeriesIndexer.js +124 -0
  92. package/dist/logging/indexer/SimpleTimeSeriesIndexer.js.map +1 -0
  93. package/dist/logging/indexer/TimeSeriesIndexer.d.ts +231 -0
  94. package/dist/logging/indexer/TimeSeriesIndexer.js +572 -0
  95. package/dist/logging/indexer/TimeSeriesIndexer.js.map +1 -0
  96. package/dist/logging/interfaces.d.ts +405 -0
  97. package/dist/logging/interfaces.js +7 -0
  98. package/dist/logging/interfaces.js.map +1 -0
  99. package/dist/logging/parser/JsonlParser.d.ts +180 -0
  100. package/dist/logging/parser/JsonlParser.js +420 -0
  101. package/dist/logging/parser/JsonlParser.js.map +1 -0
  102. package/dist/logging/parser/LogFileScanner.d.ts +172 -0
  103. package/dist/logging/parser/LogFileScanner.js +408 -0
  104. package/dist/logging/parser/LogFileScanner.js.map +1 -0
  105. package/dist/logging/parser/index.d.ts +63 -0
  106. package/dist/logging/parser/index.js +134 -0
  107. package/dist/logging/parser/index.js.map +1 -0
  108. package/dist/logging/types.d.ts +280 -0
  109. package/dist/logging/types.js +47 -0
  110. package/dist/logging/types.js.map +1 -0
  111. package/dist/logging/validator/DataValidator.d.ts +257 -0
  112. package/dist/logging/validator/DataValidator.js +789 -0
  113. package/dist/logging/validator/DataValidator.js.map +1 -0
  114. package/dist/logging/validator/index.d.ts +5 -0
  115. package/dist/logging/validator/index.js +5 -0
  116. package/dist/logging/validator/index.js.map +1 -0
  117. package/dist/modules/config/pipeline-config-path.d.ts +6 -0
  118. package/dist/modules/config/pipeline-config-path.js +51 -0
  119. package/dist/modules/config/pipeline-config-path.js.map +1 -0
  120. package/dist/modules/llmswitch/bridge.d.ts +21 -0
  121. package/dist/modules/llmswitch/bridge.js +88 -0
  122. package/dist/modules/llmswitch/bridge.js.map +1 -0
  123. package/dist/modules/llmswitch/core-loader.d.ts +2 -0
  124. package/dist/modules/llmswitch/core-loader.js +40 -0
  125. package/dist/modules/llmswitch/core-loader.js.map +1 -0
  126. package/dist/modules/llmswitch/pipeline-registry.d.ts +57 -0
  127. package/dist/modules/llmswitch/pipeline-registry.js +198 -0
  128. package/dist/modules/llmswitch/pipeline-registry.js.map +1 -0
  129. package/dist/modules/pipeline/interfaces/pipeline-interfaces.d.ts +334 -0
  130. package/dist/modules/pipeline/interfaces/pipeline-interfaces.js +8 -0
  131. package/dist/modules/pipeline/interfaces/pipeline-interfaces.js.map +1 -0
  132. package/dist/modules/pipeline/modules/interfaces/pipeline-interfaces.d.ts +1 -0
  133. package/dist/modules/pipeline/modules/interfaces/pipeline-interfaces.js +2 -0
  134. package/dist/modules/pipeline/modules/interfaces/pipeline-interfaces.js.map +1 -0
  135. package/dist/modules/pipeline/modules/provider/interfaces/pipeline-interfaces.d.ts +1 -0
  136. package/dist/modules/pipeline/modules/provider/interfaces/pipeline-interfaces.js +2 -0
  137. package/dist/modules/pipeline/modules/provider/interfaces/pipeline-interfaces.js.map +1 -0
  138. package/dist/modules/pipeline/modules/provider/utils/debug-logger.d.ts +1 -0
  139. package/dist/modules/pipeline/modules/provider/utils/debug-logger.js +2 -0
  140. package/dist/modules/pipeline/modules/provider/utils/debug-logger.js.map +1 -0
  141. package/dist/modules/pipeline/modules/provider/utils/preflight-validator.d.ts +1 -0
  142. package/dist/modules/pipeline/modules/provider/utils/preflight-validator.js +2 -0
  143. package/dist/modules/pipeline/modules/provider/utils/preflight-validator.js.map +1 -0
  144. package/dist/modules/pipeline/modules/provider/utils/tool-result-text.d.ts +1 -0
  145. package/dist/modules/pipeline/modules/provider/utils/tool-result-text.js +2 -0
  146. package/dist/modules/pipeline/modules/provider/utils/tool-result-text.js.map +1 -0
  147. package/dist/modules/pipeline/modules/provider/utils/transformation-engine.d.ts +1 -0
  148. package/dist/modules/pipeline/modules/provider/utils/transformation-engine.js +2 -0
  149. package/dist/modules/pipeline/modules/provider/utils/transformation-engine.js.map +1 -0
  150. package/dist/modules/pipeline/modules/provider/v2/api/index.d.ts +27 -0
  151. package/dist/modules/pipeline/modules/provider/v2/api/index.js +28 -0
  152. package/dist/modules/pipeline/modules/provider/v2/api/index.js.map +1 -0
  153. package/dist/modules/pipeline/modules/provider/v2/api/provider-config.d.ts +100 -0
  154. package/dist/modules/pipeline/modules/provider/v2/api/provider-config.js +7 -0
  155. package/dist/modules/pipeline/modules/provider/v2/api/provider-config.js.map +1 -0
  156. package/dist/modules/pipeline/modules/provider/v2/api/provider-types.d.ts +151 -0
  157. package/dist/modules/pipeline/modules/provider/v2/api/provider-types.js +29 -0
  158. package/dist/modules/pipeline/modules/provider/v2/api/provider-types.js.map +1 -0
  159. package/dist/modules/pipeline/modules/provider/v2/auth/apikey-auth.d.ts +55 -0
  160. package/dist/modules/pipeline/modules/provider/v2/auth/apikey-auth.js +131 -0
  161. package/dist/modules/pipeline/modules/provider/v2/auth/apikey-auth.js.map +1 -0
  162. package/dist/modules/pipeline/modules/provider/v2/auth/auth-interface.d.ts +141 -0
  163. package/dist/modules/pipeline/modules/provider/v2/auth/auth-interface.js +17 -0
  164. package/dist/modules/pipeline/modules/provider/v2/auth/auth-interface.js.map +1 -0
  165. package/dist/modules/pipeline/modules/provider/v2/auth/iflow-userinfo-helper.d.ts +31 -0
  166. package/dist/modules/pipeline/modules/provider/v2/auth/iflow-userinfo-helper.js +70 -0
  167. package/dist/modules/pipeline/modules/provider/v2/auth/iflow-userinfo-helper.js.map +1 -0
  168. package/dist/modules/pipeline/modules/provider/v2/auth/oauth-auth.d.ts +72 -0
  169. package/dist/modules/pipeline/modules/provider/v2/auth/oauth-auth.js +316 -0
  170. package/dist/modules/pipeline/modules/provider/v2/auth/oauth-auth.js.map +1 -0
  171. package/dist/modules/pipeline/modules/provider/v2/auth/oauth-lifecycle.d.ts +9 -0
  172. package/dist/modules/pipeline/modules/provider/v2/auth/oauth-lifecycle.js +446 -0
  173. package/dist/modules/pipeline/modules/provider/v2/auth/oauth-lifecycle.js.map +1 -0
  174. package/dist/modules/pipeline/modules/provider/v2/auth/qwen-userinfo-helper.d.ts +35 -0
  175. package/dist/modules/pipeline/modules/provider/v2/auth/qwen-userinfo-helper.js +86 -0
  176. package/dist/modules/pipeline/modules/provider/v2/auth/qwen-userinfo-helper.js.map +1 -0
  177. package/dist/modules/pipeline/modules/provider/v2/auth/tokenfile-auth.d.ts +33 -0
  178. package/dist/modules/pipeline/modules/provider/v2/auth/tokenfile-auth.js +132 -0
  179. package/dist/modules/pipeline/modules/provider/v2/auth/tokenfile-auth.js.map +1 -0
  180. package/dist/modules/pipeline/modules/provider/v2/compatibility/base-compatibility.d.ts +27 -0
  181. package/dist/modules/pipeline/modules/provider/v2/compatibility/base-compatibility.js +119 -0
  182. package/dist/modules/pipeline/modules/provider/v2/compatibility/base-compatibility.js.map +1 -0
  183. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-adapter.d.ts +17 -0
  184. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-adapter.js +73 -0
  185. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-adapter.js.map +1 -0
  186. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-factory.d.ts +57 -0
  187. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-factory.js +47 -0
  188. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-factory.js.map +1 -0
  189. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-interface.d.ts +33 -0
  190. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-interface.js +2 -0
  191. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-interface.js.map +1 -0
  192. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-manager.d.ts +78 -0
  193. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-manager.js +341 -0
  194. package/dist/modules/pipeline/modules/provider/v2/compatibility/compatibility-manager.js.map +1 -0
  195. package/dist/modules/pipeline/modules/provider/v2/compatibility/config/config-compatibility.d.ts +25 -0
  196. package/dist/modules/pipeline/modules/provider/v2/compatibility/config/config-compatibility.js +63 -0
  197. package/dist/modules/pipeline/modules/provider/v2/compatibility/config/config-compatibility.js.map +1 -0
  198. package/dist/modules/pipeline/modules/provider/v2/compatibility/config/index.d.ts +1 -0
  199. package/dist/modules/pipeline/modules/provider/v2/compatibility/config/index.js +5 -0
  200. package/dist/modules/pipeline/modules/provider/v2/compatibility/config/index.js.map +1 -0
  201. package/dist/modules/pipeline/modules/provider/v2/compatibility/field-mapping.d.ts +98 -0
  202. package/dist/modules/pipeline/modules/provider/v2/compatibility/field-mapping.js +392 -0
  203. package/dist/modules/pipeline/modules/provider/v2/compatibility/field-mapping.js.map +1 -0
  204. package/dist/modules/pipeline/modules/provider/v2/compatibility/filters/blacklist-sanitizer.d.ts +43 -0
  205. package/dist/modules/pipeline/modules/provider/v2/compatibility/filters/blacklist-sanitizer.js +118 -0
  206. package/dist/modules/pipeline/modules/provider/v2/compatibility/filters/blacklist-sanitizer.js.map +1 -0
  207. package/dist/modules/pipeline/modules/provider/v2/compatibility/filters/response-blacklist-sanitizer.d.ts +27 -0
  208. package/dist/modules/pipeline/modules/provider/v2/compatibility/filters/response-blacklist-sanitizer.js +118 -0
  209. package/dist/modules/pipeline/modules/provider/v2/compatibility/filters/response-blacklist-sanitizer.js.map +1 -0
  210. package/dist/modules/pipeline/modules/provider/v2/compatibility/filters/universal-shape-filter.d.ts +64 -0
  211. package/dist/modules/pipeline/modules/provider/v2/compatibility/filters/universal-shape-filter.js +320 -0
  212. package/dist/modules/pipeline/modules/provider/v2/compatibility/filters/universal-shape-filter.js.map +1 -0
  213. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/config/blacklist-rules.json +22 -0
  214. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/config/field-mappings.json +99 -0
  215. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/config/response-blacklist.json +7 -0
  216. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/config/shape-filters.json +37 -0
  217. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/field-mapping/field-mapping-processor.d.ts +35 -0
  218. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/field-mapping/field-mapping-processor.js +405 -0
  219. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/field-mapping/field-mapping-processor.js.map +1 -0
  220. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/functions/glm-processor.d.ts +52 -0
  221. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/functions/glm-processor.js +209 -0
  222. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/functions/glm-processor.js.map +1 -0
  223. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/glm-compatibility.d.ts +24 -0
  224. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/glm-compatibility.js +112 -0
  225. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/glm-compatibility.js.map +1 -0
  226. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/base-hook.d.ts +21 -0
  227. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/base-hook.js +53 -0
  228. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/base-hook.js.map +1 -0
  229. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-request-validation-hook.d.ts +22 -0
  230. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-request-validation-hook.js +267 -0
  231. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-request-validation-hook.js.map +1 -0
  232. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-response-normalization-hook.d.ts +22 -0
  233. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-response-normalization-hook.js +246 -0
  234. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-response-normalization-hook.js.map +1 -0
  235. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-response-validation-hook.d.ts +23 -0
  236. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-response-validation-hook.js +232 -0
  237. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-response-validation-hook.js.map +1 -0
  238. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-tool-cleaning-hook.d.ts +25 -0
  239. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-tool-cleaning-hook.js +210 -0
  240. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/hooks/glm-tool-cleaning-hook.js.map +1 -0
  241. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/index.d.ts +25 -0
  242. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/index.js +32 -0
  243. package/dist/modules/pipeline/modules/provider/v2/compatibility/glm/index.js.map +1 -0
  244. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/config/field-mappings.json +99 -0
  245. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/config/shape-filters.json +37 -0
  246. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/field-mapping/iflow-field-mapping-processor.d.ts +35 -0
  247. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/field-mapping/iflow-field-mapping-processor.js +405 -0
  248. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/field-mapping/iflow-field-mapping-processor.js.map +1 -0
  249. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/functions/iflow-processor.d.ts +52 -0
  250. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/functions/iflow-processor.js +207 -0
  251. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/functions/iflow-processor.js.map +1 -0
  252. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/base-hook.d.ts +21 -0
  253. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/base-hook.js +53 -0
  254. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/base-hook.js.map +1 -0
  255. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-request-validation-hook.d.ts +22 -0
  256. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-request-validation-hook.js +267 -0
  257. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-request-validation-hook.js.map +1 -0
  258. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-response-normalization-hook.d.ts +22 -0
  259. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-response-normalization-hook.js +246 -0
  260. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-response-normalization-hook.js.map +1 -0
  261. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-response-validation-hook.d.ts +23 -0
  262. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-response-validation-hook.js +232 -0
  263. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-response-validation-hook.js.map +1 -0
  264. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-tool-cleaning-hook.d.ts +25 -0
  265. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-tool-cleaning-hook.js +210 -0
  266. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/hooks/iflow-tool-cleaning-hook.js.map +1 -0
  267. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/iflow-compatibility.d.ts +24 -0
  268. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/iflow-compatibility.js +98 -0
  269. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/iflow-compatibility.js.map +1 -0
  270. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/index.d.ts +25 -0
  271. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/index.js +32 -0
  272. package/dist/modules/pipeline/modules/provider/v2/compatibility/iflow/index.js.map +1 -0
  273. package/dist/modules/pipeline/modules/provider/v2/compatibility/index.d.ts +55 -0
  274. package/dist/modules/pipeline/modules/provider/v2/compatibility/index.js +90 -0
  275. package/dist/modules/pipeline/modules/provider/v2/compatibility/index.js.map +1 -0
  276. package/dist/modules/pipeline/modules/provider/v2/compatibility/lmstudio/index.d.ts +4 -0
  277. package/dist/modules/pipeline/modules/provider/v2/compatibility/lmstudio/index.js +10 -0
  278. package/dist/modules/pipeline/modules/provider/v2/compatibility/lmstudio/index.js.map +1 -0
  279. package/dist/modules/pipeline/modules/provider/v2/compatibility/lmstudio-compatibility.d.ts +106 -0
  280. package/dist/modules/pipeline/modules/provider/v2/compatibility/lmstudio-compatibility.js +406 -0
  281. package/dist/modules/pipeline/modules/provider/v2/compatibility/lmstudio-compatibility.js.map +1 -0
  282. package/dist/modules/pipeline/modules/provider/v2/compatibility/passthrough/index.d.ts +4 -0
  283. package/dist/modules/pipeline/modules/provider/v2/compatibility/passthrough/index.js +9 -0
  284. package/dist/modules/pipeline/modules/provider/v2/compatibility/passthrough/index.js.map +1 -0
  285. package/dist/modules/pipeline/modules/provider/v2/compatibility/passthrough-compatibility.d.ts +63 -0
  286. package/dist/modules/pipeline/modules/provider/v2/compatibility/passthrough-compatibility.js +184 -0
  287. package/dist/modules/pipeline/modules/provider/v2/compatibility/passthrough-compatibility.js.map +1 -0
  288. package/dist/modules/pipeline/modules/provider/v2/compatibility/qwen/index.d.ts +4 -0
  289. package/dist/modules/pipeline/modules/provider/v2/compatibility/qwen/index.js +12 -0
  290. package/dist/modules/pipeline/modules/provider/v2/compatibility/qwen/index.js.map +1 -0
  291. package/dist/modules/pipeline/modules/provider/v2/compatibility/qwen-compatibility.d.ts +105 -0
  292. package/dist/modules/pipeline/modules/provider/v2/compatibility/qwen-compatibility.js +812 -0
  293. package/dist/modules/pipeline/modules/provider/v2/compatibility/qwen-compatibility.js.map +1 -0
  294. package/dist/modules/pipeline/modules/provider/v2/compatibility/responses/c4m-responses-compatibility.d.ts +22 -0
  295. package/dist/modules/pipeline/modules/provider/v2/compatibility/responses/c4m-responses-compatibility.js +80 -0
  296. package/dist/modules/pipeline/modules/provider/v2/compatibility/responses/c4m-responses-compatibility.js.map +1 -0
  297. package/dist/modules/pipeline/modules/provider/v2/compatibility/responses/index.d.ts +1 -0
  298. package/dist/modules/pipeline/modules/provider/v2/compatibility/responses/index.js +8 -0
  299. package/dist/modules/pipeline/modules/provider/v2/compatibility/responses/index.js.map +1 -0
  300. package/dist/modules/pipeline/modules/provider/v2/compatibility/standard-compatibility.d.ts +31 -0
  301. package/dist/modules/pipeline/modules/provider/v2/compatibility/standard-compatibility.js +100 -0
  302. package/dist/modules/pipeline/modules/provider/v2/compatibility/standard-compatibility.js.map +1 -0
  303. package/dist/modules/pipeline/modules/provider/v2/compatibility/utils/snapshot-writer.d.ts +8 -0
  304. package/dist/modules/pipeline/modules/provider/v2/compatibility/utils/snapshot-writer.js +58 -0
  305. package/dist/modules/pipeline/modules/provider/v2/compatibility/utils/snapshot-writer.js.map +1 -0
  306. package/dist/modules/pipeline/modules/provider/v2/composite/compat/anthropic.d.ts +3 -0
  307. package/dist/modules/pipeline/modules/provider/v2/composite/compat/anthropic.js +7 -0
  308. package/dist/modules/pipeline/modules/provider/v2/composite/compat/anthropic.js.map +1 -0
  309. package/dist/modules/pipeline/modules/provider/v2/composite/compat/gemini.d.ts +3 -0
  310. package/dist/modules/pipeline/modules/provider/v2/composite/compat/gemini.js +7 -0
  311. package/dist/modules/pipeline/modules/provider/v2/composite/compat/gemini.js.map +1 -0
  312. package/dist/modules/pipeline/modules/provider/v2/composite/compat/openai-compat-aggregator.d.ts +9 -0
  313. package/dist/modules/pipeline/modules/provider/v2/composite/compat/openai-compat-aggregator.js +108 -0
  314. package/dist/modules/pipeline/modules/provider/v2/composite/compat/openai-compat-aggregator.js.map +1 -0
  315. package/dist/modules/pipeline/modules/provider/v2/composite/compat/responses.d.ts +3 -0
  316. package/dist/modules/pipeline/modules/provider/v2/composite/compat/responses.js +74 -0
  317. package/dist/modules/pipeline/modules/provider/v2/composite/compat/responses.js.map +1 -0
  318. package/dist/modules/pipeline/modules/provider/v2/composite/provider-composite.d.ts +44 -0
  319. package/dist/modules/pipeline/modules/provider/v2/composite/provider-composite.js +221 -0
  320. package/dist/modules/pipeline/modules/provider/v2/composite/provider-composite.js.map +1 -0
  321. package/dist/modules/pipeline/modules/provider/v2/config/oauth-flows.d.ts +211 -0
  322. package/dist/modules/pipeline/modules/provider/v2/config/oauth-flows.js +269 -0
  323. package/dist/modules/pipeline/modules/provider/v2/config/oauth-flows.js.map +1 -0
  324. package/dist/modules/pipeline/modules/provider/v2/config/provider-debug-hooks.d.ts +225 -0
  325. package/dist/modules/pipeline/modules/provider/v2/config/provider-debug-hooks.js +276 -0
  326. package/dist/modules/pipeline/modules/provider/v2/config/provider-debug-hooks.js.map +1 -0
  327. package/dist/modules/pipeline/modules/provider/v2/config/provider-hooks.d.ts +104 -0
  328. package/dist/modules/pipeline/modules/provider/v2/config/provider-hooks.js +141 -0
  329. package/dist/modules/pipeline/modules/provider/v2/config/provider-hooks.js.map +1 -0
  330. package/dist/modules/pipeline/modules/provider/v2/config/provider-oauth-configs.d.ts +37 -0
  331. package/dist/modules/pipeline/modules/provider/v2/config/provider-oauth-configs.js +242 -0
  332. package/dist/modules/pipeline/modules/provider/v2/config/provider-oauth-configs.js.map +1 -0
  333. package/dist/modules/pipeline/modules/provider/v2/config/service-profiles.d.ts +95 -0
  334. package/dist/modules/pipeline/modules/provider/v2/config/service-profiles.js +282 -0
  335. package/dist/modules/pipeline/modules/provider/v2/config/service-profiles.js.map +1 -0
  336. package/dist/modules/pipeline/modules/provider/v2/core/anthropic-http-provider.d.ts +14 -0
  337. package/dist/modules/pipeline/modules/provider/v2/core/anthropic-http-provider.js +22 -0
  338. package/dist/modules/pipeline/modules/provider/v2/core/anthropic-http-provider.js.map +1 -0
  339. package/dist/modules/pipeline/modules/provider/v2/core/base-provider.d.ts +59 -0
  340. package/dist/modules/pipeline/modules/provider/v2/core/base-provider.js +268 -0
  341. package/dist/modules/pipeline/modules/provider/v2/core/base-provider.js.map +1 -0
  342. package/dist/modules/pipeline/modules/provider/v2/core/chat-http-provider.d.ts +58 -0
  343. package/dist/modules/pipeline/modules/provider/v2/core/chat-http-provider.js +856 -0
  344. package/dist/modules/pipeline/modules/provider/v2/core/chat-http-provider.js.map +1 -0
  345. package/dist/modules/pipeline/modules/provider/v2/core/gemini-http-provider.d.ts +30 -0
  346. package/dist/modules/pipeline/modules/provider/v2/core/gemini-http-provider.js +147 -0
  347. package/dist/modules/pipeline/modules/provider/v2/core/gemini-http-provider.js.map +1 -0
  348. package/dist/modules/pipeline/modules/provider/v2/core/iflow-http-provider.d.ts +13 -0
  349. package/dist/modules/pipeline/modules/provider/v2/core/iflow-http-provider.js +21 -0
  350. package/dist/modules/pipeline/modules/provider/v2/core/iflow-http-provider.js.map +1 -0
  351. package/dist/modules/pipeline/modules/provider/v2/core/openai-http-provider.d.ts +18 -0
  352. package/dist/modules/pipeline/modules/provider/v2/core/openai-http-provider.js +26 -0
  353. package/dist/modules/pipeline/modules/provider/v2/core/openai-http-provider.js.map +1 -0
  354. package/dist/modules/pipeline/modules/provider/v2/core/provider-factory.d.ts +60 -0
  355. package/dist/modules/pipeline/modules/provider/v2/core/provider-factory.js +231 -0
  356. package/dist/modules/pipeline/modules/provider/v2/core/provider-factory.js.map +1 -0
  357. package/dist/modules/pipeline/modules/provider/v2/core/provider-runtime-metadata.d.ts +18 -0
  358. package/dist/modules/pipeline/modules/provider/v2/core/provider-runtime-metadata.js +21 -0
  359. package/dist/modules/pipeline/modules/provider/v2/core/provider-runtime-metadata.js.map +1 -0
  360. package/dist/modules/pipeline/modules/provider/v2/core/responses-http-provider.d.ts +17 -0
  361. package/dist/modules/pipeline/modules/provider/v2/core/responses-http-provider.js +25 -0
  362. package/dist/modules/pipeline/modules/provider/v2/core/responses-http-provider.js.map +1 -0
  363. package/dist/modules/pipeline/modules/provider/v2/core/responses-provider.d.ts +24 -0
  364. package/dist/modules/pipeline/modules/provider/v2/core/responses-provider.js +314 -0
  365. package/dist/modules/pipeline/modules/provider/v2/core/responses-provider.js.map +1 -0
  366. package/dist/modules/pipeline/modules/provider/v2/hooks/debug-example-hooks.d.ts +42 -0
  367. package/dist/modules/pipeline/modules/provider/v2/hooks/debug-example-hooks.js +428 -0
  368. package/dist/modules/pipeline/modules/provider/v2/hooks/debug-example-hooks.js.map +1 -0
  369. package/dist/modules/pipeline/modules/provider/v2/hooks/hooks-integration.d.ts +86 -0
  370. package/dist/modules/pipeline/modules/provider/v2/hooks/hooks-integration.js +221 -0
  371. package/dist/modules/pipeline/modules/provider/v2/hooks/hooks-integration.js.map +1 -0
  372. package/dist/modules/pipeline/modules/provider/v2/hooks/test-debug-hooks.d.ts +49 -0
  373. package/dist/modules/pipeline/modules/provider/v2/hooks/test-debug-hooks.js +356 -0
  374. package/dist/modules/pipeline/modules/provider/v2/hooks/test-debug-hooks.js.map +1 -0
  375. package/dist/modules/pipeline/modules/provider/v2/strategies/oauth-auth-code-flow.d.ts +64 -0
  376. package/dist/modules/pipeline/modules/provider/v2/strategies/oauth-auth-code-flow.js +486 -0
  377. package/dist/modules/pipeline/modules/provider/v2/strategies/oauth-auth-code-flow.js.map +1 -0
  378. package/dist/modules/pipeline/modules/provider/v2/strategies/oauth-device-flow.d.ts +67 -0
  379. package/dist/modules/pipeline/modules/provider/v2/strategies/oauth-device-flow.js +412 -0
  380. package/dist/modules/pipeline/modules/provider/v2/strategies/oauth-device-flow.js.map +1 -0
  381. package/dist/modules/pipeline/modules/provider/v2/strategies/oauth-hybrid-flow.d.ts +60 -0
  382. package/dist/modules/pipeline/modules/provider/v2/strategies/oauth-hybrid-flow.js +107 -0
  383. package/dist/modules/pipeline/modules/provider/v2/strategies/oauth-hybrid-flow.js.map +1 -0
  384. package/dist/modules/pipeline/modules/provider/v2/utils/debug-logger.d.ts +1 -0
  385. package/dist/modules/pipeline/modules/provider/v2/utils/debug-logger.js +2 -0
  386. package/dist/modules/pipeline/modules/provider/v2/utils/debug-logger.js.map +1 -0
  387. package/dist/modules/pipeline/modules/provider/v2/utils/http-client.d.ts +93 -0
  388. package/dist/modules/pipeline/modules/provider/v2/utils/http-client.js +333 -0
  389. package/dist/modules/pipeline/modules/provider/v2/utils/http-client.js.map +1 -0
  390. package/dist/modules/pipeline/modules/provider/v2/utils/preflight-validator.d.ts +1 -0
  391. package/dist/modules/pipeline/modules/provider/v2/utils/preflight-validator.js +2 -0
  392. package/dist/modules/pipeline/modules/provider/v2/utils/preflight-validator.js.map +1 -0
  393. package/dist/modules/pipeline/modules/provider/v2/utils/provider-error-reporter.d.ts +28 -0
  394. package/dist/modules/pipeline/modules/provider/v2/utils/provider-error-reporter.js +108 -0
  395. package/dist/modules/pipeline/modules/provider/v2/utils/provider-error-reporter.js.map +1 -0
  396. package/dist/modules/pipeline/modules/provider/v2/utils/snapshot-writer.d.ts +28 -0
  397. package/dist/modules/pipeline/modules/provider/v2/utils/snapshot-writer.js +178 -0
  398. package/dist/modules/pipeline/modules/provider/v2/utils/snapshot-writer.js.map +1 -0
  399. package/dist/modules/pipeline/modules/provider/v2/utils/tool-result-text.d.ts +1 -0
  400. package/dist/modules/pipeline/modules/provider/v2/utils/tool-result-text.js +2 -0
  401. package/dist/modules/pipeline/modules/provider/v2/utils/tool-result-text.js.map +1 -0
  402. package/dist/modules/pipeline/modules/provider/v2/utils/transformation-engine.d.ts +1 -0
  403. package/dist/modules/pipeline/modules/provider/v2/utils/transformation-engine.js +2 -0
  404. package/dist/modules/pipeline/modules/provider/v2/utils/transformation-engine.js.map +1 -0
  405. package/dist/modules/pipeline/orchestrator/pipeline-context.d.ts +10 -0
  406. package/dist/modules/pipeline/orchestrator/pipeline-context.js +2 -0
  407. package/dist/modules/pipeline/orchestrator/pipeline-context.js.map +1 -0
  408. package/dist/modules/pipeline/types/base-types.d.ts +59 -0
  409. package/dist/modules/pipeline/types/base-types.js +7 -0
  410. package/dist/modules/pipeline/types/base-types.js.map +1 -0
  411. package/dist/modules/pipeline/types/common-types.d.ts +1 -0
  412. package/dist/modules/pipeline/types/common-types.js +2 -0
  413. package/dist/modules/pipeline/types/common-types.js.map +1 -0
  414. package/dist/modules/pipeline/types/external-types.d.ts +170 -0
  415. package/dist/modules/pipeline/types/external-types.js +9 -0
  416. package/dist/modules/pipeline/types/external-types.js.map +1 -0
  417. package/dist/modules/pipeline/types/module.types.d.ts +1 -0
  418. package/dist/modules/pipeline/types/module.types.js +2 -0
  419. package/dist/modules/pipeline/types/module.types.js.map +1 -0
  420. package/dist/modules/pipeline/types/provider-types.d.ts +465 -0
  421. package/dist/modules/pipeline/types/provider-types.js +7 -0
  422. package/dist/modules/pipeline/types/provider-types.js.map +1 -0
  423. package/dist/modules/pipeline/types/shared-dtos.d.ts +1 -0
  424. package/dist/modules/pipeline/types/shared-dtos.js +2 -0
  425. package/dist/modules/pipeline/types/shared-dtos.js.map +1 -0
  426. package/dist/modules/pipeline/types/transformation-types.d.ts +414 -0
  427. package/dist/modules/pipeline/types/transformation-types.js +7 -0
  428. package/dist/modules/pipeline/types/transformation-types.js.map +1 -0
  429. package/dist/modules/pipeline/utils/debug-logger.d.ts +67 -0
  430. package/dist/modules/pipeline/utils/debug-logger.js +163 -0
  431. package/dist/modules/pipeline/utils/debug-logger.js.map +1 -0
  432. package/dist/modules/pipeline/utils/oauth-helpers.d.ts +1 -0
  433. package/dist/modules/pipeline/utils/oauth-helpers.js +24 -0
  434. package/dist/modules/pipeline/utils/oauth-helpers.js.map +1 -0
  435. package/dist/modules/pipeline/utils/preflight-validator.d.ts +13 -0
  436. package/dist/modules/pipeline/utils/preflight-validator.js +10 -0
  437. package/dist/modules/pipeline/utils/preflight-validator.js.map +1 -0
  438. package/dist/modules/pipeline/utils/tool-result-text.d.ts +1 -0
  439. package/dist/modules/pipeline/utils/tool-result-text.js +18 -0
  440. package/dist/modules/pipeline/utils/tool-result-text.js.map +1 -0
  441. package/dist/modules/pipeline/utils/transformation-engine.d.ts +32 -0
  442. package/dist/modules/pipeline/utils/transformation-engine.js +28 -0
  443. package/dist/modules/pipeline/utils/transformation-engine.js.map +1 -0
  444. package/dist/modules/pipeline/validation/config-validator.d.ts +16 -0
  445. package/dist/modules/pipeline/validation/config-validator.js +40 -0
  446. package/dist/modules/pipeline/validation/config-validator.js.map +1 -0
  447. package/dist/server/RouteCodexServer.d.ts +13 -0
  448. package/dist/server/RouteCodexServer.js +25 -0
  449. package/dist/server/RouteCodexServer.js.map +1 -0
  450. package/dist/server/handlers/chat-handler.d.ts +7 -0
  451. package/dist/server/handlers/chat-handler.js +57 -0
  452. package/dist/server/handlers/chat-handler.js.map +1 -0
  453. package/dist/server/handlers/config-admin-handler.d.ts +12 -0
  454. package/dist/server/handlers/config-admin-handler.js +274 -0
  455. package/dist/server/handlers/config-admin-handler.js.map +1 -0
  456. package/dist/server/handlers/handler-utils.d.ts +15 -0
  457. package/dist/server/handlers/handler-utils.js +227 -0
  458. package/dist/server/handlers/handler-utils.js.map +1 -0
  459. package/dist/server/handlers/messages-handler.d.ts +7 -0
  460. package/dist/server/handlers/messages-handler.js +58 -0
  461. package/dist/server/handlers/messages-handler.js.map +1 -0
  462. package/dist/server/handlers/responses-handler.d.ts +12 -0
  463. package/dist/server/handlers/responses-handler.js +85 -0
  464. package/dist/server/handlers/responses-handler.js.map +1 -0
  465. package/dist/server/handlers/types.d.ts +21 -0
  466. package/dist/server/handlers/types.js +2 -0
  467. package/dist/server/handlers/types.js.map +1 -0
  468. package/dist/server/runtime/http-server/index.d.ts +96 -0
  469. package/dist/server/runtime/http-server/index.js +763 -0
  470. package/dist/server/runtime/http-server/index.js.map +1 -0
  471. package/dist/server/runtime/http-server/llmswitch-loader.d.ts +2 -0
  472. package/dist/server/runtime/http-server/llmswitch-loader.js +25 -0
  473. package/dist/server/runtime/http-server/llmswitch-loader.js.map +1 -0
  474. package/dist/server/runtime/http-server/middleware.d.ts +2 -0
  475. package/dist/server/runtime/http-server/middleware.js +12 -0
  476. package/dist/server/runtime/http-server/middleware.js.map +1 -0
  477. package/dist/server/runtime/http-server/provider-utils.d.ts +7 -0
  478. package/dist/server/runtime/http-server/provider-utils.js +65 -0
  479. package/dist/server/runtime/http-server/provider-utils.js.map +1 -0
  480. package/dist/server/runtime/http-server/routes.d.ts +12 -0
  481. package/dist/server/runtime/http-server/routes.js +88 -0
  482. package/dist/server/runtime/http-server/routes.js.map +1 -0
  483. package/dist/server/runtime/http-server/types.d.ts +85 -0
  484. package/dist/server/runtime/http-server/types.js +2 -0
  485. package/dist/server/runtime/http-server/types.js.map +1 -0
  486. package/dist/server/runtime/http-server.d.ts +2 -0
  487. package/dist/server/runtime/http-server.js +2 -0
  488. package/dist/server/runtime/http-server.js.map +1 -0
  489. package/dist/server/utils/http-error-mapper.d.ts +21 -0
  490. package/dist/server/utils/http-error-mapper.js +119 -0
  491. package/dist/server/utils/http-error-mapper.js.map +1 -0
  492. package/dist/server/utils/non-blocking-error-logger.d.ts +16 -0
  493. package/dist/server/utils/non-blocking-error-logger.js +80 -0
  494. package/dist/server/utils/non-blocking-error-logger.js.map +1 -0
  495. package/dist/server/utils/port-resolver.d.ts +5 -0
  496. package/dist/server/utils/port-resolver.js +14 -0
  497. package/dist/server/utils/port-resolver.js.map +1 -0
  498. package/dist/server/utils/stage-logger.d.ts +2 -0
  499. package/dist/server/utils/stage-logger.js +71 -0
  500. package/dist/server/utils/stage-logger.js.map +1 -0
  501. package/dist/server-factory.d.ts +96 -0
  502. package/dist/server-factory.js +201 -0
  503. package/dist/server-factory.js.map +1 -0
  504. package/dist/tools/provider-update/auth-headers.d.ts +2 -0
  505. package/dist/tools/provider-update/auth-headers.js +11 -0
  506. package/dist/tools/provider-update/auth-headers.js.map +1 -0
  507. package/dist/tools/provider-update/blacklist.d.ts +3 -0
  508. package/dist/tools/provider-update/blacklist.js +23 -0
  509. package/dist/tools/provider-update/blacklist.js.map +1 -0
  510. package/dist/tools/provider-update/config-builder.d.ts +18 -0
  511. package/dist/tools/provider-update/config-builder.js +126 -0
  512. package/dist/tools/provider-update/config-builder.js.map +1 -0
  513. package/dist/tools/provider-update/diff.d.ts +8 -0
  514. package/dist/tools/provider-update/diff.js +11 -0
  515. package/dist/tools/provider-update/diff.js.map +1 -0
  516. package/dist/tools/provider-update/fetch-models.d.ts +2 -0
  517. package/dist/tools/provider-update/fetch-models.js +185 -0
  518. package/dist/tools/provider-update/fetch-models.js.map +1 -0
  519. package/dist/tools/provider-update/index.d.ts +2 -0
  520. package/dist/tools/provider-update/index.js +178 -0
  521. package/dist/tools/provider-update/index.js.map +1 -0
  522. package/dist/tools/provider-update/key-probe.d.ts +2 -0
  523. package/dist/tools/provider-update/key-probe.js +29 -0
  524. package/dist/tools/provider-update/key-probe.js.map +1 -0
  525. package/dist/tools/provider-update/paths.d.ts +4 -0
  526. package/dist/tools/provider-update/paths.js +19 -0
  527. package/dist/tools/provider-update/paths.js.map +1 -0
  528. package/dist/tools/provider-update/templates.d.ts +1 -0
  529. package/dist/tools/provider-update/templates.js +59 -0
  530. package/dist/tools/provider-update/templates.js.map +1 -0
  531. package/dist/tools/provider-update/types.d.ts +52 -0
  532. package/dist/tools/provider-update/types.js +2 -0
  533. package/dist/tools/provider-update/types.js.map +1 -0
  534. package/dist/tools/provider-update/url-normalize.d.ts +1 -0
  535. package/dist/tools/provider-update/url-normalize.js +11 -0
  536. package/dist/tools/provider-update/url-normalize.js.map +1 -0
  537. package/dist/tools/replay-request.d.ts +0 -0
  538. package/dist/tools/replay-request.js +2 -0
  539. package/dist/tools/replay-request.js.map +1 -0
  540. package/dist/types/common-types.d.ts +12 -0
  541. package/dist/types/common-types.js +5 -0
  542. package/dist/types/common-types.js.map +1 -0
  543. package/dist/types/config-types.d.ts +187 -0
  544. package/dist/types/config-types.js +6 -0
  545. package/dist/types/config-types.js.map +1 -0
  546. package/dist/types/debug-types.d.ts +791 -0
  547. package/dist/types/debug-types.js +75 -0
  548. package/dist/types/debug-types.js.map +1 -0
  549. package/dist/types/http-types.d.ts +148 -0
  550. package/dist/types/http-types.js +6 -0
  551. package/dist/types/http-types.js.map +1 -0
  552. package/dist/types/json.d.ts +6 -0
  553. package/dist/types/json.js +2 -0
  554. package/dist/types/json.js.map +1 -0
  555. package/dist/types/module.types.d.ts +13 -0
  556. package/dist/types/module.types.js +2 -0
  557. package/dist/types/module.types.js.map +1 -0
  558. package/dist/types/pipeline-types.d.ts +157 -0
  559. package/dist/types/pipeline-types.js +6 -0
  560. package/dist/types/pipeline-types.js.map +1 -0
  561. package/dist/types/shared-dtos.d.ts +51 -0
  562. package/dist/types/shared-dtos.js +9 -0
  563. package/dist/types/shared-dtos.js.map +1 -0
  564. package/dist/utils/debug-utils.d.ts +176 -0
  565. package/dist/utils/debug-utils.js +542 -0
  566. package/dist/utils/debug-utils.js.map +1 -0
  567. package/dist/utils/error-handler-registry.d.ts +103 -0
  568. package/dist/utils/error-handler-registry.js +435 -0
  569. package/dist/utils/error-handler-registry.js.map +1 -0
  570. package/dist/utils/error-handler.d.ts +0 -0
  571. package/dist/utils/error-handler.js +3 -0
  572. package/dist/utils/error-handler.js.map +1 -0
  573. package/dist/utils/error-handling-utils.d.ts +119 -0
  574. package/dist/utils/error-handling-utils.js +334 -0
  575. package/dist/utils/error-handling-utils.js.map +1 -0
  576. package/dist/utils/failover.d.ts +0 -0
  577. package/dist/utils/failover.js +3 -0
  578. package/dist/utils/failover.js.map +1 -0
  579. package/dist/utils/key-429-tracker.d.ts +106 -0
  580. package/dist/utils/key-429-tracker.js +230 -0
  581. package/dist/utils/key-429-tracker.js.map +1 -0
  582. package/dist/utils/logger.d.ts +0 -0
  583. package/dist/utils/logger.js +3 -0
  584. package/dist/utils/logger.js.map +1 -0
  585. package/dist/utils/module-config-reader.d.ts +50 -0
  586. package/dist/utils/module-config-reader.js +160 -0
  587. package/dist/utils/module-config-reader.js.map +1 -0
  588. package/dist/utils/pipeline-health-manager.d.ts +125 -0
  589. package/dist/utils/pipeline-health-manager.js +272 -0
  590. package/dist/utils/pipeline-health-manager.js.map +1 -0
  591. package/dist/utils/snapshot-writer.d.ts +8 -0
  592. package/dist/utils/snapshot-writer.js +71 -0
  593. package/dist/utils/snapshot-writer.js.map +1 -0
  594. package/dist/utils/system-prompt-loader.d.ts +22 -0
  595. package/dist/utils/system-prompt-loader.js +128 -0
  596. package/dist/utils/system-prompt-loader.js.map +1 -0
  597. package/dist/v2/conversion/hub/snapshot-recorder.d.ts +12 -0
  598. package/dist/v2/conversion/hub/snapshot-recorder.js +22 -0
  599. package/dist/v2/conversion/hub/snapshot-recorder.js.map +1 -0
  600. package/node_modules/ajv/.runkit_example.js +23 -0
  601. package/node_modules/ajv/LICENSE +22 -0
  602. package/node_modules/ajv/README.md +207 -0
  603. package/node_modules/ajv/dist/2019.d.ts +19 -0
  604. package/node_modules/ajv/dist/2019.js +61 -0
  605. package/node_modules/ajv/dist/2019.js.map +1 -0
  606. package/node_modules/ajv/dist/2020.d.ts +19 -0
  607. package/node_modules/ajv/dist/2020.js +55 -0
  608. package/node_modules/ajv/dist/2020.js.map +1 -0
  609. package/node_modules/ajv/dist/ajv.d.ts +18 -0
  610. package/node_modules/ajv/dist/ajv.js +50 -0
  611. package/node_modules/ajv/dist/ajv.js.map +1 -0
  612. package/node_modules/ajv/dist/compile/codegen/code.d.ts +40 -0
  613. package/node_modules/ajv/dist/compile/codegen/code.js +156 -0
  614. package/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  615. package/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
  616. package/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  617. package/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  618. package/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
  619. package/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  620. package/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  621. package/node_modules/ajv/dist/compile/errors.d.ts +13 -0
  622. package/node_modules/ajv/dist/compile/errors.js +123 -0
  623. package/node_modules/ajv/dist/compile/errors.js.map +1 -0
  624. package/node_modules/ajv/dist/compile/index.d.ts +80 -0
  625. package/node_modules/ajv/dist/compile/index.js +242 -0
  626. package/node_modules/ajv/dist/compile/index.js.map +1 -0
  627. package/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
  628. package/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
  629. package/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
  630. package/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
  631. package/node_modules/ajv/dist/compile/jtd/serialize.js +229 -0
  632. package/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
  633. package/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
  634. package/node_modules/ajv/dist/compile/jtd/types.js +14 -0
  635. package/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
  636. package/node_modules/ajv/dist/compile/names.d.ts +20 -0
  637. package/node_modules/ajv/dist/compile/names.js +28 -0
  638. package/node_modules/ajv/dist/compile/names.js.map +1 -0
  639. package/node_modules/ajv/dist/compile/ref_error.d.ts +6 -0
  640. package/node_modules/ajv/dist/compile/ref_error.js +12 -0
  641. package/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  642. package/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
  643. package/node_modules/ajv/dist/compile/resolve.js +155 -0
  644. package/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  645. package/node_modules/ajv/dist/compile/rules.d.ts +28 -0
  646. package/node_modules/ajv/dist/compile/rules.js +26 -0
  647. package/node_modules/ajv/dist/compile/rules.js.map +1 -0
  648. package/node_modules/ajv/dist/compile/util.d.ts +40 -0
  649. package/node_modules/ajv/dist/compile/util.js +178 -0
  650. package/node_modules/ajv/dist/compile/util.js.map +1 -0
  651. package/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
  652. package/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  653. package/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  654. package/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
  655. package/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  656. package/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  657. package/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
  658. package/node_modules/ajv/dist/compile/validate/dataType.js +203 -0
  659. package/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  660. package/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
  661. package/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  662. package/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  663. package/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
  664. package/node_modules/ajv/dist/compile/validate/index.js +520 -0
  665. package/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  666. package/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
  667. package/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  668. package/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  669. package/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
  670. package/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  671. package/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  672. package/node_modules/ajv/dist/core.d.ts +173 -0
  673. package/node_modules/ajv/dist/core.js +618 -0
  674. package/node_modules/ajv/dist/core.js.map +1 -0
  675. package/node_modules/ajv/dist/jtd.d.ts +47 -0
  676. package/node_modules/ajv/dist/jtd.js +72 -0
  677. package/node_modules/ajv/dist/jtd.js.map +1 -0
  678. package/node_modules/ajv/dist/refs/data.json +13 -0
  679. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
  680. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
  681. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
  682. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
  683. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
  684. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
  685. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
  686. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  687. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
  688. package/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
  689. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
  690. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
  691. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
  692. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  693. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  694. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  695. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  696. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  697. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  698. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  699. package/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  700. package/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
  701. package/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  702. package/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
  703. package/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
  704. package/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
  705. package/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
  706. package/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
  707. package/node_modules/ajv/dist/runtime/equal.js +7 -0
  708. package/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  709. package/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
  710. package/node_modules/ajv/dist/runtime/parseJson.js +185 -0
  711. package/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
  712. package/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
  713. package/node_modules/ajv/dist/runtime/quote.js +30 -0
  714. package/node_modules/ajv/dist/runtime/quote.js.map +1 -0
  715. package/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
  716. package/node_modules/ajv/dist/runtime/re2.js +6 -0
  717. package/node_modules/ajv/dist/runtime/re2.js.map +1 -0
  718. package/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
  719. package/node_modules/ajv/dist/runtime/timestamp.js +42 -0
  720. package/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
  721. package/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
  722. package/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  723. package/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  724. package/node_modules/ajv/dist/runtime/uri.d.ts +6 -0
  725. package/node_modules/ajv/dist/runtime/uri.js +6 -0
  726. package/node_modules/ajv/dist/runtime/uri.js.map +1 -0
  727. package/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
  728. package/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  729. package/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  730. package/node_modules/ajv/dist/standalone/index.d.ts +6 -0
  731. package/node_modules/ajv/dist/standalone/index.js +90 -0
  732. package/node_modules/ajv/dist/standalone/index.js.map +1 -0
  733. package/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
  734. package/node_modules/ajv/dist/standalone/instance.js +35 -0
  735. package/node_modules/ajv/dist/standalone/instance.js.map +1 -0
  736. package/node_modules/ajv/dist/types/index.d.ts +183 -0
  737. package/node_modules/ajv/dist/types/index.js +3 -0
  738. package/node_modules/ajv/dist/types/index.js.map +1 -0
  739. package/node_modules/ajv/dist/types/json-schema.d.ts +125 -0
  740. package/node_modules/ajv/dist/types/json-schema.js +3 -0
  741. package/node_modules/ajv/dist/types/json-schema.js.map +1 -0
  742. package/node_modules/ajv/dist/types/jtd-schema.d.ts +174 -0
  743. package/node_modules/ajv/dist/types/jtd-schema.js +3 -0
  744. package/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
  745. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
  746. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  747. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  748. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
  749. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  750. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  751. package/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
  752. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  753. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  754. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
  755. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  756. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  757. package/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
  758. package/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  759. package/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  760. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
  761. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  762. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  763. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
  764. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
  765. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
  766. package/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
  767. package/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  768. package/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  769. package/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
  770. package/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  771. package/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  772. package/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
  773. package/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  774. package/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  775. package/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
  776. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  777. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  778. package/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
  779. package/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  780. package/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  781. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
  782. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  783. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  784. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
  785. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  786. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  787. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
  788. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  789. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  790. package/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
  791. package/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  792. package/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  793. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
  794. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  795. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  796. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
  797. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  798. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  799. package/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
  800. package/node_modules/ajv/dist/vocabularies/code.js +131 -0
  801. package/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  802. package/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
  803. package/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  804. package/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  805. package/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
  806. package/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  807. package/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  808. package/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
  809. package/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  810. package/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  811. package/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
  812. package/node_modules/ajv/dist/vocabularies/discriminator/index.js +104 -0
  813. package/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  814. package/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
  815. package/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  816. package/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  817. package/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
  818. package/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
  819. package/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
  820. package/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
  821. package/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  822. package/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  823. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
  824. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
  825. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
  826. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
  827. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
  828. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
  829. package/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
  830. package/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
  831. package/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
  832. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
  833. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
  834. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
  835. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
  836. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
  837. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
  838. package/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
  839. package/node_modules/ajv/dist/vocabularies/errors.js +3 -0
  840. package/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
  841. package/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
  842. package/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  843. package/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  844. package/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
  845. package/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  846. package/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  847. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
  848. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
  849. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
  850. package/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
  851. package/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
  852. package/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
  853. package/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
  854. package/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
  855. package/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
  856. package/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
  857. package/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
  858. package/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
  859. package/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
  860. package/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
  861. package/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
  862. package/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
  863. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
  864. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
  865. package/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
  866. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
  867. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
  868. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
  869. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
  870. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
  871. package/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
  872. package/node_modules/ajv/dist/vocabularies/jtd/properties.js +149 -0
  873. package/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
  874. package/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
  875. package/node_modules/ajv/dist/vocabularies/jtd/ref.js +67 -0
  876. package/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
  877. package/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
  878. package/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
  879. package/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
  880. package/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
  881. package/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
  882. package/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
  883. package/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
  884. package/node_modules/ajv/dist/vocabularies/jtd/values.js +51 -0
  885. package/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
  886. package/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
  887. package/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  888. package/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  889. package/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
  890. package/node_modules/ajv/dist/vocabularies/next.js +8 -0
  891. package/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
  892. package/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
  893. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
  894. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
  895. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
  896. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
  897. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
  898. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
  899. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
  900. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
  901. package/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
  902. package/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  903. package/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  904. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
  905. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
  906. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
  907. package/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
  908. package/node_modules/ajv/dist/vocabularies/validation/enum.js +48 -0
  909. package/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  910. package/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
  911. package/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  912. package/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  913. package/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
  914. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
  915. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
  916. package/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
  917. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  918. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  919. package/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
  920. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  921. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  922. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
  923. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  924. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  925. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
  926. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  927. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  928. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
  929. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  930. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  931. package/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
  932. package/node_modules/ajv/dist/vocabularies/validation/pattern.js +24 -0
  933. package/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  934. package/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
  935. package/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  936. package/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  937. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
  938. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  939. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  940. package/node_modules/ajv/lib/2019.ts +81 -0
  941. package/node_modules/ajv/lib/2020.ts +75 -0
  942. package/node_modules/ajv/lib/ajv.ts +70 -0
  943. package/node_modules/ajv/lib/compile/codegen/code.ts +169 -0
  944. package/node_modules/ajv/lib/compile/codegen/index.ts +852 -0
  945. package/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
  946. package/node_modules/ajv/lib/compile/errors.ts +184 -0
  947. package/node_modules/ajv/lib/compile/index.ts +324 -0
  948. package/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
  949. package/node_modules/ajv/lib/compile/jtd/serialize.ts +266 -0
  950. package/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
  951. package/node_modules/ajv/lib/compile/names.ts +27 -0
  952. package/node_modules/ajv/lib/compile/ref_error.ts +13 -0
  953. package/node_modules/ajv/lib/compile/resolve.ts +149 -0
  954. package/node_modules/ajv/lib/compile/rules.ts +50 -0
  955. package/node_modules/ajv/lib/compile/util.ts +213 -0
  956. package/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
  957. package/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
  958. package/node_modules/ajv/lib/compile/validate/dataType.ts +230 -0
  959. package/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
  960. package/node_modules/ajv/lib/compile/validate/index.ts +582 -0
  961. package/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
  962. package/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
  963. package/node_modules/ajv/lib/core.ts +891 -0
  964. package/node_modules/ajv/lib/jtd.ts +132 -0
  965. package/node_modules/ajv/lib/refs/data.json +13 -0
  966. package/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
  967. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
  968. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
  969. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
  970. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
  971. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  972. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
  973. package/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
  974. package/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
  975. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
  976. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
  977. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
  978. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  979. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  980. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  981. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
  982. package/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
  983. package/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
  984. package/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
  985. package/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
  986. package/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
  987. package/node_modules/ajv/lib/runtime/equal.ts +7 -0
  988. package/node_modules/ajv/lib/runtime/parseJson.ts +177 -0
  989. package/node_modules/ajv/lib/runtime/quote.ts +31 -0
  990. package/node_modules/ajv/lib/runtime/re2.ts +6 -0
  991. package/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
  992. package/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
  993. package/node_modules/ajv/lib/runtime/uri.ts +6 -0
  994. package/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
  995. package/node_modules/ajv/lib/standalone/index.ts +100 -0
  996. package/node_modules/ajv/lib/standalone/instance.ts +36 -0
  997. package/node_modules/ajv/lib/types/index.ts +244 -0
  998. package/node_modules/ajv/lib/types/json-schema.ts +187 -0
  999. package/node_modules/ajv/lib/types/jtd-schema.ts +273 -0
  1000. package/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
  1001. package/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
  1002. package/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
  1003. package/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
  1004. package/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
  1005. package/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
  1006. package/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
  1007. package/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
  1008. package/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
  1009. package/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
  1010. package/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
  1011. package/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
  1012. package/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
  1013. package/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
  1014. package/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
  1015. package/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
  1016. package/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
  1017. package/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
  1018. package/node_modules/ajv/lib/vocabularies/code.ts +168 -0
  1019. package/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
  1020. package/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
  1021. package/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
  1022. package/node_modules/ajv/lib/vocabularies/discriminator/index.ts +113 -0
  1023. package/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
  1024. package/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
  1025. package/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
  1026. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
  1027. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
  1028. package/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
  1029. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
  1030. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
  1031. package/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
  1032. package/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
  1033. package/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
  1034. package/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
  1035. package/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
  1036. package/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
  1037. package/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
  1038. package/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
  1039. package/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
  1040. package/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
  1041. package/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
  1042. package/node_modules/ajv/lib/vocabularies/jtd/properties.ts +184 -0
  1043. package/node_modules/ajv/lib/vocabularies/jtd/ref.ts +76 -0
  1044. package/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
  1045. package/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
  1046. package/node_modules/ajv/lib/vocabularies/jtd/values.ts +58 -0
  1047. package/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
  1048. package/node_modules/ajv/lib/vocabularies/next.ts +8 -0
  1049. package/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
  1050. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
  1051. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
  1052. package/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
  1053. package/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
  1054. package/node_modules/ajv/lib/vocabularies/validation/enum.ts +54 -0
  1055. package/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
  1056. package/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
  1057. package/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
  1058. package/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
  1059. package/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
  1060. package/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
  1061. package/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
  1062. package/node_modules/ajv/lib/vocabularies/validation/pattern.ts +28 -0
  1063. package/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
  1064. package/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
  1065. package/node_modules/ajv/package.json +126 -0
  1066. package/node_modules/fast-deep-equal/LICENSE +21 -0
  1067. package/node_modules/fast-deep-equal/README.md +96 -0
  1068. package/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
  1069. package/node_modules/fast-deep-equal/es6/index.js +72 -0
  1070. package/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
  1071. package/node_modules/fast-deep-equal/es6/react.js +79 -0
  1072. package/node_modules/fast-deep-equal/index.d.ts +4 -0
  1073. package/node_modules/fast-deep-equal/index.js +46 -0
  1074. package/node_modules/fast-deep-equal/package.json +61 -0
  1075. package/node_modules/fast-deep-equal/react.d.ts +2 -0
  1076. package/node_modules/fast-deep-equal/react.js +53 -0
  1077. package/node_modules/fast-uri/.gitattributes +2 -0
  1078. package/node_modules/fast-uri/.github/.stale.yml +21 -0
  1079. package/node_modules/fast-uri/.github/dependabot.yml +13 -0
  1080. package/node_modules/fast-uri/.github/tests_checker.yml +8 -0
  1081. package/node_modules/fast-uri/.github/workflows/ci.yml +101 -0
  1082. package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +24 -0
  1083. package/node_modules/fast-uri/LICENSE +32 -0
  1084. package/node_modules/fast-uri/README.md +143 -0
  1085. package/node_modules/fast-uri/benchmark/benchmark.mjs +159 -0
  1086. package/node_modules/fast-uri/benchmark/equal.mjs +51 -0
  1087. package/node_modules/fast-uri/benchmark/non-simple-domain.mjs +22 -0
  1088. package/node_modules/fast-uri/benchmark/package.json +17 -0
  1089. package/node_modules/fast-uri/benchmark/string-array-to-hex-stripped.mjs +24 -0
  1090. package/node_modules/fast-uri/benchmark/ws-is-secure.mjs +65 -0
  1091. package/node_modules/fast-uri/eslint.config.js +6 -0
  1092. package/node_modules/fast-uri/index.js +340 -0
  1093. package/node_modules/fast-uri/lib/schemes.js +267 -0
  1094. package/node_modules/fast-uri/lib/utils.js +336 -0
  1095. package/node_modules/fast-uri/package.json +69 -0
  1096. package/node_modules/fast-uri/test/ajv.test.js +43 -0
  1097. package/node_modules/fast-uri/test/equal.test.js +108 -0
  1098. package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +501 -0
  1099. package/node_modules/fast-uri/test/fixtures/uri-js-serialize.json +120 -0
  1100. package/node_modules/fast-uri/test/parse.test.js +318 -0
  1101. package/node_modules/fast-uri/test/resolve.test.js +78 -0
  1102. package/node_modules/fast-uri/test/rfc-3986.test.js +90 -0
  1103. package/node_modules/fast-uri/test/serialize.test.js +151 -0
  1104. package/node_modules/fast-uri/test/uri-js-compatibility.test.js +33 -0
  1105. package/node_modules/fast-uri/test/uri-js.test.js +912 -0
  1106. package/node_modules/fast-uri/test/util.test.js +38 -0
  1107. package/node_modules/fast-uri/tsconfig.json +9 -0
  1108. package/node_modules/fast-uri/types/index.d.ts +60 -0
  1109. package/node_modules/fast-uri/types/index.test-d.ts +17 -0
  1110. package/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
  1111. package/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
  1112. package/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
  1113. package/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
  1114. package/node_modules/json-schema-traverse/LICENSE +21 -0
  1115. package/node_modules/json-schema-traverse/README.md +95 -0
  1116. package/node_modules/json-schema-traverse/index.d.ts +40 -0
  1117. package/node_modules/json-schema-traverse/index.js +93 -0
  1118. package/node_modules/json-schema-traverse/package.json +43 -0
  1119. package/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
  1120. package/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
  1121. package/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
  1122. package/node_modules/require-from-string/index.js +34 -0
  1123. package/node_modules/require-from-string/license +21 -0
  1124. package/node_modules/require-from-string/package.json +28 -0
  1125. package/node_modules/require-from-string/readme.md +56 -0
  1126. package/node_modules/zod/LICENSE +21 -0
  1127. package/node_modules/zod/README.md +208 -0
  1128. package/node_modules/zod/index.cjs +33 -0
  1129. package/node_modules/zod/index.d.cts +4 -0
  1130. package/node_modules/zod/index.d.ts +4 -0
  1131. package/node_modules/zod/index.js +4 -0
  1132. package/node_modules/zod/package.json +118 -0
  1133. package/node_modules/zod/src/index.ts +4 -0
  1134. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  1135. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  1136. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  1137. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  1138. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  1139. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  1140. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  1141. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  1142. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  1143. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  1144. package/node_modules/zod/src/v3/errors.ts +13 -0
  1145. package/node_modules/zod/src/v3/external.ts +6 -0
  1146. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  1147. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  1148. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  1149. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  1150. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  1151. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  1152. package/node_modules/zod/src/v3/index.ts +4 -0
  1153. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  1154. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  1155. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  1156. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  1157. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  1158. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  1159. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  1160. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  1161. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  1162. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  1163. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  1164. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  1165. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  1166. package/node_modules/zod/src/v3/tests/complex.test.ts +56 -0
  1167. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  1168. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  1169. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  1170. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  1171. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  1172. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  1173. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  1174. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  1175. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  1176. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  1177. package/node_modules/zod/src/v3/tests/function.test.ts +257 -0
  1178. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  1179. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  1180. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  1181. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  1182. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  1183. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  1184. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  1185. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  1186. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  1187. package/node_modules/zod/src/v3/tests/nan.test.ts +21 -0
  1188. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  1189. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  1190. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  1191. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  1192. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  1193. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  1194. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  1195. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  1196. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  1197. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  1198. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  1199. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  1200. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  1201. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  1202. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  1203. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  1204. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  1205. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  1206. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  1207. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  1208. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  1209. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  1210. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  1211. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  1212. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  1213. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  1214. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  1215. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  1216. package/node_modules/zod/src/v3/types.ts +5136 -0
  1217. package/node_modules/zod/src/v4/classic/checks.ts +30 -0
  1218. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  1219. package/node_modules/zod/src/v4/classic/compat.ts +66 -0
  1220. package/node_modules/zod/src/v4/classic/errors.ts +75 -0
  1221. package/node_modules/zod/src/v4/classic/external.ts +50 -0
  1222. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  1223. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  1224. package/node_modules/zod/src/v4/classic/parse.ts +33 -0
  1225. package/node_modules/zod/src/v4/classic/schemas.ts +2054 -0
  1226. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  1227. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  1228. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  1229. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  1230. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  1231. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  1232. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  1233. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +63 -0
  1234. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +252 -0
  1235. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  1236. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  1237. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +352 -0
  1238. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  1239. package/node_modules/zod/src/v4/classic/tests/date.test.ts +31 -0
  1240. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +296 -0
  1241. package/node_modules/zod/src/v4/classic/tests/default.test.ts +313 -0
  1242. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  1243. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +619 -0
  1244. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  1245. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +527 -0
  1246. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  1247. package/node_modules/zod/src/v4/classic/tests/file.test.ts +91 -0
  1248. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +175 -0
  1249. package/node_modules/zod/src/v4/classic/tests/function.test.ts +268 -0
  1250. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  1251. package/node_modules/zod/src/v4/classic/tests/index.test.ts +829 -0
  1252. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +34 -0
  1253. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +171 -0
  1254. package/node_modules/zod/src/v4/classic/tests/json.test.ts +108 -0
  1255. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  1256. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +92 -0
  1257. package/node_modules/zod/src/v4/classic/tests/map.test.ts +196 -0
  1258. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  1259. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  1260. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +86 -0
  1261. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  1262. package/node_modules/zod/src/v4/classic/tests/number.test.ts +247 -0
  1263. package/node_modules/zod/src/v4/classic/tests/object.test.ts +563 -0
  1264. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +123 -0
  1265. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +147 -0
  1266. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +127 -0
  1267. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +81 -0
  1268. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +37 -0
  1269. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +298 -0
  1270. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  1271. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  1272. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  1273. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  1274. package/node_modules/zod/src/v4/classic/tests/record.test.ts +342 -0
  1275. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +356 -0
  1276. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +532 -0
  1277. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +204 -0
  1278. package/node_modules/zod/src/v4/classic/tests/set.test.ts +179 -0
  1279. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +57 -0
  1280. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +109 -0
  1281. package/node_modules/zod/src/v4/classic/tests/string.test.ts +881 -0
  1282. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +66 -0
  1283. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +758 -0
  1284. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2314 -0
  1285. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +250 -0
  1286. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +163 -0
  1287. package/node_modules/zod/src/v4/classic/tests/union.test.ts +94 -0
  1288. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  1289. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  1290. package/node_modules/zod/src/v4/core/api.ts +1594 -0
  1291. package/node_modules/zod/src/v4/core/checks.ts +1283 -0
  1292. package/node_modules/zod/src/v4/core/config.ts +15 -0
  1293. package/node_modules/zod/src/v4/core/core.ts +134 -0
  1294. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  1295. package/node_modules/zod/src/v4/core/errors.ts +424 -0
  1296. package/node_modules/zod/src/v4/core/function.ts +176 -0
  1297. package/node_modules/zod/src/v4/core/index.ts +15 -0
  1298. package/node_modules/zod/src/v4/core/json-schema.ts +143 -0
  1299. package/node_modules/zod/src/v4/core/parse.ts +94 -0
  1300. package/node_modules/zod/src/v4/core/regexes.ts +135 -0
  1301. package/node_modules/zod/src/v4/core/registries.ts +96 -0
  1302. package/node_modules/zod/src/v4/core/schemas.ts +3842 -0
  1303. package/node_modules/zod/src/v4/core/standard-schema.ts +64 -0
  1304. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  1305. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  1306. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  1307. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  1308. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  1309. package/node_modules/zod/src/v4/core/to-json-schema.ts +977 -0
  1310. package/node_modules/zod/src/v4/core/util.ts +775 -0
  1311. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  1312. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  1313. package/node_modules/zod/src/v4/index.ts +4 -0
  1314. package/node_modules/zod/src/v4/locales/ar.ts +125 -0
  1315. package/node_modules/zod/src/v4/locales/az.ts +121 -0
  1316. package/node_modules/zod/src/v4/locales/be.ts +184 -0
  1317. package/node_modules/zod/src/v4/locales/ca.ts +127 -0
  1318. package/node_modules/zod/src/v4/locales/cs.ts +142 -0
  1319. package/node_modules/zod/src/v4/locales/de.ts +124 -0
  1320. package/node_modules/zod/src/v4/locales/en.ts +127 -0
  1321. package/node_modules/zod/src/v4/locales/eo.ts +125 -0
  1322. package/node_modules/zod/src/v4/locales/es.ts +125 -0
  1323. package/node_modules/zod/src/v4/locales/fa.ts +134 -0
  1324. package/node_modules/zod/src/v4/locales/fi.ts +131 -0
  1325. package/node_modules/zod/src/v4/locales/fr-CA.ts +126 -0
  1326. package/node_modules/zod/src/v4/locales/fr.ts +124 -0
  1327. package/node_modules/zod/src/v4/locales/he.ts +125 -0
  1328. package/node_modules/zod/src/v4/locales/hu.ts +126 -0
  1329. package/node_modules/zod/src/v4/locales/id.ts +125 -0
  1330. package/node_modules/zod/src/v4/locales/index.ts +39 -0
  1331. package/node_modules/zod/src/v4/locales/it.ts +125 -0
  1332. package/node_modules/zod/src/v4/locales/ja.ts +122 -0
  1333. package/node_modules/zod/src/v4/locales/kh.ts +126 -0
  1334. package/node_modules/zod/src/v4/locales/ko.ts +131 -0
  1335. package/node_modules/zod/src/v4/locales/mk.ts +127 -0
  1336. package/node_modules/zod/src/v4/locales/ms.ts +124 -0
  1337. package/node_modules/zod/src/v4/locales/nl.ts +126 -0
  1338. package/node_modules/zod/src/v4/locales/no.ts +124 -0
  1339. package/node_modules/zod/src/v4/locales/ota.ts +125 -0
  1340. package/node_modules/zod/src/v4/locales/pl.ts +126 -0
  1341. package/node_modules/zod/src/v4/locales/ps.ts +133 -0
  1342. package/node_modules/zod/src/v4/locales/pt.ts +123 -0
  1343. package/node_modules/zod/src/v4/locales/ru.ts +184 -0
  1344. package/node_modules/zod/src/v4/locales/sl.ts +126 -0
  1345. package/node_modules/zod/src/v4/locales/sv.ts +127 -0
  1346. package/node_modules/zod/src/v4/locales/ta.ts +125 -0
  1347. package/node_modules/zod/src/v4/locales/th.ts +126 -0
  1348. package/node_modules/zod/src/v4/locales/tr.ts +121 -0
  1349. package/node_modules/zod/src/v4/locales/ua.ts +126 -0
  1350. package/node_modules/zod/src/v4/locales/ur.ts +126 -0
  1351. package/node_modules/zod/src/v4/locales/vi.ts +125 -0
  1352. package/node_modules/zod/src/v4/locales/zh-CN.ts +123 -0
  1353. package/node_modules/zod/src/v4/locales/zh-TW.ts +125 -0
  1354. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  1355. package/node_modules/zod/src/v4/mini/coerce.ts +22 -0
  1356. package/node_modules/zod/src/v4/mini/external.ts +40 -0
  1357. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  1358. package/node_modules/zod/src/v4/mini/iso.ts +62 -0
  1359. package/node_modules/zod/src/v4/mini/parse.ts +1 -0
  1360. package/node_modules/zod/src/v4/mini/schemas.ts +1579 -0
  1361. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  1362. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +51 -0
  1363. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  1364. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  1365. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  1366. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +43 -0
  1367. package/node_modules/zod/src/v4/mini/tests/index.test.ts +871 -0
  1368. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  1369. package/node_modules/zod/src/v4/mini/tests/object.test.ts +185 -0
  1370. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  1371. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  1372. package/node_modules/zod/src/v4/mini/tests/string.test.ts +299 -0
  1373. package/node_modules/zod/src/v4-mini/index.ts +1 -0
  1374. package/node_modules/zod/v3/ZodError.cjs +138 -0
  1375. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  1376. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  1377. package/node_modules/zod/v3/ZodError.js +133 -0
  1378. package/node_modules/zod/v3/errors.cjs +17 -0
  1379. package/node_modules/zod/v3/errors.d.cts +5 -0
  1380. package/node_modules/zod/v3/errors.d.ts +5 -0
  1381. package/node_modules/zod/v3/errors.js +9 -0
  1382. package/node_modules/zod/v3/external.cjs +22 -0
  1383. package/node_modules/zod/v3/external.d.cts +6 -0
  1384. package/node_modules/zod/v3/external.d.ts +6 -0
  1385. package/node_modules/zod/v3/external.js +6 -0
  1386. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  1387. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  1388. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  1389. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  1390. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  1391. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  1392. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  1393. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  1394. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  1395. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  1396. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  1397. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  1398. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  1399. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  1400. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  1401. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  1402. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  1403. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  1404. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  1405. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  1406. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  1407. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  1408. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  1409. package/node_modules/zod/v3/helpers/util.js +133 -0
  1410. package/node_modules/zod/v3/index.cjs +33 -0
  1411. package/node_modules/zod/v3/index.d.cts +4 -0
  1412. package/node_modules/zod/v3/index.d.ts +4 -0
  1413. package/node_modules/zod/v3/index.js +4 -0
  1414. package/node_modules/zod/v3/locales/en.cjs +111 -0
  1415. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  1416. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  1417. package/node_modules/zod/v3/locales/en.js +109 -0
  1418. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  1419. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  1420. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  1421. package/node_modules/zod/v3/standard-schema.js +1 -0
  1422. package/node_modules/zod/v3/types.cjs +3775 -0
  1423. package/node_modules/zod/v3/types.d.cts +1031 -0
  1424. package/node_modules/zod/v3/types.d.ts +1031 -0
  1425. package/node_modules/zod/v3/types.js +3693 -0
  1426. package/node_modules/zod/v4/classic/checks.cjs +32 -0
  1427. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  1428. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  1429. package/node_modules/zod/v4/classic/checks.js +1 -0
  1430. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  1431. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  1432. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  1433. package/node_modules/zod/v4/classic/coerce.js +17 -0
  1434. package/node_modules/zod/v4/classic/compat.cjs +57 -0
  1435. package/node_modules/zod/v4/classic/compat.d.cts +46 -0
  1436. package/node_modules/zod/v4/classic/compat.d.ts +46 -0
  1437. package/node_modules/zod/v4/classic/compat.js +27 -0
  1438. package/node_modules/zod/v4/classic/errors.cjs +67 -0
  1439. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  1440. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  1441. package/node_modules/zod/v4/classic/errors.js +41 -0
  1442. package/node_modules/zod/v4/classic/external.cjs +70 -0
  1443. package/node_modules/zod/v4/classic/external.d.cts +13 -0
  1444. package/node_modules/zod/v4/classic/external.d.ts +13 -0
  1445. package/node_modules/zod/v4/classic/external.js +18 -0
  1446. package/node_modules/zod/v4/classic/index.cjs +33 -0
  1447. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  1448. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  1449. package/node_modules/zod/v4/classic/index.js +4 -0
  1450. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  1451. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  1452. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  1453. package/node_modules/zod/v4/classic/iso.js +30 -0
  1454. package/node_modules/zod/v4/classic/parse.cjs +32 -0
  1455. package/node_modules/zod/v4/classic/parse.d.cts +23 -0
  1456. package/node_modules/zod/v4/classic/parse.d.ts +23 -0
  1457. package/node_modules/zod/v4/classic/parse.js +6 -0
  1458. package/node_modules/zod/v4/classic/schemas.cjs +1109 -0
  1459. package/node_modules/zod/v4/classic/schemas.d.cts +630 -0
  1460. package/node_modules/zod/v4/classic/schemas.d.ts +630 -0
  1461. package/node_modules/zod/v4/classic/schemas.js +1006 -0
  1462. package/node_modules/zod/v4/core/api.cjs +1039 -0
  1463. package/node_modules/zod/v4/core/api.d.cts +284 -0
  1464. package/node_modules/zod/v4/core/api.d.ts +284 -0
  1465. package/node_modules/zod/v4/core/api.js +906 -0
  1466. package/node_modules/zod/v4/core/checks.cjs +591 -0
  1467. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  1468. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  1469. package/node_modules/zod/v4/core/checks.js +565 -0
  1470. package/node_modules/zod/v4/core/core.cjs +67 -0
  1471. package/node_modules/zod/v4/core/core.d.cts +49 -0
  1472. package/node_modules/zod/v4/core/core.d.ts +49 -0
  1473. package/node_modules/zod/v4/core/core.js +61 -0
  1474. package/node_modules/zod/v4/core/doc.cjs +39 -0
  1475. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  1476. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  1477. package/node_modules/zod/v4/core/doc.js +35 -0
  1478. package/node_modules/zod/v4/core/errors.cjs +226 -0
  1479. package/node_modules/zod/v4/core/errors.d.cts +208 -0
  1480. package/node_modules/zod/v4/core/errors.d.ts +208 -0
  1481. package/node_modules/zod/v4/core/errors.js +195 -0
  1482. package/node_modules/zod/v4/core/function.cjs +102 -0
  1483. package/node_modules/zod/v4/core/function.d.cts +52 -0
  1484. package/node_modules/zod/v4/core/function.d.ts +52 -0
  1485. package/node_modules/zod/v4/core/function.js +75 -0
  1486. package/node_modules/zod/v4/core/index.cjs +44 -0
  1487. package/node_modules/zod/v4/core/index.d.cts +15 -0
  1488. package/node_modules/zod/v4/core/index.d.ts +15 -0
  1489. package/node_modules/zod/v4/core/index.js +15 -0
  1490. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  1491. package/node_modules/zod/v4/core/json-schema.d.cts +87 -0
  1492. package/node_modules/zod/v4/core/json-schema.d.ts +87 -0
  1493. package/node_modules/zod/v4/core/json-schema.js +1 -0
  1494. package/node_modules/zod/v4/core/parse.cjs +87 -0
  1495. package/node_modules/zod/v4/core/parse.d.cts +25 -0
  1496. package/node_modules/zod/v4/core/parse.d.ts +25 -0
  1497. package/node_modules/zod/v4/core/parse.js +57 -0
  1498. package/node_modules/zod/v4/core/regexes.cjs +103 -0
  1499. package/node_modules/zod/v4/core/regexes.d.cts +62 -0
  1500. package/node_modules/zod/v4/core/regexes.d.ts +62 -0
  1501. package/node_modules/zod/v4/core/regexes.js +95 -0
  1502. package/node_modules/zod/v4/core/registries.cjs +56 -0
  1503. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  1504. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  1505. package/node_modules/zod/v4/core/registries.js +51 -0
  1506. package/node_modules/zod/v4/core/schemas.cjs +1748 -0
  1507. package/node_modules/zod/v4/core/schemas.d.cts +1041 -0
  1508. package/node_modules/zod/v4/core/schemas.d.ts +1041 -0
  1509. package/node_modules/zod/v4/core/schemas.js +1717 -0
  1510. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  1511. package/node_modules/zod/v4/core/standard-schema.d.cts +55 -0
  1512. package/node_modules/zod/v4/core/standard-schema.d.ts +55 -0
  1513. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  1514. package/node_modules/zod/v4/core/to-json-schema.cjs +854 -0
  1515. package/node_modules/zod/v4/core/to-json-schema.d.cts +88 -0
  1516. package/node_modules/zod/v4/core/to-json-schema.d.ts +88 -0
  1517. package/node_modules/zod/v4/core/to-json-schema.js +849 -0
  1518. package/node_modules/zod/v4/core/util.cjs +539 -0
  1519. package/node_modules/zod/v4/core/util.d.cts +183 -0
  1520. package/node_modules/zod/v4/core/util.d.ts +183 -0
  1521. package/node_modules/zod/v4/core/util.js +493 -0
  1522. package/node_modules/zod/v4/core/versions.cjs +8 -0
  1523. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  1524. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  1525. package/node_modules/zod/v4/core/versions.js +5 -0
  1526. package/node_modules/zod/v4/index.cjs +22 -0
  1527. package/node_modules/zod/v4/index.d.cts +3 -0
  1528. package/node_modules/zod/v4/index.d.ts +3 -0
  1529. package/node_modules/zod/v4/index.js +3 -0
  1530. package/node_modules/zod/v4/locales/ar.cjs +142 -0
  1531. package/node_modules/zod/v4/locales/ar.d.cts +4 -0
  1532. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  1533. package/node_modules/zod/v4/locales/ar.js +116 -0
  1534. package/node_modules/zod/v4/locales/az.cjs +141 -0
  1535. package/node_modules/zod/v4/locales/az.d.cts +4 -0
  1536. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  1537. package/node_modules/zod/v4/locales/az.js +115 -0
  1538. package/node_modules/zod/v4/locales/be.cjs +190 -0
  1539. package/node_modules/zod/v4/locales/be.d.cts +4 -0
  1540. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  1541. package/node_modules/zod/v4/locales/be.js +164 -0
  1542. package/node_modules/zod/v4/locales/ca.cjs +144 -0
  1543. package/node_modules/zod/v4/locales/ca.d.cts +4 -0
  1544. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  1545. package/node_modules/zod/v4/locales/ca.js +118 -0
  1546. package/node_modules/zod/v4/locales/cs.cjs +161 -0
  1547. package/node_modules/zod/v4/locales/cs.d.cts +4 -0
  1548. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  1549. package/node_modules/zod/v4/locales/cs.js +135 -0
  1550. package/node_modules/zod/v4/locales/de.cjs +142 -0
  1551. package/node_modules/zod/v4/locales/de.d.cts +4 -0
  1552. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  1553. package/node_modules/zod/v4/locales/de.js +116 -0
  1554. package/node_modules/zod/v4/locales/en.cjs +145 -0
  1555. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  1556. package/node_modules/zod/v4/locales/en.d.ts +5 -0
  1557. package/node_modules/zod/v4/locales/en.js +117 -0
  1558. package/node_modules/zod/v4/locales/eo.cjs +144 -0
  1559. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  1560. package/node_modules/zod/v4/locales/eo.d.ts +5 -0
  1561. package/node_modules/zod/v4/locales/eo.js +116 -0
  1562. package/node_modules/zod/v4/locales/es.cjs +143 -0
  1563. package/node_modules/zod/v4/locales/es.d.cts +4 -0
  1564. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  1565. package/node_modules/zod/v4/locales/es.js +117 -0
  1566. package/node_modules/zod/v4/locales/fa.cjs +148 -0
  1567. package/node_modules/zod/v4/locales/fa.d.cts +4 -0
  1568. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  1569. package/node_modules/zod/v4/locales/fa.js +122 -0
  1570. package/node_modules/zod/v4/locales/fi.cjs +148 -0
  1571. package/node_modules/zod/v4/locales/fi.d.cts +4 -0
  1572. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  1573. package/node_modules/zod/v4/locales/fi.js +122 -0
  1574. package/node_modules/zod/v4/locales/fr-CA.cjs +143 -0
  1575. package/node_modules/zod/v4/locales/fr-CA.d.cts +4 -0
  1576. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  1577. package/node_modules/zod/v4/locales/fr-CA.js +117 -0
  1578. package/node_modules/zod/v4/locales/fr.cjs +142 -0
  1579. package/node_modules/zod/v4/locales/fr.d.cts +4 -0
  1580. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  1581. package/node_modules/zod/v4/locales/fr.js +116 -0
  1582. package/node_modules/zod/v4/locales/he.cjs +143 -0
  1583. package/node_modules/zod/v4/locales/he.d.cts +4 -0
  1584. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  1585. package/node_modules/zod/v4/locales/he.js +117 -0
  1586. package/node_modules/zod/v4/locales/hu.cjs +143 -0
  1587. package/node_modules/zod/v4/locales/hu.d.cts +4 -0
  1588. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  1589. package/node_modules/zod/v4/locales/hu.js +117 -0
  1590. package/node_modules/zod/v4/locales/id.cjs +142 -0
  1591. package/node_modules/zod/v4/locales/id.d.cts +4 -0
  1592. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  1593. package/node_modules/zod/v4/locales/id.js +116 -0
  1594. package/node_modules/zod/v4/locales/index.cjs +84 -0
  1595. package/node_modules/zod/v4/locales/index.d.cts +39 -0
  1596. package/node_modules/zod/v4/locales/index.d.ts +39 -0
  1597. package/node_modules/zod/v4/locales/index.js +39 -0
  1598. package/node_modules/zod/v4/locales/it.cjs +143 -0
  1599. package/node_modules/zod/v4/locales/it.d.cts +4 -0
  1600. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  1601. package/node_modules/zod/v4/locales/it.js +117 -0
  1602. package/node_modules/zod/v4/locales/ja.cjs +141 -0
  1603. package/node_modules/zod/v4/locales/ja.d.cts +4 -0
  1604. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  1605. package/node_modules/zod/v4/locales/ja.js +115 -0
  1606. package/node_modules/zod/v4/locales/kh.cjs +143 -0
  1607. package/node_modules/zod/v4/locales/kh.d.cts +4 -0
  1608. package/node_modules/zod/v4/locales/kh.d.ts +4 -0
  1609. package/node_modules/zod/v4/locales/kh.js +117 -0
  1610. package/node_modules/zod/v4/locales/ko.cjs +147 -0
  1611. package/node_modules/zod/v4/locales/ko.d.cts +4 -0
  1612. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  1613. package/node_modules/zod/v4/locales/ko.js +121 -0
  1614. package/node_modules/zod/v4/locales/mk.cjs +144 -0
  1615. package/node_modules/zod/v4/locales/mk.d.cts +4 -0
  1616. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  1617. package/node_modules/zod/v4/locales/mk.js +118 -0
  1618. package/node_modules/zod/v4/locales/ms.cjs +142 -0
  1619. package/node_modules/zod/v4/locales/ms.d.cts +4 -0
  1620. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  1621. package/node_modules/zod/v4/locales/ms.js +116 -0
  1622. package/node_modules/zod/v4/locales/nl.cjs +143 -0
  1623. package/node_modules/zod/v4/locales/nl.d.cts +4 -0
  1624. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  1625. package/node_modules/zod/v4/locales/nl.js +117 -0
  1626. package/node_modules/zod/v4/locales/no.cjs +142 -0
  1627. package/node_modules/zod/v4/locales/no.d.cts +4 -0
  1628. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  1629. package/node_modules/zod/v4/locales/no.js +116 -0
  1630. package/node_modules/zod/v4/locales/ota.cjs +143 -0
  1631. package/node_modules/zod/v4/locales/ota.d.cts +4 -0
  1632. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  1633. package/node_modules/zod/v4/locales/ota.js +117 -0
  1634. package/node_modules/zod/v4/locales/pl.cjs +143 -0
  1635. package/node_modules/zod/v4/locales/pl.d.cts +4 -0
  1636. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  1637. package/node_modules/zod/v4/locales/pl.js +117 -0
  1638. package/node_modules/zod/v4/locales/ps.cjs +148 -0
  1639. package/node_modules/zod/v4/locales/ps.d.cts +4 -0
  1640. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  1641. package/node_modules/zod/v4/locales/ps.js +122 -0
  1642. package/node_modules/zod/v4/locales/pt.cjs +142 -0
  1643. package/node_modules/zod/v4/locales/pt.d.cts +4 -0
  1644. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  1645. package/node_modules/zod/v4/locales/pt.js +116 -0
  1646. package/node_modules/zod/v4/locales/ru.cjs +190 -0
  1647. package/node_modules/zod/v4/locales/ru.d.cts +4 -0
  1648. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  1649. package/node_modules/zod/v4/locales/ru.js +164 -0
  1650. package/node_modules/zod/v4/locales/sl.cjs +143 -0
  1651. package/node_modules/zod/v4/locales/sl.d.cts +4 -0
  1652. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  1653. package/node_modules/zod/v4/locales/sl.js +117 -0
  1654. package/node_modules/zod/v4/locales/sv.cjs +144 -0
  1655. package/node_modules/zod/v4/locales/sv.d.cts +4 -0
  1656. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  1657. package/node_modules/zod/v4/locales/sv.js +118 -0
  1658. package/node_modules/zod/v4/locales/ta.cjs +143 -0
  1659. package/node_modules/zod/v4/locales/ta.d.cts +4 -0
  1660. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  1661. package/node_modules/zod/v4/locales/ta.js +117 -0
  1662. package/node_modules/zod/v4/locales/th.cjs +143 -0
  1663. package/node_modules/zod/v4/locales/th.d.cts +4 -0
  1664. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  1665. package/node_modules/zod/v4/locales/th.js +117 -0
  1666. package/node_modules/zod/v4/locales/tr.cjs +143 -0
  1667. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  1668. package/node_modules/zod/v4/locales/tr.d.ts +5 -0
  1669. package/node_modules/zod/v4/locales/tr.js +115 -0
  1670. package/node_modules/zod/v4/locales/ua.cjs +143 -0
  1671. package/node_modules/zod/v4/locales/ua.d.cts +4 -0
  1672. package/node_modules/zod/v4/locales/ua.d.ts +4 -0
  1673. package/node_modules/zod/v4/locales/ua.js +117 -0
  1674. package/node_modules/zod/v4/locales/ur.cjs +143 -0
  1675. package/node_modules/zod/v4/locales/ur.d.cts +4 -0
  1676. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  1677. package/node_modules/zod/v4/locales/ur.js +117 -0
  1678. package/node_modules/zod/v4/locales/vi.cjs +142 -0
  1679. package/node_modules/zod/v4/locales/vi.d.cts +4 -0
  1680. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  1681. package/node_modules/zod/v4/locales/vi.js +116 -0
  1682. package/node_modules/zod/v4/locales/zh-CN.cjs +142 -0
  1683. package/node_modules/zod/v4/locales/zh-CN.d.cts +4 -0
  1684. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  1685. package/node_modules/zod/v4/locales/zh-CN.js +116 -0
  1686. package/node_modules/zod/v4/locales/zh-TW.cjs +143 -0
  1687. package/node_modules/zod/v4/locales/zh-TW.d.cts +4 -0
  1688. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  1689. package/node_modules/zod/v4/locales/zh-TW.js +117 -0
  1690. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  1691. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  1692. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  1693. package/node_modules/zod/v4/mini/checks.js +1 -0
  1694. package/node_modules/zod/v4/mini/coerce.cjs +47 -0
  1695. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  1696. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  1697. package/node_modules/zod/v4/mini/coerce.js +17 -0
  1698. package/node_modules/zod/v4/mini/external.cjs +62 -0
  1699. package/node_modules/zod/v4/mini/external.d.cts +11 -0
  1700. package/node_modules/zod/v4/mini/external.d.ts +11 -0
  1701. package/node_modules/zod/v4/mini/external.js +13 -0
  1702. package/node_modules/zod/v4/mini/index.cjs +32 -0
  1703. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  1704. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  1705. package/node_modules/zod/v4/mini/index.js +3 -0
  1706. package/node_modules/zod/v4/mini/iso.cjs +60 -0
  1707. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  1708. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  1709. package/node_modules/zod/v4/mini/iso.js +30 -0
  1710. package/node_modules/zod/v4/mini/parse.cjs +8 -0
  1711. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  1712. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  1713. package/node_modules/zod/v4/mini/parse.js +1 -0
  1714. package/node_modules/zod/v4/mini/schemas.cjs +839 -0
  1715. package/node_modules/zod/v4/mini/schemas.d.cts +356 -0
  1716. package/node_modules/zod/v4/mini/schemas.d.ts +356 -0
  1717. package/node_modules/zod/v4/mini/schemas.js +732 -0
  1718. package/node_modules/zod/v4-mini/index.cjs +17 -0
  1719. package/node_modules/zod/v4-mini/index.d.cts +1 -0
  1720. package/node_modules/zod/v4-mini/index.d.ts +1 -0
  1721. package/node_modules/zod/v4-mini/index.js +1 -0
  1722. package/package.json +181 -0
  1723. package/scripts/README.md +20 -0
  1724. package/scripts/analyze-glm-payload.mjs +72 -0
  1725. package/scripts/analyze-thinking-keywords.mjs +169 -0
  1726. package/scripts/analyze-tools-fileops.mjs +181 -0
  1727. package/scripts/anthropic-compare-modes.mjs +210 -0
  1728. package/scripts/anthropic-four-config-e2e.mjs +260 -0
  1729. package/scripts/anthropic-toolcall.mjs +116 -0
  1730. package/scripts/batch-toolcall-report.mjs +182 -0
  1731. package/scripts/build-core.mjs +99 -0
  1732. package/scripts/check-chat-loop.ts +37 -0
  1733. package/scripts/check-glm-compat.mjs +47 -0
  1734. package/scripts/claude-e2e-listdir-all.sh +76 -0
  1735. package/scripts/claude-e2e-listdir-from-list.sh +61 -0
  1736. package/scripts/claude-e2e-listdir-per-config.sh +68 -0
  1737. package/scripts/claude-e2e-listdir.sh +26 -0
  1738. package/scripts/cleanup-deprecated-code.sh +157 -0
  1739. package/scripts/cleanup-global.sh +59 -0
  1740. package/scripts/cleanup-unused-code.sh +318 -0
  1741. package/scripts/compare-responses-request.mjs +220 -0
  1742. package/scripts/config-core-compare.ts +76 -0
  1743. package/scripts/copy-compat-assets.mjs +57 -0
  1744. package/scripts/copy-compat-configs.mjs +40 -0
  1745. package/scripts/copy-modules-config.mjs +31 -0
  1746. package/scripts/dead_function_analyzer.py +346 -0
  1747. package/scripts/e2e-responses-tool-loop.mjs +185 -0
  1748. package/scripts/enhance-module.js +684 -0
  1749. package/scripts/execute-refactoring.ts +27 -0
  1750. package/scripts/fc-responses-from-snapshot.mjs +107 -0
  1751. package/scripts/fc-responses-tool-loop.mjs +179 -0
  1752. package/scripts/gemini-smoke.mjs +39 -0
  1753. package/scripts/gen-build-info.mjs +30 -0
  1754. package/scripts/generate-snapshot-data.mjs +281 -0
  1755. package/scripts/glm1210-curl-test.sh +97 -0
  1756. package/scripts/iflow-auth.ts +39 -0
  1757. package/scripts/install-global.sh +220 -0
  1758. package/scripts/install-release.sh +129 -0
  1759. package/scripts/install-verify.mjs +1093 -0
  1760. package/scripts/install.sh +103 -0
  1761. package/scripts/link-llmswitch.mjs +52 -0
  1762. package/scripts/local-replay-anthropic-request.mjs +35 -0
  1763. package/scripts/local-replay-anthropic-response.mjs +100 -0
  1764. package/scripts/local-replay-openai-response.mjs +41 -0
  1765. package/scripts/local-replay.mjs +32 -0
  1766. package/scripts/mock-iflow-api-server.ts +42 -0
  1767. package/scripts/mock-iflow-oauth-server.ts +61 -0
  1768. package/scripts/offline-verify-tool-normalize.mjs +54 -0
  1769. package/scripts/outbound-network-toolcall.mjs +228 -0
  1770. package/scripts/outbound-regression-codex-samples.mjs +357 -0
  1771. package/scripts/pack-mode.mjs +58 -0
  1772. package/scripts/phase1-cleanup.sh +116 -0
  1773. package/scripts/probe-iflow-provider.mjs +72 -0
  1774. package/scripts/provider-v2-smoke.mjs +56 -0
  1775. package/scripts/quick-install.sh +63 -0
  1776. package/scripts/replay-429-detect.mjs +100 -0
  1777. package/scripts/replay-codex-sample.mjs +147 -0
  1778. package/scripts/replay-recorded-toolcall.mjs +230 -0
  1779. package/scripts/replay-responses-sse.mjs +112 -0
  1780. package/scripts/responses-fai-capture.mjs +124 -0
  1781. package/scripts/responses-sse-capture.mjs +230 -0
  1782. package/scripts/responses-sse-proxy.mjs +218 -0
  1783. package/scripts/responses-sse-replay-golden.mjs +138 -0
  1784. package/scripts/run-bg.sh +127 -0
  1785. package/scripts/run-fg-gtimeout.sh +93 -0
  1786. package/scripts/simple_dead_function_finder.py +472 -0
  1787. package/scripts/snapshot-inspect.mjs +135 -0
  1788. package/scripts/start-verify.mjs +33 -0
  1789. package/scripts/test-fc-responses.mjs +66 -0
  1790. package/scripts/test-guidance.mjs +100 -0
  1791. package/scripts/test-iflow.mjs +287 -0
  1792. package/scripts/test-tool-exec.mjs +26 -0
  1793. package/scripts/tests/anthropic-responses-roundtrip.mjs +297 -0
  1794. package/scripts/tests/responses-provider-dry-run.mjs +137 -0
  1795. package/scripts/tests/virtual-router-health.mjs +269 -0
  1796. package/scripts/tools/responses-provider-replay.mjs +329 -0
  1797. package/scripts/toon-suite.mjs +141 -0
  1798. package/scripts/update-models.mjs +99 -0
  1799. package/scripts/v2-consistency/README.md +146 -0
  1800. package/scripts/v2-consistency/comprehensive-consistency-test.mjs +398 -0
  1801. package/scripts/v2-consistency/run-consistency-test.mjs +107 -0
  1802. package/scripts/v2-monitoring-analysis.mjs +388 -0
  1803. package/scripts/v2-simple-monitor.mjs +166 -0
  1804. package/scripts/vendor-core.mjs +35 -0
  1805. package/scripts/verification/samples/anthropic-messages-list-local-files.json +35 -0
  1806. package/scripts/verification/samples/openai-chat-list-local-files.json +831 -0
  1807. package/scripts/verification/samples/openai-responses-list-local-files.json +803 -0
  1808. package/scripts/verify-cleanup-safety.sh +305 -0
  1809. package/scripts/verify-e2e-toolcall.mjs +134 -0
  1810. package/scripts/verify-health.mjs +188 -0
  1811. package/scripts/verify-install-e2e.mjs +323 -0
  1812. package/scripts/verify-sse-loop.mjs +361 -0
  1813. package/scripts/verify-tool-arguments.mjs +178 -0
  1814. package/scripts/verify-virtual-router-classifier.mjs +389 -0
package/dist/cli.js ADDED
@@ -0,0 +1,1651 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * RouteCodex CLI - ESM entry point
4
+ * Multi-provider OpenAI proxy server command line interface
5
+ */
6
+ import { Command } from 'commander';
7
+ import chalk from 'chalk';
8
+ import { LOCAL_HOSTS, HTTP_PROTOCOLS, API_PATHS, DEFAULT_CONFIG, API_ENDPOINTS } from "./constants/index.js";
9
+ import fs from 'fs';
10
+ import { buildInfo } from './build-info.js';
11
+ async function createSpinner(text) {
12
+ try {
13
+ const mod = await dynamicImport('ora');
14
+ const oraFn = mod?.default || mod;
15
+ if (typeof oraFn === 'function') {
16
+ const s = oraFn(text);
17
+ return s.start();
18
+ }
19
+ }
20
+ catch {
21
+ // fall through to stub
22
+ }
23
+ // Fallback stub spinner that just logs messages
24
+ let currentText = text;
25
+ const log = (prefix, msg) => {
26
+ const m = msg ?? currentText;
27
+ if (!m)
28
+ return;
29
+ // eslint-disable-next-line no-console
30
+ console.log(`${prefix} ${m}`);
31
+ };
32
+ const stub = {
33
+ start(msg) {
34
+ if (msg)
35
+ currentText = msg;
36
+ log('...', msg);
37
+ return stub;
38
+ },
39
+ succeed(msg) { log('✓', msg); },
40
+ fail(msg) { log('✗', msg); },
41
+ warn(msg) { log('⚠', msg); },
42
+ info(msg) { log('ℹ', msg); },
43
+ stop() { },
44
+ get text() { return currentText; },
45
+ set text(v) { currentText = v; }
46
+ };
47
+ return stub;
48
+ }
49
+ import path from "path";
50
+ import { homedir } from 'os';
51
+ import { spawnSync } from 'child_process';
52
+ import { fileURLToPath, pathToFileURL } from 'url';
53
+ const __filename = fileURLToPath(import.meta.url);
54
+ const __dirname = path.dirname(__filename);
55
+ // Simple logger
56
+ const logger = {
57
+ info: (msg) => console.log(`${chalk.blue('ℹ')} ${msg}`),
58
+ success: (msg) => console.log(`${chalk.green('✓')} ${msg}`),
59
+ warning: (msg) => console.log(`${chalk.yellow('⚠')} ${msg}`),
60
+ error: (msg) => console.log(`${chalk.red('✗')} ${msg}`),
61
+ debug: (msg) => console.log(`${chalk.gray('◉')} ${msg}`)
62
+ };
63
+ // Ensure llmswitch-core is resolvable(dev/worktree 场景下由 pipeline 加载 vendor)
64
+ async function dynamicImport(p) {
65
+ // Avoid TypeScript/ESM static resolution so we can probe optional entries safely
66
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval
67
+ const fn = Function('p', 'return import(p)');
68
+ return fn(p);
69
+ }
70
+ async function ensureCoreOrFail() {
71
+ // 在当前 worktree/dev 场景下:
72
+ // - llmswitch-core 直接通过 sharedmodule/llmswitch-core/dist 引用;
73
+ // - 实际加载在 pipeline/server 模块内部完成;
74
+ // 这里不再做额外的模块解析探测,避免因为本地 node_modules 结构差异导致 CLI 直接失败。
75
+ return;
76
+ }
77
+ // Top-level guard(Fail Fast,无兜底)
78
+ await ensureCoreOrFail();
79
+ // CLI program setup
80
+ const program = new Command();
81
+ // Resolve version from package.json at runtime to avoid hardcoding mismatches
82
+ const pkgVersion = (() => {
83
+ try {
84
+ const pkgPath = path.resolve(__dirname, '..', 'package.json');
85
+ const txt = fs.readFileSync(pkgPath, 'utf-8');
86
+ const j = JSON.parse(txt);
87
+ return typeof j?.version === 'string' ? j.version : '0.0.0';
88
+ }
89
+ catch {
90
+ return '0.0.0';
91
+ }
92
+ })();
93
+ // Resolve package name for display / binary naming
94
+ const pkgName = (() => {
95
+ try {
96
+ const pkgPath = path.resolve(__dirname, '..', 'package.json');
97
+ const txt = fs.readFileSync(pkgPath, 'utf-8');
98
+ const j = JSON.parse(txt);
99
+ if (typeof j?.name === 'string' && j.name.trim()) {
100
+ return j.name.trim();
101
+ }
102
+ }
103
+ catch {
104
+ // ignore and fall back
105
+ }
106
+ return 'routecodex';
107
+ })();
108
+ // 包变体:
109
+ // - routecodex(dev 包):默认端口 5555,用于本地开发调试,不读取配置端口,除非显式设置 ROUTECODEX_PORT/RCC_PORT
110
+ // - rcc(release 包):严格按配置文件端口启动(httpserver.port/server.port/port)
111
+ const IS_DEV_PACKAGE = pkgName === 'routecodex';
112
+ const DEFAULT_DEV_PORT = 5555;
113
+ program
114
+ .name(pkgName === 'rcc' ? 'rcc' : 'routecodex')
115
+ .description('RouteCodex CLI - Multi-provider OpenAI proxy server and Claude Code interface')
116
+ .version(pkgVersion);
117
+ // Provider command group - update models and generate minimal provider config
118
+ try {
119
+ const { createProviderUpdateCommand } = await import('./commands/provider-update.js');
120
+ program.addCommand(createProviderUpdateCommand());
121
+ }
122
+ catch { /* optional: command not available in some builds */ }
123
+ // Validate command - auto start server then run E2E checks
124
+ try {
125
+ const { createValidateCommand } = await import('./commands/validate.js');
126
+ program.addCommand(createValidateCommand());
127
+ }
128
+ catch { /* optional */ }
129
+ // Code command - Launch Claude Code interface
130
+ program
131
+ .command('code')
132
+ .description('Launch Claude Code interface with RouteCodex as proxy (args after this command are passed to Claude by default)')
133
+ .option('-p, --port <port>', 'RouteCodex server port (overrides config file)')
134
+ // Default to IPv4 localhost to avoid environments where localhost resolves to ::1
135
+ .option('-h, --host <host>', 'RouteCodex server host', LOCAL_HOSTS.IPV4)
136
+ .option('-c, --config <config>', 'RouteCodex configuration file path')
137
+ .option('--claude-path <path>', 'Path to Claude Code executable', 'claude')
138
+ .option('--cwd <dir>', 'Working directory for Claude Code (defaults to current shell cwd)')
139
+ .option('--model <model>', 'Model to use with Claude Code')
140
+ .option('--profile <profile>', 'Claude Code profile to use')
141
+ .option('--ensure-server', 'Ensure RouteCodex server is running before launching Claude')
142
+ .argument('[extraArgs...]', 'Additional args to pass through to Claude')
143
+ .allowUnknownOption(true)
144
+ .allowExcessArguments(true)
145
+ .action(async (...cmdArgs) => {
146
+ const options = cmdArgs.pop(); // Commander passes options as last arg
147
+ const extraArgsFromCommander = Array.isArray(cmdArgs[0]) ? cmdArgs[0] : [];
148
+ const spinner = await createSpinner('Preparing Claude Code with RouteCodex...');
149
+ try {
150
+ // Resolve configuration and determine port
151
+ let configPath = options.config;
152
+ if (!configPath) {
153
+ configPath = path.join(homedir(), '.routecodex', 'config.json');
154
+ }
155
+ let actualPort = options.port ? parseInt(options.port, 10) : null;
156
+ let actualHost = options.host;
157
+ // Determine effective port for code command:
158
+ // - dev package (routecodex): env override, otherwise固定 5555,不读取配置端口
159
+ // - release package (rcc): 按配置/参数解析端口
160
+ if (IS_DEV_PACKAGE) {
161
+ if (!actualPort) {
162
+ const envPort = Number(process.env.ROUTECODEX_PORT || process.env.RCC_PORT || NaN);
163
+ actualPort = Number.isFinite(envPort) && envPort > 0 ? envPort : DEFAULT_DEV_PORT;
164
+ logger.info(`Using dev default port ${actualPort} for routecodex code (config ports ignored)`);
165
+ }
166
+ }
167
+ else {
168
+ // 非 dev 包:若未显式指定端口,则从配置文件解析
169
+ if (!actualPort && fs.existsSync(configPath)) {
170
+ try {
171
+ const configContent = fs.readFileSync(configPath, 'utf8');
172
+ const config = JSON.parse(configContent);
173
+ actualPort = (config?.httpserver?.port ?? config?.server?.port ?? config?.port) || null;
174
+ actualHost = (config?.httpserver?.host || config?.server?.host || config?.host || actualHost);
175
+ }
176
+ catch (error) {
177
+ spinner.warn('Failed to read configuration file, using defaults');
178
+ }
179
+ }
180
+ }
181
+ // Require explicit port if not resolved
182
+ if (!actualPort) {
183
+ spinner.fail('Invalid or missing port configuration for RouteCodex server');
184
+ logger.error('Please set httpserver.port in your configuration (e.g., ~/.routecodex/config.json) or use --port');
185
+ process.exit(1);
186
+ }
187
+ // Check if RouteCodex server needs to be started
188
+ if (options.ensureServer) {
189
+ spinner.text = 'Checking RouteCodex server status...';
190
+ const normalizeConnectHost = (h) => {
191
+ const v = String(h || '').toLowerCase();
192
+ if (v === '0.0.0.0') {
193
+ return LOCAL_HOSTS.IPV4;
194
+ }
195
+ if (v === '::' || v === '::1' || v === 'localhost') {
196
+ return LOCAL_HOSTS.IPV4;
197
+ }
198
+ return h || LOCAL_HOSTS.IPV4;
199
+ };
200
+ const connectHost = normalizeConnectHost(actualHost);
201
+ const serverUrl = `http://${connectHost}:${actualPort}`;
202
+ try {
203
+ const controller = new AbortController();
204
+ const timeoutId = setTimeout(() => controller.abort(), 3000);
205
+ const response = await fetch(`${serverUrl}/ready`, { signal: controller.signal, method: 'GET' });
206
+ clearTimeout(timeoutId);
207
+ if (!response.ok) {
208
+ throw new Error('Server not ready');
209
+ }
210
+ const j = await response.json().catch(() => ({}));
211
+ if (j?.status !== 'ready') {
212
+ throw new Error('Server reported not_ready');
213
+ }
214
+ spinner.succeed('RouteCodex server is ready');
215
+ }
216
+ catch (error) {
217
+ spinner.info('RouteCodex server is not running, starting it...');
218
+ // Start RouteCodex server in background
219
+ const { spawn } = await import('child_process');
220
+ const modulesConfigPath = path.resolve(__dirname, '../config/modules.json');
221
+ const serverEntry = path.resolve(__dirname, 'index.js');
222
+ const serverProcess = spawn(process.execPath, [serverEntry, modulesConfigPath], {
223
+ stdio: 'pipe',
224
+ env: { ...process.env },
225
+ detached: true
226
+ });
227
+ serverProcess.unref();
228
+ // Wait for server to become ready (up to ~30s)
229
+ spinner.text = 'Waiting for RouteCodex server to become ready...';
230
+ let ready = false;
231
+ for (let i = 0; i < 30; i++) {
232
+ await sleep(1000);
233
+ try {
234
+ const res = await fetch(`${serverUrl}/ready`, { method: 'GET' });
235
+ if (res.ok) {
236
+ const jr = await res.json().catch(() => ({}));
237
+ if (jr?.status === 'ready') {
238
+ ready = true;
239
+ break;
240
+ }
241
+ }
242
+ }
243
+ catch { /* ignore */ }
244
+ }
245
+ if (ready) {
246
+ spinner.succeed('RouteCodex server is ready');
247
+ }
248
+ else {
249
+ spinner.warn('RouteCodex server may not be fully ready, continuing...');
250
+ }
251
+ }
252
+ }
253
+ spinner.text = 'Launching Claude Code...';
254
+ // Prepare environment variables for Claude Code
255
+ const resolvedBaseHost = String((() => {
256
+ const v = String(actualHost || '').toLowerCase();
257
+ if (v === '0.0.0.0') {
258
+ return LOCAL_HOSTS.IPV4;
259
+ }
260
+ if (v === '::' || v === '::1' || v === 'localhost') {
261
+ return LOCAL_HOSTS.IPV4;
262
+ }
263
+ return actualHost || LOCAL_HOSTS.IPV4;
264
+ })());
265
+ const anthropicBase = `http://${resolvedBaseHost}:${actualPort}`;
266
+ const currentCwd = (() => {
267
+ try {
268
+ const d = options.cwd ? String(options.cwd) : process.cwd();
269
+ const resolved = path.resolve(d);
270
+ if (fs.existsSync(resolved))
271
+ return resolved;
272
+ }
273
+ catch { }
274
+ return process.cwd();
275
+ })();
276
+ const claudeEnv = {
277
+ ...process.env,
278
+ // Normalize working directory context for downstream tools
279
+ PWD: currentCwd,
280
+ RCC_WORKDIR: currentCwd,
281
+ ROUTECODEX_WORKDIR: currentCwd,
282
+ CLAUDE_WORKDIR: currentCwd,
283
+ // Cover both common env var names used by Anthropic SDK / tools
284
+ ANTHROPIC_BASE_URL: anthropicBase,
285
+ ANTHROPIC_API_URL: anthropicBase,
286
+ ANTHROPIC_API_KEY: 'rcc-proxy-key'
287
+ };
288
+ // Avoid auth conflict: prefer API key routed via RouteCodex; remove shell tokens
289
+ try {
290
+ delete claudeEnv['ANTHROPIC_AUTH_TOKEN'];
291
+ }
292
+ catch { /* ignore */ }
293
+ try {
294
+ delete claudeEnv['ANTHROPIC_TOKEN'];
295
+ }
296
+ catch { /* ignore */ }
297
+ logger.info('Unset ANTHROPIC_AUTH_TOKEN/ANTHROPIC_TOKEN for Claude process to avoid conflicts');
298
+ logger.info(`Setting Anthropic base URL to: ${anthropicBase}`);
299
+ // Prepare Claude Code command arguments(将 rcc code 后面的原始参数默认透传给 Claude)
300
+ const claudeArgs = [];
301
+ if (options.model) {
302
+ claudeArgs.push('--model', options.model);
303
+ }
304
+ if (options.profile) {
305
+ claudeArgs.push('--profile', options.profile);
306
+ }
307
+ // 透传用户紧随 `rcc code` 之后的参数(默认行为)
308
+ try {
309
+ const rawArgv = process.argv.slice(2); // drop node/bin and script
310
+ const idxCode = rawArgv.findIndex(a => a === 'code');
311
+ const afterCode = idxCode >= 0 ? rawArgv.slice(idxCode + 1) : [];
312
+ // 支持显式分隔符 -- :其后的所有参数原样传给 Claude
313
+ const sepIndex = afterCode.indexOf('--');
314
+ const tail = sepIndex >= 0 ? afterCode.slice(sepIndex + 1) : afterCode;
315
+ // 过滤本命令自身已识别的选项,剩余的作为透传参数
316
+ const knownOpts = new Set(['-p', '--port', '-h', '--host', '-c', '--config', '--claude-path', '--model', '--profile', '--ensure-server']);
317
+ const requireValue = new Set(['-p', '--port', '-h', '--host', '-c', '--config', '--claude-path', '--model', '--profile']);
318
+ const passThrough = [];
319
+ for (let i = 0; i < tail.length; i++) {
320
+ const tok = tail[i];
321
+ if (knownOpts.has(tok)) {
322
+ if (requireValue.has(tok))
323
+ i++;
324
+ continue;
325
+ }
326
+ // 若是组合形式 --opt=value 且 opt 为已识别的,跳过
327
+ if (tok.startsWith('--')) {
328
+ const eq = tok.indexOf('=');
329
+ if (eq > 2) {
330
+ const optName = tok.slice(0, eq);
331
+ if (knownOpts.has(optName)) {
332
+ continue;
333
+ }
334
+ }
335
+ }
336
+ passThrough.push(tok);
337
+ }
338
+ // 合并 Commander 捕获到的额外参数(多数为位置参数),与我们手动解析的尾参数,去重保序
339
+ const merged = [];
340
+ const seen = new Set();
341
+ const pushUnique = (arr) => { for (const t of arr) {
342
+ if (!seen.has(t)) {
343
+ seen.add(t);
344
+ merged.push(t);
345
+ }
346
+ } };
347
+ pushUnique(extraArgsFromCommander);
348
+ pushUnique(passThrough);
349
+ if (merged.length) {
350
+ claudeArgs.push(...merged);
351
+ }
352
+ }
353
+ catch { /* ignore passthrough errors */ }
354
+ // Launch Claude Code
355
+ const { spawn } = await import('child_process');
356
+ const claudeBin = (() => {
357
+ try {
358
+ const v = String(options?.claudePath || '').trim();
359
+ if (v)
360
+ return v;
361
+ }
362
+ catch { }
363
+ const envPath = String(process.env.CLAUDE_PATH || '').trim();
364
+ return envPath || 'claude';
365
+ })();
366
+ const claudeProcess = spawn(claudeBin, claudeArgs, {
367
+ stdio: 'inherit',
368
+ env: claudeEnv,
369
+ cwd: currentCwd
370
+ });
371
+ spinner.succeed('Claude Code launched with RouteCodex proxy');
372
+ // Log normalized IPv4 host to avoid confusion (do not print ::/localhost)
373
+ logger.info(`Using RouteCodex server at: http://${resolvedBaseHost}:${actualPort}`);
374
+ logger.info(`Claude binary: ${claudeBin}`);
375
+ logger.info(`Working directory for Claude: ${currentCwd}`);
376
+ logger.info('Press Ctrl+C to exit Claude Code');
377
+ // Handle graceful shutdown
378
+ const shutdown = async (sig) => {
379
+ try {
380
+ claudeProcess.kill(sig);
381
+ }
382
+ catch { /* ignore */ }
383
+ try {
384
+ process.exit(0);
385
+ }
386
+ catch { /* ignore */ }
387
+ };
388
+ process.on('SIGINT', () => { void shutdown('SIGINT'); });
389
+ process.on('SIGTERM', () => { void shutdown('SIGTERM'); });
390
+ claudeProcess.on('exit', (code, signal) => {
391
+ if (signal) {
392
+ process.exit(0);
393
+ }
394
+ else {
395
+ process.exit(code ?? 0);
396
+ }
397
+ });
398
+ // Keep process alive
399
+ await new Promise(() => { });
400
+ }
401
+ catch (error) {
402
+ spinner.fail('Failed to launch Claude Code');
403
+ logger.error(error instanceof Error ? error.message : String(error));
404
+ process.exit(1);
405
+ }
406
+ });
407
+ // Env command - Print env exports for Anthropic proxy
408
+ program
409
+ .command('env')
410
+ .description('Print environment exports for Anthropic tools to use RouteCodex proxy')
411
+ .option('-p, --port <port>', 'RouteCodex server port (overrides config file)')
412
+ .option('-h, --host <host>', 'RouteCodex server host')
413
+ .option('-c, --config <config>', 'RouteCodex configuration file path')
414
+ .option('--json', 'Output JSON instead of shell exports')
415
+ .action(async (options) => {
416
+ try {
417
+ let configPath = options.config;
418
+ if (!configPath) {
419
+ configPath = path.join(homedir(), '.routecodex', 'config.json');
420
+ }
421
+ let host = options.host || undefined;
422
+ let port = options.port ? parseInt(String(options.port), 10) : NaN;
423
+ if (IS_DEV_PACKAGE) {
424
+ // dev 包:env>flag>5555,不从配置里解析端口
425
+ if (!Number.isFinite(port) || port <= 0) {
426
+ const envPort = Number(process.env.ROUTECODEX_PORT || process.env.RCC_PORT || NaN);
427
+ port = Number.isFinite(envPort) && envPort > 0 ? envPort : DEFAULT_DEV_PORT;
428
+ }
429
+ }
430
+ else {
431
+ // release 包:若未显式指定端口,则从配置解析
432
+ if (!Number.isFinite(port) || port <= 0) {
433
+ if (fs.existsSync(configPath)) {
434
+ try {
435
+ const raw = fs.readFileSync(configPath, 'utf8');
436
+ const cfg = JSON.parse(raw);
437
+ port = (cfg?.httpserver?.port ?? cfg?.server?.port ?? cfg?.port) || port;
438
+ host = (cfg?.httpserver?.host || cfg?.server?.host || cfg?.host || host);
439
+ }
440
+ catch { /* ignore */ }
441
+ }
442
+ }
443
+ }
444
+ if (!Number.isFinite(port) || port <= 0) {
445
+ throw new Error('Missing port. Set via --port, env or config file');
446
+ }
447
+ const norm = (h) => {
448
+ const v = String(h || '').toLowerCase();
449
+ if (v === '0.0.0.0' || v === '::' || v === '::1' || v === 'localhost') {
450
+ return LOCAL_HOSTS.IPV4;
451
+ }
452
+ return h || LOCAL_HOSTS.IPV4;
453
+ };
454
+ const resolvedHost = norm(host);
455
+ const base = `http://${resolvedHost}:${port}`;
456
+ if (options.json) {
457
+ const out = {
458
+ ANTHROPIC_BASE_URL: base,
459
+ ANTHROPIC_API_URL: base,
460
+ ANTHROPIC_API_KEY: 'rcc-proxy-key',
461
+ UNSET: ['ANTHROPIC_TOKEN', 'ANTHROPIC_AUTH_TOKEN']
462
+ };
463
+ console.log(JSON.stringify(out, null, 2));
464
+ }
465
+ else {
466
+ console.log(`export ANTHROPIC_BASE_URL=${base}`);
467
+ console.log(`export ANTHROPIC_API_URL=${base}`);
468
+ console.log(`export ANTHROPIC_API_KEY=rcc-proxy-key`);
469
+ // Ensure conflicting tokens are not picked up by client tools
470
+ console.log('unset ANTHROPIC_TOKEN');
471
+ console.log('unset ANTHROPIC_AUTH_TOKEN');
472
+ }
473
+ }
474
+ catch (error) {
475
+ logger.error(error instanceof Error ? error.message : String(error));
476
+ process.exit(1);
477
+ }
478
+ });
479
+ // Start command
480
+ program
481
+ .command('start')
482
+ .description('Start the RouteCodex server')
483
+ .option('-c, --config <config>', 'Configuration file path')
484
+ .option('--log-level <level>', 'Log level (debug, info, warn, error)', 'info')
485
+ .option('--codex', 'Use Codex system prompt (tools unchanged)')
486
+ .option('--claude', 'Use Claude system prompt (tools unchanged)')
487
+ .option('--restart', 'Restart if an instance is already running')
488
+ .option('--exclusive', 'Always take over the port (kill existing listeners)')
489
+ .action(async (options) => {
490
+ const spinner = await createSpinner('Starting RouteCodex server...');
491
+ try {
492
+ // Validate system prompt replacement flags
493
+ try {
494
+ if (options.codex && options.claude) {
495
+ spinner.fail('Flags --codex and --claude are mutually exclusive');
496
+ process.exit(1);
497
+ }
498
+ const promptFlag = options.codex ? 'codex' : (options.claude ? 'claude' : null);
499
+ if (promptFlag) {
500
+ process.env.ROUTECODEX_SYSTEM_PROMPT_SOURCE = promptFlag;
501
+ process.env.ROUTECODEX_SYSTEM_PROMPT_ENABLE = '1';
502
+ }
503
+ }
504
+ catch { /* ignore */ }
505
+ // Resolve config path
506
+ let configPath = options.config;
507
+ if (!configPath) {
508
+ configPath = path.join(homedir(), '.routecodex', 'config.json');
509
+ }
510
+ // Ensure provided config path is a file (not a directory)
511
+ if (fs.existsSync(configPath)) {
512
+ const stats = fs.statSync(configPath);
513
+ if (stats.isDirectory()) {
514
+ spinner.fail(`Configuration path must be a file, received directory: ${configPath}`);
515
+ process.exit(1);
516
+ }
517
+ }
518
+ // Check if config exists; do NOT create defaults
519
+ if (!fs.existsSync(configPath)) {
520
+ spinner.fail(`Configuration file not found: ${configPath}`);
521
+ logger.error('Please create a RouteCodex user config first (e.g., ~/.routecodex/config.json).');
522
+ logger.error('Or initialize via CLI:');
523
+ logger.error(' rcc config init');
524
+ logger.error('Or specify a custom configuration file:');
525
+ logger.error(' rcc start --config ./my-config.json');
526
+ process.exit(1);
527
+ }
528
+ // Load and validate configuration (non-dev packages rely on config port)
529
+ let config;
530
+ try {
531
+ const configContent = fs.readFileSync(configPath, 'utf8');
532
+ config = JSON.parse(configContent);
533
+ }
534
+ catch (error) {
535
+ spinner.fail('Failed to parse configuration file');
536
+ logger.error(`Invalid JSON in configuration file: ${configPath}`);
537
+ process.exit(1);
538
+ }
539
+ // Determine effective port:
540
+ // - dev package (`routecodex`): env override, otherwise固定端口 5555(完全忽略配置中的端口)
541
+ // - release package (`rcc`): 严格按配置文件端口启动
542
+ let resolvedPort;
543
+ if (IS_DEV_PACKAGE) {
544
+ const envPort = Number(process.env.ROUTECODEX_PORT || process.env.RCC_PORT || NaN);
545
+ if (!Number.isNaN(envPort) && envPort > 0) {
546
+ logger.info(`Using port ${envPort} from environment (ROUTECODEX_PORT/RCC_PORT) [dev package: routecodex]`);
547
+ resolvedPort = envPort;
548
+ }
549
+ else {
550
+ resolvedPort = DEFAULT_DEV_PORT;
551
+ logger.info(`Using dev default port ${resolvedPort} (routecodex dev package)`);
552
+ }
553
+ }
554
+ else {
555
+ const port = (config?.httpserver?.port ?? config?.server?.port ?? config?.port);
556
+ if (!port || typeof port !== 'number' || port <= 0) {
557
+ spinner.fail('Invalid or missing port configuration');
558
+ logger.error('Please set a valid port (httpserver.port or top-level port) in your configuration');
559
+ process.exit(1);
560
+ }
561
+ resolvedPort = port;
562
+ }
563
+ // Ensure port state aligns with requested behavior (always take over to avoid duplicates)
564
+ await ensurePortAvailable(resolvedPort, spinner, { restart: true });
565
+ // simple-log application removed
566
+ // Resolve modules config path
567
+ const modulesConfigPath = getModulesConfigPath();
568
+ if (!fs.existsSync(modulesConfigPath)) {
569
+ spinner.fail(`Modules configuration file not found: ${modulesConfigPath}`);
570
+ process.exit(1);
571
+ }
572
+ // resolvedPort already determined above
573
+ // Spawn child Node process to run the server entry; forward signals
574
+ const nodeBin = process.execPath; // current Node
575
+ const serverEntry = path.resolve(__dirname, 'index.js');
576
+ // Use spawn (not spawnSync); import child_process at top already
577
+ const { spawn } = await import('child_process');
578
+ const env = { ...process.env };
579
+ // Ensure server process picks the intended user config path
580
+ env.ROUTECODEX_CONFIG = configPath;
581
+ env.ROUTECODEX_CONFIG_PATH = configPath;
582
+ // 对 dev 包(routecodex),强制通过环境变量传递端口,确保服务器与 CLI 使用同一个 5555/自定义端口
583
+ if (IS_DEV_PACKAGE) {
584
+ env.ROUTECODEX_PORT = String(resolvedPort);
585
+ }
586
+ const args = [serverEntry, modulesConfigPath];
587
+ const childProc = spawn(nodeBin, args, { stdio: 'inherit', env });
588
+ // Persist child pid for out-of-band stop diagnostics
589
+ try {
590
+ const pidFile = path.join(homedir(), '.routecodex', 'server.cli.pid');
591
+ fs.writeFileSync(pidFile, String(childProc.pid ?? ''), 'utf8');
592
+ }
593
+ catch (error) { /* ignore */ }
594
+ const host = (config?.httpserver?.host || config?.server?.host || config?.host || LOCAL_HOSTS.LOCALHOST);
595
+ spinner.succeed(`RouteCodex server starting on ${host}:${resolvedPort}`);
596
+ logger.info(`Configuration loaded from: ${configPath}`);
597
+ logger.info(`Server will run on port: ${resolvedPort}`);
598
+ logger.info('Press Ctrl+C to stop the server');
599
+ // Forward signals to child
600
+ const shutdown = async (sig) => {
601
+ // 1) Ask server to shutdown over HTTP
602
+ try {
603
+ await fetch(`${HTTP_PROTOCOLS.HTTP}${LOCAL_HOSTS.IPV4}:${resolvedPort}${API_PATHS.SHUTDOWN}`, { method: 'POST' }).catch(() => { });
604
+ }
605
+ catch (error) { /* ignore */ }
606
+ // 2) Forward signal to child
607
+ try {
608
+ childProc.kill(sig);
609
+ }
610
+ catch (error) { /* ignore */ }
611
+ try {
612
+ if (childProc.pid) {
613
+ process.kill(-childProc.pid, sig);
614
+ }
615
+ }
616
+ catch (error) { /* ignore */ }
617
+ // 3) Wait briefly; if still listening, try SIGTERM/SIGKILL by port
618
+ const deadline = Date.now() + 3500;
619
+ while (Date.now() < deadline) {
620
+ if (findListeningPids(resolvedPort).length === 0) {
621
+ break;
622
+ }
623
+ await sleep(120);
624
+ }
625
+ const remain = findListeningPids(resolvedPort);
626
+ if (remain.length) {
627
+ for (const pid of remain) {
628
+ try {
629
+ process.kill(pid, 'SIGTERM');
630
+ }
631
+ catch { /* ignore */ }
632
+ }
633
+ const killDeadline = Date.now() + 1500;
634
+ while (Date.now() < killDeadline) {
635
+ if (findListeningPids(resolvedPort).length === 0) {
636
+ break;
637
+ }
638
+ await sleep(100);
639
+ }
640
+ }
641
+ const still = findListeningPids(resolvedPort);
642
+ if (still.length) {
643
+ for (const pid of still) {
644
+ try {
645
+ process.kill(pid, 'SIGKILL');
646
+ }
647
+ catch { /* ignore */ }
648
+ }
649
+ }
650
+ // Ensure parent exits even if child fails to exit
651
+ try {
652
+ process.exit(0);
653
+ }
654
+ catch { /* ignore */ }
655
+ };
656
+ process.on('SIGINT', () => { void shutdown('SIGINT'); });
657
+ process.on('SIGTERM', () => { void shutdown('SIGTERM'); });
658
+ // Fallback keypress handler: capture Ctrl+C / q when some environments swallow SIGINT
659
+ const cleanupKeypress = setupKeypress(() => { void shutdown('SIGINT'); });
660
+ childProc.on('exit', (code, signal) => {
661
+ // Propagate exit code
662
+ try {
663
+ cleanupKeypress();
664
+ }
665
+ catch { /* ignore */ }
666
+ if (signal) {
667
+ process.exit(0);
668
+ }
669
+ else {
670
+ process.exit(code ?? 0);
671
+ }
672
+ });
673
+ // Do not exit parent; keep process alive to relay signals
674
+ await new Promise(() => { });
675
+ }
676
+ catch (error) {
677
+ spinner.fail('Failed to start server');
678
+ logger.error(error instanceof Error ? error.message : String(error));
679
+ process.exit(1);
680
+ }
681
+ });
682
+ // Config command
683
+ program
684
+ .command('config')
685
+ .description('Configuration management')
686
+ .argument('<action>', 'Action to perform (show, edit, validate, init)')
687
+ .option('-c, --config <config>', 'Configuration file path')
688
+ .option('-t, --template <template>', 'Configuration template (default, lmstudio, oauth)')
689
+ .option('-f, --force', 'Force overwrite existing configuration')
690
+ .action(async (action, options) => {
691
+ try {
692
+ const configPath = options.config || path.join(homedir(), '.routecodex', 'config.json');
693
+ switch (action) {
694
+ case 'init':
695
+ await initializeConfig(configPath, options.template, options.force);
696
+ break;
697
+ case 'show':
698
+ if (fs.existsSync(configPath)) {
699
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
700
+ console.log(JSON.stringify(config, null, 2));
701
+ }
702
+ else {
703
+ logger.error('Configuration file not found');
704
+ }
705
+ break;
706
+ case 'edit': {
707
+ const editor = process.env.EDITOR || 'nano';
708
+ const { spawn } = await import('child_process');
709
+ spawn(editor, [configPath], { stdio: 'inherit' });
710
+ break;
711
+ }
712
+ case 'validate': {
713
+ if (fs.existsSync(configPath)) {
714
+ try {
715
+ JSON.parse(fs.readFileSync(configPath, 'utf8'));
716
+ logger.success('Configuration is valid');
717
+ }
718
+ catch (error) {
719
+ logger.error(`Configuration is invalid: ${error instanceof Error ? error.message : String(error)}`);
720
+ }
721
+ }
722
+ else {
723
+ logger.error('Configuration file not found');
724
+ }
725
+ break;
726
+ }
727
+ default:
728
+ logger.error('Unknown action. Use: show, edit, validate, init');
729
+ }
730
+ }
731
+ catch (error) {
732
+ logger.error(`Config command failed: ${error instanceof Error ? error.message : String(error)}`);
733
+ }
734
+ });
735
+ // Initialize configuration helper function
736
+ async function initializeConfig(configPath, template, force = false) {
737
+ const spinner = await createSpinner('Initializing configuration...');
738
+ try {
739
+ // Create config directory if it doesn't exist
740
+ const configDir = path.dirname(configPath);
741
+ if (!fs.existsSync(configDir)) {
742
+ fs.mkdirSync(configDir, { recursive: true });
743
+ }
744
+ // Check if config already exists
745
+ if (fs.existsSync(configPath) && !force) {
746
+ spinner.warn('Configuration file already exists');
747
+ spinner.info('Use --force flag to overwrite or choose a different path');
748
+ return;
749
+ }
750
+ // Load template
751
+ let templateConfig;
752
+ switch (template) {
753
+ case 'lmstudio':
754
+ templateConfig = {
755
+ server: {
756
+ port: DEFAULT_CONFIG.PORT,
757
+ host: LOCAL_HOSTS.LOCALHOST
758
+ },
759
+ logging: {
760
+ level: "info"
761
+ },
762
+ providers: {
763
+ lmstudio: {
764
+ type: "lmstudio",
765
+ baseUrl: `${HTTP_PROTOCOLS.HTTP}${LOCAL_HOSTS.LOCALHOST}:${DEFAULT_CONFIG.LM_STUDIO_PORT}`,
766
+ apiKey: "${LM_STUDIO_API_KEY:-}",
767
+ models: {
768
+ "gpt-oss-20b-mlx": {
769
+ maxTokens: 8192,
770
+ temperature: 0.7,
771
+ supportsStreaming: true,
772
+ supportsTools: true
773
+ },
774
+ "qwen2.5-7b-instruct": {
775
+ maxTokens: 32768,
776
+ temperature: 0.7,
777
+ supportsStreaming: true,
778
+ supportsTools: true
779
+ }
780
+ },
781
+ timeout: 60000,
782
+ retryAttempts: 3
783
+ }
784
+ },
785
+ routing: {
786
+ default: "lmstudio",
787
+ models: {
788
+ "gpt-4": "gpt-oss-20b-mlx",
789
+ "gpt-4-turbo": "gpt-oss-20b-mlx",
790
+ "gpt-3.5-turbo": "gpt-oss-20b-mlx",
791
+ "claude-3-haiku": "qwen2.5-7b-instruct",
792
+ "claude-3-sonnet": "gpt-oss-20b-mlx"
793
+ }
794
+ },
795
+ features: {
796
+ tools: {
797
+ enabled: true,
798
+ maxTools: 10
799
+ },
800
+ streaming: {
801
+ enabled: true,
802
+ chunkSize: 1024
803
+ },
804
+ oauth: {
805
+ enabled: true,
806
+ providers: ["qwen", "iflow"]
807
+ }
808
+ }
809
+ };
810
+ break;
811
+ case 'oauth':
812
+ templateConfig = {
813
+ server: {
814
+ port: DEFAULT_CONFIG.PORT,
815
+ host: LOCAL_HOSTS.LOCALHOST
816
+ },
817
+ logging: {
818
+ level: "info"
819
+ },
820
+ providers: {
821
+ qwen: {
822
+ type: "qwen-provider",
823
+ baseUrl: "https://chat.qwen.ai",
824
+ oauth: {
825
+ clientId: "f0304373b74a44d2b584a3fb70ca9e56",
826
+ deviceCodeUrl: "https://chat.qwen.ai/api/v1/oauth2/device/code",
827
+ tokenUrl: "https://chat.qwen.ai/api/v1/oauth2/token",
828
+ scopes: ["openid", "profile", "email", "model.completion"]
829
+ },
830
+ models: {
831
+ "qwen3-coder-plus": {
832
+ maxTokens: 32768,
833
+ temperature: 0.7,
834
+ supportsStreaming: true,
835
+ supportsTools: true
836
+ }
837
+ }
838
+ }
839
+ },
840
+ routing: {
841
+ default: "qwen",
842
+ models: {
843
+ "gpt-4": "qwen3-coder-plus",
844
+ "gpt-3.5-turbo": "qwen3-coder-plus"
845
+ }
846
+ },
847
+ features: {
848
+ tools: {
849
+ enabled: true,
850
+ maxTools: 10
851
+ },
852
+ streaming: {
853
+ enabled: true,
854
+ chunkSize: 1024
855
+ },
856
+ oauth: {
857
+ enabled: true,
858
+ autoRefresh: true,
859
+ sharedCredentials: true
860
+ }
861
+ }
862
+ };
863
+ break;
864
+ default:
865
+ templateConfig = {
866
+ server: {
867
+ port: DEFAULT_CONFIG.PORT,
868
+ host: LOCAL_HOSTS.LOCALHOST
869
+ },
870
+ logging: {
871
+ level: "info"
872
+ },
873
+ providers: {
874
+ openai: {
875
+ type: "openai",
876
+ apiKey: "${OPENAI_API_KEY}",
877
+ baseUrl: API_ENDPOINTS.OPENAI,
878
+ models: {
879
+ "gpt-4": {
880
+ maxTokens: 8192,
881
+ temperature: 0.7
882
+ },
883
+ "gpt-3.5-turbo": {
884
+ maxTokens: 4096,
885
+ temperature: 0.7
886
+ }
887
+ }
888
+ }
889
+ },
890
+ routing: {
891
+ default: "openai"
892
+ },
893
+ features: {
894
+ tools: {
895
+ enabled: true,
896
+ maxTools: 10
897
+ },
898
+ streaming: {
899
+ enabled: true,
900
+ chunkSize: 1024
901
+ }
902
+ }
903
+ };
904
+ }
905
+ // Write configuration file
906
+ fs.writeFileSync(configPath, JSON.stringify(templateConfig, null, 2));
907
+ spinner.succeed(`Configuration initialized: ${configPath}`);
908
+ logger.info(`Template used: ${template || 'default'}`);
909
+ logger.info('You can now start the server with: rcc start');
910
+ }
911
+ catch (error) {
912
+ spinner.fail('Failed to initialize configuration');
913
+ logger.error(`Initialization failed: ${error instanceof Error ? error.message : String(error)}`);
914
+ }
915
+ }
916
+ // Stop command
917
+ program
918
+ .command('stop')
919
+ .description('Stop the RouteCodex server')
920
+ .action(async (options) => {
921
+ const spinner = await createSpinner('Stopping RouteCodex server...');
922
+ try {
923
+ // Resolve config path and port
924
+ const configPath = path.join(homedir(), '.routecodex', 'config.json');
925
+ // Check if config exists
926
+ if (!fs.existsSync(configPath)) {
927
+ spinner.fail(`Configuration file not found: ${configPath}`);
928
+ logger.error('Cannot determine server port without configuration file');
929
+ logger.info('Please create a configuration file first:');
930
+ logger.info(' rcc config init');
931
+ process.exit(1);
932
+ }
933
+ // Load configuration to get port
934
+ let config;
935
+ try {
936
+ const configContent = fs.readFileSync(configPath, 'utf8');
937
+ config = JSON.parse(configContent);
938
+ }
939
+ catch (error) {
940
+ spinner.fail('Failed to parse configuration file');
941
+ logger.error(`Invalid JSON in configuration file: ${configPath}`);
942
+ process.exit(1);
943
+ }
944
+ const port = (config?.httpserver?.port ?? config?.server?.port ?? config?.port);
945
+ if (!port || typeof port !== 'number' || port <= 0) {
946
+ spinner.fail('Invalid or missing port configuration');
947
+ logger.error('Configuration file must specify a valid port number');
948
+ process.exit(1);
949
+ }
950
+ const resolvedPort = port;
951
+ const pids = findListeningPids(resolvedPort);
952
+ if (!pids.length) {
953
+ spinner.succeed(`No server listening on ${resolvedPort}.`);
954
+ return;
955
+ }
956
+ for (const pid of pids) {
957
+ try {
958
+ process.kill(pid, 'SIGTERM');
959
+ }
960
+ catch { /* ignore */ }
961
+ }
962
+ const deadline = Date.now() + 3000;
963
+ while (Date.now() < deadline) {
964
+ if (findListeningPids(resolvedPort).length === 0) {
965
+ spinner.succeed(`Stopped server on ${resolvedPort}.`);
966
+ return;
967
+ }
968
+ await sleep(100);
969
+ }
970
+ const remain = findListeningPids(resolvedPort);
971
+ if (remain.length) {
972
+ for (const pid of remain) {
973
+ try {
974
+ process.kill(pid, 'SIGKILL');
975
+ }
976
+ catch { /* ignore */ }
977
+ }
978
+ }
979
+ spinner.succeed(`Force stopped server on ${resolvedPort}.`);
980
+ }
981
+ catch (e) {
982
+ spinner.fail(`Failed to stop: ${e.message}`);
983
+ process.exit(1);
984
+ }
985
+ });
986
+ // Restart command (stop + start with same environment)
987
+ program
988
+ .command('restart')
989
+ .description('Restart the RouteCodex server')
990
+ .option('-c, --config <config>', 'Configuration file path')
991
+ .option('--log-level <level>', 'Log level (debug, info, warn, error)', 'info')
992
+ .option('--codex', 'Use Codex system prompt (tools unchanged)')
993
+ .option('--claude', 'Use Claude system prompt (tools unchanged)')
994
+ .action(async (options) => {
995
+ const spinner = await createSpinner('Restarting RouteCodex server...');
996
+ try {
997
+ // Resolve config path
998
+ const configPath = options.config || path.join(homedir(), '.routecodex', 'config.json');
999
+ // Check if config exists
1000
+ if (!fs.existsSync(configPath)) {
1001
+ spinner.fail(`Configuration file not found: ${configPath}`);
1002
+ logger.error('Cannot determine server port without configuration file');
1003
+ logger.info('Please create a configuration file first:');
1004
+ logger.info(' rcc config init');
1005
+ process.exit(1);
1006
+ }
1007
+ // Load configuration to get port
1008
+ let config;
1009
+ try {
1010
+ const configContent = fs.readFileSync(configPath, 'utf8');
1011
+ config = JSON.parse(configContent);
1012
+ }
1013
+ catch (error) {
1014
+ spinner.fail('Failed to parse configuration file');
1015
+ logger.error(`Invalid JSON in configuration file: ${configPath}`);
1016
+ process.exit(1);
1017
+ }
1018
+ const port = (config?.httpserver?.port ?? config?.server?.port ?? config?.port);
1019
+ if (!port || typeof port !== 'number' || port <= 0) {
1020
+ spinner.fail('Invalid or missing port configuration');
1021
+ logger.error('Configuration file must specify a valid port number');
1022
+ process.exit(1);
1023
+ }
1024
+ const resolvedPort = port;
1025
+ // Stop current instance (if any)
1026
+ const pids = findListeningPids(resolvedPort);
1027
+ if (pids.length) {
1028
+ for (const pid of pids) {
1029
+ try {
1030
+ process.kill(pid, 'SIGTERM');
1031
+ }
1032
+ catch { /* ignore */ }
1033
+ }
1034
+ const deadline = Date.now() + 3500;
1035
+ while (Date.now() < deadline) {
1036
+ if (findListeningPids(resolvedPort).length === 0) {
1037
+ break;
1038
+ }
1039
+ await sleep(120);
1040
+ }
1041
+ const remain = findListeningPids(resolvedPort);
1042
+ for (const pid of remain) {
1043
+ try {
1044
+ process.kill(pid, 'SIGKILL');
1045
+ }
1046
+ catch { /* ignore */ }
1047
+ }
1048
+ }
1049
+ spinner.text = 'Starting RouteCodex server...';
1050
+ // Delegate to start command behavior with --restart semantics
1051
+ const nodeBin = process.execPath;
1052
+ const serverEntry = path.resolve(path.dirname(fileURLToPath(import.meta.url)), 'index.js');
1053
+ const { spawn } = await import('child_process');
1054
+ // Prompt source flags
1055
+ if (options.codex && options.claude) {
1056
+ spinner.fail('Flags --codex and --claude are mutually exclusive');
1057
+ process.exit(1);
1058
+ }
1059
+ const restartPrompt = options.codex ? 'codex' : (options.claude ? 'claude' : null);
1060
+ if (restartPrompt) {
1061
+ process.env.ROUTECODEX_SYSTEM_PROMPT_SOURCE = restartPrompt;
1062
+ process.env.ROUTECODEX_SYSTEM_PROMPT_ENABLE = '1';
1063
+ }
1064
+ const modulesConfigPath = getModulesConfigPath();
1065
+ const env = { ...process.env };
1066
+ const args = [serverEntry, modulesConfigPath];
1067
+ const child = spawn(nodeBin, args, { stdio: 'inherit', env });
1068
+ try {
1069
+ fs.writeFileSync(path.join(homedir(), '.routecodex', 'server.cli.pid'), String(child.pid ?? ''), 'utf8');
1070
+ }
1071
+ catch (error) { /* ignore */ }
1072
+ const host = (config?.httpserver?.host || config?.server?.host || config?.host || LOCAL_HOSTS.LOCALHOST);
1073
+ spinner.succeed(`RouteCodex server restarting on ${host}:${resolvedPort}`);
1074
+ logger.info(`Server will run on port: ${resolvedPort}`);
1075
+ logger.info('Press Ctrl+C to stop the server');
1076
+ const shutdown = async (sig) => {
1077
+ try {
1078
+ await fetch(`${HTTP_PROTOCOLS.HTTP}${LOCAL_HOSTS.IPV4}:${resolvedPort}${API_PATHS.SHUTDOWN}`, { method: 'POST' }).catch(() => { });
1079
+ }
1080
+ catch (error) { /* ignore */ }
1081
+ try {
1082
+ child.kill(sig);
1083
+ }
1084
+ catch (error) { /* ignore */ }
1085
+ try {
1086
+ if (child.pid) {
1087
+ process.kill(-child.pid, sig);
1088
+ }
1089
+ }
1090
+ catch (error) { /* ignore */ }
1091
+ const deadline = Date.now() + 3500;
1092
+ while (Date.now() < deadline) {
1093
+ if (findListeningPids(resolvedPort).length === 0) {
1094
+ break;
1095
+ }
1096
+ await sleep(120);
1097
+ }
1098
+ const remain = findListeningPids(resolvedPort);
1099
+ for (const pid of remain) {
1100
+ try {
1101
+ process.kill(pid, 'SIGTERM');
1102
+ }
1103
+ catch (error) { /* ignore */ }
1104
+ }
1105
+ const killDeadline = Date.now() + 1500;
1106
+ while (Date.now() < killDeadline) {
1107
+ if (findListeningPids(resolvedPort).length === 0) {
1108
+ break;
1109
+ }
1110
+ await sleep(100);
1111
+ }
1112
+ const still = findListeningPids(resolvedPort);
1113
+ for (const pid of still) {
1114
+ try {
1115
+ process.kill(pid, 'SIGKILL');
1116
+ }
1117
+ catch (error) { /* ignore */ }
1118
+ }
1119
+ // Ensure parent exits in any case
1120
+ try {
1121
+ process.exit(0);
1122
+ }
1123
+ catch (error) { /* ignore */ }
1124
+ };
1125
+ process.on('SIGINT', () => { void shutdown('SIGINT'); });
1126
+ process.on('SIGTERM', () => { void shutdown('SIGTERM'); });
1127
+ // Fallback keypress handler for restart mode as well
1128
+ const cleanupKeypress2 = setupKeypress(() => { void shutdown('SIGINT'); });
1129
+ child.on('exit', (code, signal) => {
1130
+ try {
1131
+ cleanupKeypress2();
1132
+ }
1133
+ catch { /* ignore */ }
1134
+ if (signal) {
1135
+ process.exit(0);
1136
+ }
1137
+ else {
1138
+ process.exit(code ?? 0);
1139
+ }
1140
+ });
1141
+ await new Promise(() => { });
1142
+ }
1143
+ catch (e) {
1144
+ spinner.fail(`Failed to restart: ${e.message}`);
1145
+ process.exit(1);
1146
+ }
1147
+ });
1148
+ // Status command
1149
+ program
1150
+ .command('status')
1151
+ .description('Show server status')
1152
+ .option('-j, --json', 'Output in JSON format')
1153
+ .action(async (options) => {
1154
+ try {
1155
+ // Resolve config path and get configuration
1156
+ const configPath = path.join(homedir(), '.routecodex', 'config.json');
1157
+ // Check if config exists
1158
+ if (!fs.existsSync(configPath)) {
1159
+ logger.error('Configuration file not found');
1160
+ logger.info('Please create a configuration file first:');
1161
+ logger.info(' rcc config init');
1162
+ if (options.json) {
1163
+ console.log(JSON.stringify({ error: 'Configuration file not found' }, null, 2));
1164
+ }
1165
+ return;
1166
+ }
1167
+ let port;
1168
+ let host;
1169
+ // Load configuration to get port and host
1170
+ try {
1171
+ const configContent = fs.readFileSync(configPath, 'utf8');
1172
+ const config = JSON.parse(configContent);
1173
+ port = config?.port || config?.server?.port;
1174
+ host = config?.server?.host || config?.host || LOCAL_HOSTS.LOCALHOST;
1175
+ if (!port || typeof port !== 'number' || port <= 0) {
1176
+ const errorMsg = 'Invalid or missing port configuration in configuration file';
1177
+ logger.error(errorMsg);
1178
+ if (options.json) {
1179
+ console.log(JSON.stringify({ error: errorMsg }, null, 2));
1180
+ }
1181
+ return;
1182
+ }
1183
+ }
1184
+ catch (error) {
1185
+ const errorMsg = `Failed to parse configuration file: ${configPath}`;
1186
+ logger.error(errorMsg);
1187
+ if (options.json) {
1188
+ console.log(JSON.stringify({ error: errorMsg }, null, 2));
1189
+ }
1190
+ return;
1191
+ }
1192
+ // Check if server is running by trying to connect (HTTP)
1193
+ const { get } = await import('http');
1194
+ const checkServer = (port, host) => {
1195
+ return new Promise((resolve) => {
1196
+ const req = get({
1197
+ hostname: host,
1198
+ port: port,
1199
+ path: '/health',
1200
+ method: 'GET',
1201
+ timeout: 5000
1202
+ }, (res) => {
1203
+ let data = '';
1204
+ res.on('data', chunk => data += chunk);
1205
+ res.on('end', () => {
1206
+ try {
1207
+ const health = JSON.parse(data);
1208
+ // Ensure required fields in case health payload differs
1209
+ resolve({
1210
+ status: health?.status || 'unknown',
1211
+ port,
1212
+ host
1213
+ });
1214
+ }
1215
+ catch {
1216
+ resolve({ status: 'unknown', port, host });
1217
+ }
1218
+ });
1219
+ });
1220
+ req.on('error', () => {
1221
+ resolve({ status: 'stopped', port, host });
1222
+ });
1223
+ req.on('timeout', () => {
1224
+ req.destroy();
1225
+ resolve({ status: 'timeout', port, host });
1226
+ });
1227
+ req.end();
1228
+ });
1229
+ };
1230
+ const status = await checkServer(port, host);
1231
+ if (options.json) {
1232
+ console.log(JSON.stringify(status, null, 2));
1233
+ }
1234
+ else {
1235
+ switch (status.status) {
1236
+ case 'running':
1237
+ logger.success(`Server is running on ${host}:${port}`);
1238
+ break;
1239
+ case 'stopped':
1240
+ logger.error('Server is not running');
1241
+ break;
1242
+ case 'error':
1243
+ logger.error('Server is in error state');
1244
+ break;
1245
+ default:
1246
+ logger.warning('Server status unknown');
1247
+ }
1248
+ }
1249
+ }
1250
+ catch (error) {
1251
+ logger.error(`Status check failed: ${error instanceof Error ? error.message : String(error)}`);
1252
+ }
1253
+ });
1254
+ // Clean command: purge local capture and debug data for fresh runs
1255
+ program
1256
+ .command('clean')
1257
+ .description('Clean captured data and debug logs')
1258
+ .option('-y, --yes', 'Confirm deletion without prompt')
1259
+ .option('--what <targets>', 'Targets to clean: captures,logs,all', 'all')
1260
+ .action(async (options) => {
1261
+ const confirm = Boolean(options.yes);
1262
+ const what = String(options.what || 'all');
1263
+ if (!confirm) {
1264
+ logger.warning("Add --yes to confirm deletion.");
1265
+ logger.info("Example: rcc clean --yes --what all");
1266
+ return;
1267
+ }
1268
+ const home = homedir();
1269
+ const targets = [];
1270
+ if (what === 'captures' || what === 'all') {
1271
+ targets.push({ path: path.join(home, '.routecodex', 'codex-samples'), label: 'captures' });
1272
+ }
1273
+ if (what === 'logs' || what === 'all') {
1274
+ targets.push({ path: path.join(process.cwd(), 'debug-logs'), label: 'debug-logs' });
1275
+ targets.push({ path: path.join(home, '.routecodex', 'logs'), label: 'user-logs' });
1276
+ }
1277
+ let removedAny = false;
1278
+ for (const t of targets) {
1279
+ try {
1280
+ if (fs.existsSync(t.path)) {
1281
+ const entries = fs.readdirSync(t.path);
1282
+ for (const name of entries) {
1283
+ const p = path.join(t.path, name);
1284
+ try {
1285
+ // Recursively remove files/folders
1286
+ fs.rmSync(p, { recursive: true, force: true });
1287
+ removedAny = true;
1288
+ }
1289
+ catch (e) {
1290
+ logger.warning(`Failed to remove ${p}: ${e.message}`);
1291
+ }
1292
+ }
1293
+ logger.success(`Cleared ${t.label} at ${t.path}`);
1294
+ }
1295
+ }
1296
+ catch (e) {
1297
+ logger.warning(`Unable to access ${t.label} at ${t.path}: ${e.message}`);
1298
+ }
1299
+ }
1300
+ if (!removedAny) {
1301
+ logger.info('Nothing to clean.');
1302
+ }
1303
+ });
1304
+ // Import commands at top level
1305
+ // offline-log CLI temporarily disabled to simplify build
1306
+ // simple-log config helper removed
1307
+ // Add commands
1308
+ // dry-run commands removed
1309
+ // offline-log command disabled
1310
+ // simple-log command removed
1311
+ // Examples command
1312
+ program
1313
+ .command('examples')
1314
+ .description('Show usage examples')
1315
+ .action(() => {
1316
+ console.log(chalk.cyan('RouteCodex Usage Examples'));
1317
+ console.log('='.repeat(40));
1318
+ console.log('');
1319
+ console.log(chalk.yellow('1. Initialize Configuration:'));
1320
+ console.log(' # Create default configuration');
1321
+ console.log(' rcc config init');
1322
+ console.log('');
1323
+ console.log(' # Create LMStudio configuration');
1324
+ console.log(' rcc config init --template lmstudio');
1325
+ console.log('');
1326
+ console.log(' # Create OAuth configuration');
1327
+ console.log(' rcc config init --template oauth');
1328
+ console.log('');
1329
+ console.log(chalk.yellow('2. Start Server:'));
1330
+ console.log(' # Start with default config');
1331
+ console.log(' rcc start');
1332
+ console.log('');
1333
+ console.log(' # Start with custom config');
1334
+ console.log(' rcc start --config ./config/lmstudio-config.json');
1335
+ console.log('');
1336
+ console.log(' # Note: Port must be specified in configuration file');
1337
+ console.log(' # Server will not start without valid port configuration');
1338
+ console.log('');
1339
+ console.log(chalk.yellow('3. Launch Claude Code:'));
1340
+ console.log(' # Launch Claude Code with automatic server start');
1341
+ console.log(' rcc code --ensure-server');
1342
+ console.log('');
1343
+ console.log(' # Launch Claude Code with specific model');
1344
+ console.log(' rcc code --model claude-3-haiku');
1345
+ console.log('');
1346
+ console.log(' # Launch Claude Code with custom profile');
1347
+ console.log(' rcc code --profile my-profile');
1348
+ console.log('');
1349
+ console.log(chalk.yellow('4. Configuration Management:'));
1350
+ console.log(' # Show current configuration');
1351
+ console.log(' rcc config show');
1352
+ console.log('');
1353
+ console.log(' # Edit configuration');
1354
+ console.log(' rcc config edit');
1355
+ console.log('');
1356
+ console.log(' # Validate configuration');
1357
+ console.log(' rcc config validate');
1358
+ console.log('');
1359
+ // Dry-Run examples removed
1360
+ console.log(chalk.yellow('6. Environment Variables:'));
1361
+ console.log(' # Set LM Studio API Key');
1362
+ console.log(' export LM_STUDIO_API_KEY="your-api-key"');
1363
+ console.log('');
1364
+ console.log(' # Set OpenAI API Key');
1365
+ console.log(' export OPENAI_API_KEY="your-api-key"');
1366
+ console.log('');
1367
+ console.log(chalk.yellow('7. Testing:'));
1368
+ console.log(' # Test with curl');
1369
+ console.log(' curl -X POST http://localhost:5506/v1/chat/completions \\');
1370
+ console.log(' -H "Content-Type: application/json" \\');
1371
+ console.log(' -H "Authorization: Bearer test-key" \\');
1372
+ console.log(' -d \'{"model": "gpt-4", "messages": [{"role": "user", "content": "Hello!"}]}\'');
1373
+ console.log('');
1374
+ });
1375
+ function determinePort(configPath, fallback) {
1376
+ try {
1377
+ const content = fs.readFileSync(configPath, 'utf8');
1378
+ const config = JSON.parse(content);
1379
+ const candidate = config?.server?.port ?? config?.httpserver?.port ?? config?.port;
1380
+ const parsed = parseInt(candidate, 10);
1381
+ if (!Number.isNaN(parsed) && parsed > 0) {
1382
+ return parsed;
1383
+ }
1384
+ }
1385
+ catch {
1386
+ // ignore parsing errors and fall back
1387
+ }
1388
+ return fallback;
1389
+ }
1390
+ async function ensurePortAvailable(port, parentSpinner, opts = {}) {
1391
+ if (!port || Number.isNaN(port)) {
1392
+ return;
1393
+ }
1394
+ // Best-effort HTTP shutdown on common loopback hosts to cover IPv4/IPv6
1395
+ try {
1396
+ const candidates = [LOCAL_HOSTS.IPV4, LOCAL_HOSTS.LOCALHOST];
1397
+ for (const h of candidates) {
1398
+ try {
1399
+ const controller = new AbortController();
1400
+ const t = setTimeout(() => { try {
1401
+ controller.abort();
1402
+ }
1403
+ catch (error) { /* ignore */ } }, 700);
1404
+ await fetch(`http://${h}:${port}/shutdown`, { method: 'POST', signal: controller.signal }).catch(() => { });
1405
+ clearTimeout(t);
1406
+ }
1407
+ catch (error) { /* ignore */ }
1408
+ }
1409
+ await sleep(300);
1410
+ }
1411
+ catch { /* ignore */ }
1412
+ const initialPids = findListeningPids(port);
1413
+ if (initialPids.length === 0) {
1414
+ return;
1415
+ }
1416
+ // If a healthy server is already running and no restart requested, report and exit gracefully
1417
+ const healthy = await isServerHealthyQuick(port);
1418
+ if (healthy && !opts.restart) {
1419
+ parentSpinner.stop();
1420
+ logger.success(`RouteCodex is already running on port ${port}.`);
1421
+ logger.info(`Use 'rcc stop' or 'rcc start --restart' to restart.`);
1422
+ process.exit(0);
1423
+ }
1424
+ parentSpinner.stop();
1425
+ logger.warning(`Port ${port} is in use by PID(s): ${initialPids.join(', ')}`);
1426
+ const stopSpinner = await createSpinner(`Port ${port} is in use on 0.0.0.0. Attempting graceful stop...`);
1427
+ const gracefulTimeout = Number(process.env.ROUTECODEX_STOP_TIMEOUT_MS ?? 5000);
1428
+ const killTimeout = Number(process.env.ROUTECODEX_KILL_TIMEOUT_MS ?? 3000);
1429
+ const pollInterval = 150;
1430
+ for (const pid of initialPids) {
1431
+ try {
1432
+ process.kill(pid, 'SIGTERM');
1433
+ }
1434
+ catch (error) {
1435
+ stopSpinner.warn(`Failed to send SIGTERM to PID ${pid}: ${error.message}`);
1436
+ }
1437
+ }
1438
+ const gracefulDeadline = Date.now() + gracefulTimeout;
1439
+ while (Date.now() < gracefulDeadline) {
1440
+ if (findListeningPids(port).length === 0) {
1441
+ stopSpinner.succeed(`Port ${port} freed after graceful stop.`);
1442
+ logger.success(`Port ${port} freed after graceful stop.`);
1443
+ parentSpinner.start('Starting RouteCodex server...');
1444
+ return;
1445
+ }
1446
+ await sleep(pollInterval);
1447
+ }
1448
+ let remaining = findListeningPids(port);
1449
+ if (remaining.length) {
1450
+ stopSpinner.warn(`Graceful stop timed out, sending SIGKILL to PID(s): ${remaining.join(', ')}`);
1451
+ logger.warning(`Graceful stop timed out. Forcing SIGKILL to PID(s): ${remaining.join(', ')}`);
1452
+ for (const pid of remaining) {
1453
+ try {
1454
+ process.kill(pid, 'SIGKILL');
1455
+ }
1456
+ catch (error) {
1457
+ const message = error.message;
1458
+ stopSpinner.warn(`Failed to send SIGKILL to PID ${pid}: ${message}`);
1459
+ logger.error(`Failed to SIGKILL PID ${pid}: ${message}`);
1460
+ }
1461
+ }
1462
+ const killDeadline = Date.now() + killTimeout;
1463
+ while (Date.now() < killDeadline) {
1464
+ if (findListeningPids(port).length === 0) {
1465
+ stopSpinner.succeed(`Port ${port} freed after SIGKILL.`);
1466
+ logger.success(`Port ${port} freed after SIGKILL.`);
1467
+ parentSpinner.start('Starting RouteCodex server...');
1468
+ return;
1469
+ }
1470
+ await sleep(pollInterval);
1471
+ }
1472
+ }
1473
+ remaining = findListeningPids(port);
1474
+ if (remaining.length) {
1475
+ stopSpinner.fail(`Failed to free port ${port}. Still held by PID(s): ${remaining.join(', ')}`);
1476
+ logger.error(`Failed to free port ${port}. Still held by PID(s): ${remaining.join(', ')}`);
1477
+ throw new Error(`Failed to free port ${port}`);
1478
+ }
1479
+ stopSpinner.succeed(`Port ${port} freed.`);
1480
+ logger.success(`Port ${port} freed.`);
1481
+ parentSpinner.start('Starting RouteCodex server...');
1482
+ }
1483
+ function findListeningPids(port) {
1484
+ try {
1485
+ const result = spawnSync('lsof', ['-tiTCP', `:${port}`, '-sTCP:LISTEN'], { encoding: 'utf8' });
1486
+ if (result.error) {
1487
+ logger.warning(`lsof not available to inspect port usage: ${result.error.message}`);
1488
+ return [];
1489
+ }
1490
+ const stdout = (result.stdout || '').trim();
1491
+ if (!stdout) {
1492
+ return [];
1493
+ }
1494
+ return stdout
1495
+ .split(/\s+/)
1496
+ .map((value) => parseInt(value, 10))
1497
+ .filter((pid) => !Number.isNaN(pid));
1498
+ }
1499
+ catch (error) {
1500
+ logger.warning(`Failed to inspect port ${port}: ${error.message}`);
1501
+ return [];
1502
+ }
1503
+ }
1504
+ function sleep(ms) {
1505
+ return new Promise((resolve) => setTimeout(resolve, ms));
1506
+ }
1507
+ // Fallback keypress setup: capture Ctrl+C and 'q' to trigger shutdown when SIGINT is not delivered
1508
+ function setupKeypress(onInterrupt) {
1509
+ try {
1510
+ const stdin = process.stdin;
1511
+ if (stdin && stdin.isTTY) {
1512
+ const onData = (data) => {
1513
+ const s = data.toString('utf8');
1514
+ // Ctrl+C
1515
+ if (s === '\u0003') {
1516
+ try {
1517
+ onInterrupt();
1518
+ }
1519
+ catch { /* ignore */ }
1520
+ return;
1521
+ }
1522
+ // 'q' or 'Q' quick quit
1523
+ if (s === 'q' || s === 'Q') {
1524
+ try {
1525
+ onInterrupt();
1526
+ }
1527
+ catch { /* ignore */ }
1528
+ return;
1529
+ }
1530
+ };
1531
+ stdin.setRawMode?.(true);
1532
+ stdin.resume?.();
1533
+ stdin.on?.('data', onData);
1534
+ return () => {
1535
+ try {
1536
+ stdin.off?.('data', onData);
1537
+ }
1538
+ catch { /* ignore */ }
1539
+ try {
1540
+ stdin.setRawMode?.(false);
1541
+ }
1542
+ catch { /* ignore */ }
1543
+ try {
1544
+ stdin.pause?.();
1545
+ }
1546
+ catch { /* ignore */ }
1547
+ };
1548
+ }
1549
+ }
1550
+ catch { /* ignore */ }
1551
+ return () => { };
1552
+ }
1553
+ async function isServerHealthyQuick(port) {
1554
+ try {
1555
+ const controller = new AbortController();
1556
+ const t = setTimeout(() => { try {
1557
+ controller.abort();
1558
+ }
1559
+ catch { /* ignore */ } }, 800);
1560
+ const res = await fetch(`${HTTP_PROTOCOLS.HTTP}${LOCAL_HOSTS.IPV4}:${port}${API_PATHS.HEALTH}`, { method: 'GET', signal: controller.signal });
1561
+ clearTimeout(t);
1562
+ if (!res.ok) {
1563
+ return false;
1564
+ }
1565
+ const data = await res.json().catch(() => null);
1566
+ return !!data && (data.status === 'healthy' || data.status === 'ready');
1567
+ }
1568
+ catch (error) {
1569
+ return false;
1570
+ }
1571
+ }
1572
+ function getModulesConfigPath() {
1573
+ return path.resolve(__dirname, '../config/modules.json');
1574
+ }
1575
+ // Port utilities: doctor
1576
+ program
1577
+ .command('port')
1578
+ .description('Port utilities (doctor)')
1579
+ .argument('<sub>', 'Subcommand: doctor')
1580
+ .argument('[port]', 'Port number (e.g., ${DEFAULT_CONFIG.PORT})')
1581
+ .option('--kill', 'Kill all listeners on the port')
1582
+ .action(async (sub, portArg, opts) => {
1583
+ if ((sub || '').toLowerCase() !== 'doctor') {
1584
+ console.error(chalk.red("Unknown subcommand. Use: rcc port doctor [port] [--kill]"));
1585
+ process.exit(2);
1586
+ }
1587
+ const spinner = await createSpinner('Inspecting port...');
1588
+ try {
1589
+ let port = Number(portArg || 0);
1590
+ if (!Number.isFinite(port) || port <= 0) {
1591
+ // fallback to user config
1592
+ const cfgPath = path.join(homedir(), '.routecodex', 'config.json');
1593
+ if (fs.existsSync(cfgPath)) {
1594
+ try {
1595
+ const raw = fs.readFileSync(cfgPath, 'utf8');
1596
+ const cfg = JSON.parse(raw);
1597
+ port = (cfg?.httpserver?.port ?? cfg?.server?.port ?? cfg?.port) || port;
1598
+ }
1599
+ catch { /* ignore */ }
1600
+ }
1601
+ }
1602
+ if (!Number.isFinite(port) || port <= 0) {
1603
+ spinner.fail('Missing port. Provide an explicit port or set it in ~/.routecodex/config.json');
1604
+ process.exit(1);
1605
+ }
1606
+ const pids = findListeningPids(port);
1607
+ spinner.stop();
1608
+ console.log(chalk.cyan(`Port ${port} listeners:`));
1609
+ if (!pids.length) {
1610
+ console.log(' (none)');
1611
+ }
1612
+ else {
1613
+ for (const pid of pids) {
1614
+ let cmd = '';
1615
+ try {
1616
+ cmd = spawnSync('ps', ['-o', 'command=', '-p', String(pid)], { encoding: 'utf8' }).stdout.trim();
1617
+ }
1618
+ catch { }
1619
+ const origin = /node\s+.*routecodex-worktree/.test(cmd) ? 'local-dev' : (/node\s+.*lib\/node_modules\/routecodex/.test(cmd) ? 'global' : 'unknown');
1620
+ console.log(` PID ${pid} [${origin}] ${cmd}`);
1621
+ }
1622
+ }
1623
+ if (opts.kill && pids.length) {
1624
+ const ksp = await createSpinner(`Killing ${pids.length} listener(s) on ${port}...`);
1625
+ for (const pid of pids) {
1626
+ try {
1627
+ process.kill(pid, 'SIGKILL');
1628
+ }
1629
+ catch (e) {
1630
+ ksp.warn(`Failed to kill ${pid}: ${e.message}`);
1631
+ }
1632
+ }
1633
+ // brief wait
1634
+ await sleep(300);
1635
+ const remain = findListeningPids(port);
1636
+ if (remain.length) {
1637
+ ksp.fail(`Some listeners remain: ${remain.join(', ')}`);
1638
+ process.exit(1);
1639
+ }
1640
+ ksp.succeed(`Port ${port} is now free.`);
1641
+ }
1642
+ }
1643
+ catch (e) {
1644
+ spinner.fail('Port inspection failed');
1645
+ console.error(e instanceof Error ? e.message : String(e));
1646
+ process.exit(1);
1647
+ }
1648
+ });
1649
+ // Parse command line arguments (must be last)
1650
+ program.parse();
1651
+ //# sourceMappingURL=cli.js.map