apifox-mock-generator 1.4.5 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (710) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/README.md +12 -10
  3. package/dist/package.json +22 -4
  4. package/dist/src/application/use-cases/fetch-apifox-data.use-case.d.ts +19 -0
  5. package/dist/src/application/use-cases/fetch-apifox-data.use-case.d.ts.map +1 -0
  6. package/dist/src/application/use-cases/fetch-apifox-data.use-case.js +29 -0
  7. package/dist/src/application/use-cases/fetch-apifox-data.use-case.js.map +1 -0
  8. package/dist/src/application/use-cases/generate-mock.use-case.d.ts +22 -0
  9. package/dist/src/application/use-cases/generate-mock.use-case.d.ts.map +1 -0
  10. package/dist/src/application/use-cases/generate-mock.use-case.js +42 -0
  11. package/dist/src/application/use-cases/generate-mock.use-case.js.map +1 -0
  12. package/dist/src/application/use-cases/generate-types.use-case.d.ts +22 -0
  13. package/dist/src/application/use-cases/generate-types.use-case.d.ts.map +1 -0
  14. package/dist/src/application/use-cases/generate-types.use-case.js +42 -0
  15. package/dist/src/application/use-cases/generate-types.use-case.js.map +1 -0
  16. package/dist/src/application/use-cases/index.d.ts +8 -0
  17. package/dist/src/application/use-cases/index.d.ts.map +1 -0
  18. package/dist/src/application/use-cases/index.js +8 -0
  19. package/dist/src/application/use-cases/index.js.map +1 -0
  20. package/dist/src/application/use-cases/serve-mock.use-case.d.ts +26 -0
  21. package/dist/src/application/use-cases/serve-mock.use-case.d.ts.map +1 -0
  22. package/dist/src/application/use-cases/serve-mock.use-case.js +103 -0
  23. package/dist/src/application/use-cases/serve-mock.use-case.js.map +1 -0
  24. package/dist/src/core/apifox-client.d.ts +5 -1
  25. package/dist/src/core/apifox-client.d.ts.map +1 -1
  26. package/dist/src/core/apifox-client.js +8 -101
  27. package/dist/src/core/apifox-client.js.map +1 -1
  28. package/dist/src/core/config-loader.d.ts.map +1 -1
  29. package/dist/src/core/config-loader.js +17 -5
  30. package/dist/src/core/config-loader.js.map +1 -1
  31. package/dist/src/core/container-setup.d.ts +9 -0
  32. package/dist/src/core/container-setup.d.ts.map +1 -0
  33. package/dist/src/core/container-setup.js +64 -0
  34. package/dist/src/core/container-setup.js.map +1 -0
  35. package/dist/src/core/container.d.ts +42 -0
  36. package/dist/src/core/container.d.ts.map +1 -0
  37. package/dist/src/core/container.js +70 -0
  38. package/dist/src/core/container.js.map +1 -0
  39. package/dist/src/core/endpoint-filter.d.ts +10 -0
  40. package/dist/src/core/endpoint-filter.d.ts.map +1 -1
  41. package/dist/src/core/endpoint-filter.js +22 -95
  42. package/dist/src/core/endpoint-filter.js.map +1 -1
  43. package/dist/src/core/error-codes.d.ts +22 -0
  44. package/dist/src/core/error-codes.d.ts.map +1 -0
  45. package/dist/src/core/error-codes.js +31 -0
  46. package/dist/src/core/error-codes.js.map +1 -0
  47. package/dist/src/core/error-handler.d.ts +8 -0
  48. package/dist/src/core/error-handler.d.ts.map +1 -0
  49. package/dist/src/core/error-handler.js +45 -0
  50. package/dist/src/core/error-handler.js.map +1 -0
  51. package/dist/src/core/errors.d.ts +49 -0
  52. package/dist/src/core/errors.d.ts.map +1 -0
  53. package/dist/src/core/errors.js +70 -0
  54. package/dist/src/core/errors.js.map +1 -0
  55. package/dist/src/core/mock-config-loader.d.ts +1 -0
  56. package/dist/src/core/mock-config-loader.d.ts.map +1 -1
  57. package/dist/src/core/mock-config-loader.js +24 -7
  58. package/dist/src/core/mock-config-loader.js.map +1 -1
  59. package/dist/src/core/openapi-converter.d.ts +5 -1
  60. package/dist/src/core/openapi-converter.d.ts.map +1 -1
  61. package/dist/src/core/openapi-converter.js +11 -34
  62. package/dist/src/core/openapi-converter.js.map +1 -1
  63. package/dist/src/core/service-keys.d.ts +39 -0
  64. package/dist/src/core/service-keys.d.ts.map +1 -0
  65. package/dist/src/core/service-keys.js +43 -0
  66. package/dist/src/core/service-keys.js.map +1 -0
  67. package/dist/src/domain/entities/api-endpoint.entity.d.ts +57 -0
  68. package/dist/src/domain/entities/api-endpoint.entity.d.ts.map +1 -0
  69. package/dist/src/domain/entities/api-endpoint.entity.js +87 -0
  70. package/dist/src/domain/entities/api-endpoint.entity.js.map +1 -0
  71. package/dist/src/domain/entities/index.d.ts +6 -0
  72. package/dist/src/domain/entities/index.d.ts.map +1 -0
  73. package/dist/src/domain/entities/index.js +6 -0
  74. package/dist/src/domain/entities/index.js.map +1 -0
  75. package/dist/src/domain/entities/mock-route.entity.d.ts +41 -0
  76. package/dist/src/domain/entities/mock-route.entity.d.ts.map +1 -0
  77. package/dist/src/domain/entities/mock-route.entity.js +82 -0
  78. package/dist/src/domain/entities/mock-route.entity.js.map +1 -0
  79. package/dist/src/domain/interfaces/apifox-client.interface.d.ts +14 -0
  80. package/dist/src/domain/interfaces/apifox-client.interface.d.ts.map +1 -0
  81. package/dist/src/domain/interfaces/apifox-client.interface.js +2 -0
  82. package/dist/src/domain/interfaces/apifox-client.interface.js.map +1 -0
  83. package/dist/src/domain/interfaces/file-system.interface.d.ts +46 -0
  84. package/dist/src/domain/interfaces/file-system.interface.d.ts.map +1 -0
  85. package/dist/src/domain/interfaces/file-system.interface.js +2 -0
  86. package/dist/src/domain/interfaces/file-system.interface.js.map +1 -0
  87. package/dist/src/domain/interfaces/generator.interface.d.ts +24 -0
  88. package/dist/src/domain/interfaces/generator.interface.d.ts.map +1 -0
  89. package/dist/src/domain/interfaces/generator.interface.js +2 -0
  90. package/dist/src/domain/interfaces/generator.interface.js.map +1 -0
  91. package/dist/src/domain/interfaces/http-client.interface.d.ts +54 -0
  92. package/dist/src/domain/interfaces/http-client.interface.d.ts.map +1 -0
  93. package/dist/src/domain/interfaces/http-client.interface.js +2 -0
  94. package/dist/src/domain/interfaces/http-client.interface.js.map +1 -0
  95. package/dist/src/domain/interfaces/index.d.ts +11 -0
  96. package/dist/src/domain/interfaces/index.d.ts.map +1 -0
  97. package/dist/src/domain/interfaces/index.js +11 -0
  98. package/dist/src/domain/interfaces/index.js.map +1 -0
  99. package/dist/src/domain/interfaces/logger.interface.d.ts +36 -0
  100. package/dist/src/domain/interfaces/logger.interface.d.ts.map +1 -0
  101. package/dist/src/domain/interfaces/logger.interface.js +2 -0
  102. package/dist/src/domain/interfaces/logger.interface.js.map +1 -0
  103. package/dist/src/domain/interfaces/remote-proxy.interface.d.ts +26 -0
  104. package/dist/src/domain/interfaces/remote-proxy.interface.d.ts.map +1 -0
  105. package/dist/src/domain/interfaces/remote-proxy.interface.js +2 -0
  106. package/dist/src/domain/interfaces/remote-proxy.interface.js.map +1 -0
  107. package/dist/src/domain/interfaces/route-manager.interface.d.ts +34 -0
  108. package/dist/src/domain/interfaces/route-manager.interface.d.ts.map +1 -0
  109. package/dist/src/domain/interfaces/route-manager.interface.js +2 -0
  110. package/dist/src/domain/interfaces/route-manager.interface.js.map +1 -0
  111. package/dist/src/domain/interfaces.d.ts +239 -0
  112. package/dist/src/domain/interfaces.d.ts.map +1 -0
  113. package/dist/src/domain/interfaces.js +2 -0
  114. package/dist/src/domain/interfaces.js.map +1 -0
  115. package/dist/src/domain/services/endpoint-filter.service.d.ts +52 -0
  116. package/dist/src/domain/services/endpoint-filter.service.d.ts.map +1 -0
  117. package/dist/src/domain/services/endpoint-filter.service.js +150 -0
  118. package/dist/src/domain/services/endpoint-filter.service.js.map +1 -0
  119. package/dist/src/domain/services/index.d.ts +7 -0
  120. package/dist/src/domain/services/index.d.ts.map +1 -0
  121. package/dist/src/domain/services/index.js +7 -0
  122. package/dist/src/domain/services/index.js.map +1 -0
  123. package/dist/src/domain/services/openapi-converter.service.d.ts +15 -0
  124. package/dist/src/domain/services/openapi-converter.service.d.ts.map +1 -0
  125. package/dist/src/domain/services/openapi-converter.service.js +74 -0
  126. package/dist/src/domain/services/openapi-converter.service.js.map +1 -0
  127. package/dist/src/domain/services/route-matcher.service.d.ts +38 -0
  128. package/dist/src/domain/services/route-matcher.service.d.ts.map +1 -0
  129. package/dist/src/domain/services/route-matcher.service.js +61 -0
  130. package/dist/src/domain/services/route-matcher.service.js.map +1 -0
  131. package/dist/src/generators/mock-generator.d.ts +2 -1
  132. package/dist/src/generators/mock-generator.d.ts.map +1 -1
  133. package/dist/src/generators/mock-generator.js +13 -8
  134. package/dist/src/generators/mock-generator.js.map +1 -1
  135. package/dist/src/generators/templates/type-template.d.ts +2 -1
  136. package/dist/src/generators/templates/type-template.d.ts.map +1 -1
  137. package/dist/src/generators/templates/type-template.js +72 -48
  138. package/dist/src/generators/templates/type-template.js.map +1 -1
  139. package/dist/src/generators/type-generator.d.ts +2 -1
  140. package/dist/src/generators/type-generator.d.ts.map +1 -1
  141. package/dist/src/generators/type-generator.js +1 -1
  142. package/dist/src/generators/type-generator.js.map +1 -1
  143. package/dist/src/index.d.ts +1 -1
  144. package/dist/src/index.d.ts.map +1 -1
  145. package/dist/src/index.js +1 -1
  146. package/dist/src/index.js.map +1 -1
  147. package/dist/src/infrastructure/apifox/apifox-client.impl.d.ts +22 -0
  148. package/dist/src/infrastructure/apifox/apifox-client.impl.d.ts.map +1 -0
  149. package/dist/src/infrastructure/apifox/apifox-client.impl.js +135 -0
  150. package/dist/src/infrastructure/apifox/apifox-client.impl.js.map +1 -0
  151. package/dist/src/infrastructure/file-system/file-system.impl.d.ts +15 -0
  152. package/dist/src/infrastructure/file-system/file-system.impl.d.ts.map +1 -0
  153. package/dist/src/infrastructure/file-system/file-system.impl.js +45 -0
  154. package/dist/src/infrastructure/file-system/file-system.impl.js.map +1 -0
  155. package/dist/src/infrastructure/http/axios-client.impl.d.ts +19 -0
  156. package/dist/src/infrastructure/http/axios-client.impl.d.ts.map +1 -0
  157. package/dist/src/infrastructure/http/axios-client.impl.js +59 -0
  158. package/dist/src/infrastructure/http/axios-client.impl.js.map +1 -0
  159. package/dist/src/infrastructure/logger/console-logger.impl.d.ts +15 -0
  160. package/dist/src/infrastructure/logger/console-logger.impl.d.ts.map +1 -0
  161. package/dist/src/infrastructure/logger/console-logger.impl.js +30 -0
  162. package/dist/src/infrastructure/logger/console-logger.impl.js.map +1 -0
  163. package/dist/src/infrastructure/route-manager/route-manager.impl.d.ts +14 -0
  164. package/dist/src/infrastructure/route-manager/route-manager.impl.d.ts.map +1 -0
  165. package/dist/src/infrastructure/route-manager/route-manager.impl.js +25 -0
  166. package/dist/src/infrastructure/route-manager/route-manager.impl.js.map +1 -0
  167. package/dist/src/infrastructure/server/hot-reload.d.ts +8 -0
  168. package/dist/src/infrastructure/server/hot-reload.d.ts.map +1 -0
  169. package/dist/src/infrastructure/server/hot-reload.js +132 -0
  170. package/dist/src/infrastructure/server/hot-reload.js.map +1 -0
  171. package/dist/src/infrastructure/server/remote-proxy.d.ts +22 -0
  172. package/dist/src/infrastructure/server/remote-proxy.d.ts.map +1 -0
  173. package/dist/src/infrastructure/server/remote-proxy.js +82 -0
  174. package/dist/src/infrastructure/server/remote-proxy.js.map +1 -0
  175. package/dist/src/infrastructure/server/route-loader.d.ts +18 -0
  176. package/dist/src/infrastructure/server/route-loader.d.ts.map +1 -0
  177. package/dist/src/infrastructure/server/route-loader.js +256 -0
  178. package/dist/src/infrastructure/server/route-loader.js.map +1 -0
  179. package/dist/src/presentation/http/express-server.d.ts +8 -0
  180. package/dist/src/presentation/http/express-server.d.ts.map +1 -0
  181. package/dist/src/presentation/http/express-server.js +65 -0
  182. package/dist/src/presentation/http/express-server.js.map +1 -0
  183. package/dist/src/presentation/http/middleware/error-handler.middleware.d.ts +9 -0
  184. package/dist/src/presentation/http/middleware/error-handler.middleware.d.ts.map +1 -0
  185. package/dist/src/presentation/http/middleware/error-handler.middleware.js +31 -0
  186. package/dist/src/presentation/http/middleware/error-handler.middleware.js.map +1 -0
  187. package/dist/src/presentation/http/route-handler.d.ts +38 -0
  188. package/dist/src/presentation/http/route-handler.d.ts.map +1 -0
  189. package/dist/src/presentation/http/route-handler.js +237 -0
  190. package/dist/src/presentation/http/route-handler.js.map +1 -0
  191. package/dist/src/presentation/http/validation.d.ts +25 -0
  192. package/dist/src/presentation/http/validation.d.ts.map +1 -0
  193. package/dist/src/presentation/http/validation.js +131 -0
  194. package/dist/src/presentation/http/validation.js.map +1 -0
  195. package/dist/src/scripts/cli.js +1 -1
  196. package/dist/src/scripts/cli.js.map +1 -1
  197. package/dist/src/scripts/generate-mock.js +15 -35
  198. package/dist/src/scripts/generate-mock.js.map +1 -1
  199. package/dist/src/scripts/serve-mock.js +9 -74
  200. package/dist/src/scripts/serve-mock.js.map +1 -1
  201. package/dist/src/server/express-server.d.ts +2 -2
  202. package/dist/src/server/express-server.d.ts.map +1 -1
  203. package/dist/src/server/express-server.js +16 -1
  204. package/dist/src/server/express-server.js.map +1 -1
  205. package/dist/src/server/hot-reload.d.ts +2 -2
  206. package/dist/src/server/hot-reload.d.ts.map +1 -1
  207. package/dist/src/server/hot-reload.js +26 -20
  208. package/dist/src/server/hot-reload.js.map +1 -1
  209. package/dist/src/server/remote-proxy.d.ts +6 -1
  210. package/dist/src/server/remote-proxy.d.ts.map +1 -1
  211. package/dist/src/server/remote-proxy.js +38 -7
  212. package/dist/src/server/remote-proxy.js.map +1 -1
  213. package/dist/src/server/route-handler.d.ts +9 -3
  214. package/dist/src/server/route-handler.d.ts.map +1 -1
  215. package/dist/src/server/route-handler.js +82 -20
  216. package/dist/src/server/route-handler.js.map +1 -1
  217. package/dist/src/server/route-loader.d.ts +2 -2
  218. package/dist/src/server/route-loader.d.ts.map +1 -1
  219. package/dist/src/server/route-loader.js +80 -42
  220. package/dist/src/server/route-loader.js.map +1 -1
  221. package/dist/src/server/route-matcher.d.ts.map +1 -1
  222. package/dist/src/server/route-matcher.js +3 -1
  223. package/dist/src/server/route-matcher.js.map +1 -1
  224. package/dist/src/server/validation.d.ts +20 -1
  225. package/dist/src/server/validation.d.ts.map +1 -1
  226. package/dist/src/server/validation.js +25 -13
  227. package/dist/src/server/validation.js.map +1 -1
  228. package/dist/src/types/index.d.ts +23 -6
  229. package/dist/src/types/index.d.ts.map +1 -1
  230. package/dist/src/types/mock/arithmetic/alarmPush.d.ts +26 -0
  231. package/dist/src/types/mock/arithmetic/alarmPush.d.ts.map +1 -0
  232. package/dist/src/types/mock/arithmetic/alarmPush.js +4 -0
  233. package/dist/src/types/mock/arithmetic/alarmPush.js.map +1 -0
  234. package/dist/src/types/mock/arithmetic/list.d.ts +33 -0
  235. package/dist/src/types/mock/arithmetic/list.d.ts.map +1 -0
  236. package/dist/src/types/mock/arithmetic/list.js +4 -0
  237. package/dist/src/types/mock/arithmetic/list.js.map +1 -0
  238. package/dist/src/types/mock/captchaImage.d.ts +19 -0
  239. package/dist/src/types/mock/captchaImage.d.ts.map +1 -0
  240. package/dist/src/types/mock/captchaImage.js +4 -0
  241. package/dist/src/types/mock/captchaImage.js.map +1 -0
  242. package/dist/src/types/mock/intern/agents/configs.d.ts +31 -0
  243. package/dist/src/types/mock/intern/agents/configs.d.ts.map +1 -0
  244. package/dist/src/types/mock/intern/agents/configs.js +4 -0
  245. package/dist/src/types/mock/intern/agents/configs.js.map +1 -0
  246. package/dist/src/types/mock/internal/agents/devices/auth.d.ts +27 -0
  247. package/dist/src/types/mock/internal/agents/devices/auth.d.ts.map +1 -0
  248. package/dist/src/types/mock/internal/agents/devices/auth.js +4 -0
  249. package/dist/src/types/mock/internal/agents/devices/auth.js.map +1 -0
  250. package/dist/src/types/mock/list.d.ts +13 -0
  251. package/dist/src/types/mock/list.d.ts.map +1 -0
  252. package/dist/src/types/mock/list.js +4 -0
  253. package/dist/src/types/mock/list.js.map +1 -0
  254. package/dist/src/types/mock/login.d.ts +21 -0
  255. package/dist/src/types/mock/login.d.ts.map +1 -0
  256. package/dist/src/types/mock/login.js +4 -0
  257. package/dist/src/types/mock/login.js.map +1 -0
  258. package/dist/src/types/mock/logout.d.ts +16 -0
  259. package/dist/src/types/mock/logout.d.ts.map +1 -0
  260. package/dist/src/types/mock/logout.js +4 -0
  261. package/dist/src/types/mock/logout.js.map +1 -0
  262. package/dist/src/types/mock/v1/agents/batch.d.ts +22 -0
  263. package/dist/src/types/mock/v1/agents/batch.d.ts.map +1 -0
  264. package/dist/src/types/mock/v1/agents/batch.js +4 -0
  265. package/dist/src/types/mock/v1/agents/batch.js.map +1 -0
  266. package/dist/src/types/mock/v1/agents/devices/auth.d.ts +25 -0
  267. package/dist/src/types/mock/v1/agents/devices/auth.d.ts.map +1 -0
  268. package/dist/src/types/mock/v1/agents/devices/auth.js +4 -0
  269. package/dist/src/types/mock/v1/agents/devices/auth.js.map +1 -0
  270. package/dist/src/types/mock/v1/agents/devices/batch.d.ts +25 -0
  271. package/dist/src/types/mock/v1/agents/devices/batch.d.ts.map +1 -0
  272. package/dist/src/types/mock/v1/agents/devices/batch.js +4 -0
  273. package/dist/src/types/mock/v1/agents/devices/batch.js.map +1 -0
  274. package/dist/src/types/mock/v1/agents/devices.d.ts +128 -0
  275. package/dist/src/types/mock/v1/agents/devices.d.ts.map +1 -0
  276. package/dist/src/types/mock/v1/agents/devices.js +4 -0
  277. package/dist/src/types/mock/v1/agents/devices.js.map +1 -0
  278. package/dist/src/types/mock/v1/agents/roles/reset.d.ts +34 -0
  279. package/dist/src/types/mock/v1/agents/roles/reset.d.ts.map +1 -0
  280. package/dist/src/types/mock/v1/agents/roles/reset.js +4 -0
  281. package/dist/src/types/mock/v1/agents/roles/reset.js.map +1 -0
  282. package/dist/src/types/mock/v1/agents/roles/template.d.ts +12 -0
  283. package/dist/src/types/mock/v1/agents/roles/template.d.ts.map +1 -0
  284. package/dist/src/types/mock/v1/agents/roles/template.js +4 -0
  285. package/dist/src/types/mock/v1/agents/roles/template.js.map +1 -0
  286. package/dist/src/types/mock/v1/agents/roles.d.ts +94 -0
  287. package/dist/src/types/mock/v1/agents/roles.d.ts.map +1 -0
  288. package/dist/src/types/mock/v1/agents/roles.js +4 -0
  289. package/dist/src/types/mock/v1/agents/roles.js.map +1 -0
  290. package/dist/src/types/mock/v1/agents.d.ts +130 -0
  291. package/dist/src/types/mock/v1/agents.d.ts.map +1 -0
  292. package/dist/src/types/mock/v1/agents.js +4 -0
  293. package/dist/src/types/mock/v1/agents.js.map +1 -0
  294. package/dist/src/types/mock/v1/algo/pose-detect/delete.d.ts +25 -0
  295. package/dist/src/types/mock/v1/algo/pose-detect/delete.d.ts.map +1 -0
  296. package/dist/src/types/mock/v1/algo/pose-detect/delete.js +4 -0
  297. package/dist/src/types/mock/v1/algo/pose-detect/delete.js.map +1 -0
  298. package/dist/src/types/mock/v1/algos/pose-detect/target.d.ts +41 -0
  299. package/dist/src/types/mock/v1/algos/pose-detect/target.d.ts.map +1 -0
  300. package/dist/src/types/mock/v1/algos/pose-detect/target.js +4 -0
  301. package/dist/src/types/mock/v1/algos/pose-detect/target.js.map +1 -0
  302. package/dist/src/types/mock/v1/algos/pose-detect.d.ts +28 -0
  303. package/dist/src/types/mock/v1/algos/pose-detect.d.ts.map +1 -0
  304. package/dist/src/types/mock/v1/algos/pose-detect.js +4 -0
  305. package/dist/src/types/mock/v1/algos/pose-detect.js.map +1 -0
  306. package/dist/src/types/mock/v1/auth/login/username.d.ts +1 -1
  307. package/dist/src/types/mock/v1/auth/login/username.d.ts.map +1 -1
  308. package/dist/src/types/mock/v1/business/tenant/pagedList.d.ts +8 -0
  309. package/dist/src/types/mock/v1/business/tenant/pagedList.d.ts.map +1 -1
  310. package/dist/src/types/mock/v1/business/tenant/pagedList.js.map +1 -1
  311. package/dist/src/types/mock/v1/business/tenant/user/link.d.ts +24 -0
  312. package/dist/src/types/mock/v1/business/tenant/user/link.d.ts.map +1 -1
  313. package/dist/src/types/mock/v1/business/tenant/user/link.js +1 -1
  314. package/dist/src/types/mock/v1/business/tenant/user/link.js.map +1 -1
  315. package/dist/src/types/mock/v1/business/tenant.d.ts +2 -20
  316. package/dist/src/types/mock/v1/business/tenant.d.ts.map +1 -1
  317. package/dist/src/types/mock/v1/business/tenant.js.map +1 -1
  318. package/dist/src/types/mock/v1/business/user/disabled.d.ts +1 -1
  319. package/dist/src/types/mock/v1/business/user/disabled.d.ts.map +1 -1
  320. package/dist/src/types/mock/v1/business/user/pagedList.d.ts +10 -0
  321. package/dist/src/types/mock/v1/business/user/pagedList.d.ts.map +1 -1
  322. package/dist/src/types/mock/v1/business/user/pagedList.js.map +1 -1
  323. package/dist/src/types/mock/v1/business/user/unlock.d.ts +23 -0
  324. package/dist/src/types/mock/v1/business/user/unlock.d.ts.map +1 -0
  325. package/dist/src/types/mock/v1/business/user/unlock.js +4 -0
  326. package/dist/src/types/mock/v1/business/user/unlock.js.map +1 -0
  327. package/dist/src/types/mock/v1/business/user.d.ts +15 -14
  328. package/dist/src/types/mock/v1/business/user.d.ts.map +1 -1
  329. package/dist/src/types/mock/v1/business/user.js.map +1 -1
  330. package/dist/src/types/mock/v1/dict/data/default.d.ts +25 -0
  331. package/dist/src/types/mock/v1/dict/data/default.d.ts.map +1 -0
  332. package/dist/src/types/mock/v1/dict/data/default.js +4 -0
  333. package/dist/src/types/mock/v1/dict/data/default.js.map +1 -0
  334. package/dist/src/types/mock/v1/dict/data/order.d.ts +25 -0
  335. package/dist/src/types/mock/v1/dict/data/order.d.ts.map +1 -0
  336. package/dist/src/types/mock/v1/dict/data/order.js +4 -0
  337. package/dist/src/types/mock/v1/dict/data/order.js.map +1 -0
  338. package/dist/src/types/mock/v1/dict/data/pagedList.d.ts +62 -0
  339. package/dist/src/types/mock/v1/dict/data/pagedList.d.ts.map +1 -0
  340. package/dist/src/types/mock/v1/dict/data/pagedList.js +4 -0
  341. package/dist/src/types/mock/v1/dict/data/pagedList.js.map +1 -0
  342. package/dist/src/types/mock/v1/dict/data.d.ts +82 -0
  343. package/dist/src/types/mock/v1/dict/data.d.ts.map +1 -0
  344. package/dist/src/types/mock/v1/dict/data.js +4 -0
  345. package/dist/src/types/mock/v1/dict/data.js.map +1 -0
  346. package/dist/src/types/mock/v1/dict/pagedList.d.ts +54 -0
  347. package/dist/src/types/mock/v1/dict/pagedList.d.ts.map +1 -0
  348. package/dist/src/types/mock/v1/dict/pagedList.js +4 -0
  349. package/dist/src/types/mock/v1/dict/pagedList.js.map +1 -0
  350. package/dist/src/types/mock/v1/dict.d.ts +80 -0
  351. package/dist/src/types/mock/v1/dict.d.ts.map +1 -0
  352. package/dist/src/types/mock/v1/dict.js +4 -0
  353. package/dist/src/types/mock/v1/dict.js.map +1 -0
  354. package/dist/src/types/mock/v1/file/download.d.ts +23 -0
  355. package/dist/src/types/mock/v1/file/download.d.ts.map +1 -0
  356. package/dist/src/types/mock/v1/file/download.js +4 -0
  357. package/dist/src/types/mock/v1/file/download.js.map +1 -0
  358. package/dist/src/types/mock/v1/file/pagedList.d.ts +62 -0
  359. package/dist/src/types/mock/v1/file/pagedList.d.ts.map +1 -0
  360. package/dist/src/types/mock/v1/file/pagedList.js +4 -0
  361. package/dist/src/types/mock/v1/file/pagedList.js.map +1 -0
  362. package/dist/src/types/mock/v1/file.d.ts +56 -0
  363. package/dist/src/types/mock/v1/file.d.ts.map +1 -0
  364. package/dist/src/types/mock/v1/file.js +4 -0
  365. package/dist/src/types/mock/v1/file.js.map +1 -0
  366. package/dist/src/types/mock/v1/inspection/alarm-lists.d.ts +28 -0
  367. package/dist/src/types/mock/v1/inspection/alarm-lists.d.ts.map +1 -0
  368. package/dist/src/types/mock/v1/inspection/alarm-lists.js +4 -0
  369. package/dist/src/types/mock/v1/inspection/alarm-lists.js.map +1 -0
  370. package/dist/src/types/mock/v1/inspection.d.ts +11 -0
  371. package/dist/src/types/mock/v1/inspection.d.ts.map +1 -0
  372. package/dist/src/types/mock/v1/inspection.js +4 -0
  373. package/dist/src/types/mock/v1/inspection.js.map +1 -0
  374. package/dist/src/types/mock/v1/internal/getToken.d.ts +32 -0
  375. package/dist/src/types/mock/v1/internal/getToken.d.ts.map +1 -0
  376. package/dist/src/types/mock/v1/internal/getToken.js +4 -0
  377. package/dist/src/types/mock/v1/internal/getToken.js.map +1 -0
  378. package/dist/src/types/mock/v1/internal/user/unlock.d.ts +23 -0
  379. package/dist/src/types/mock/v1/internal/user/unlock.d.ts.map +1 -0
  380. package/dist/src/types/mock/v1/internal/user/unlock.js +4 -0
  381. package/dist/src/types/mock/v1/internal/user/unlock.js.map +1 -0
  382. package/dist/src/types/mock/v1/log/login/pagedList.d.ts +15 -0
  383. package/dist/src/types/mock/v1/log/login/pagedList.d.ts.map +1 -1
  384. package/dist/src/types/mock/v1/log/login/pagedList.js.map +1 -1
  385. package/dist/src/types/mock/v1/log/oper/pagedList.d.ts +29 -2
  386. package/dist/src/types/mock/v1/log/oper/pagedList.d.ts.map +1 -1
  387. package/dist/src/types/mock/v1/log/oper/pagedList.js.map +1 -1
  388. package/dist/src/types/mock/v1/models/asr/config.d.ts +39 -0
  389. package/dist/src/types/mock/v1/models/asr/config.d.ts.map +1 -0
  390. package/dist/src/types/mock/v1/models/asr/config.js +4 -0
  391. package/dist/src/types/mock/v1/models/asr/config.js.map +1 -0
  392. package/dist/src/types/mock/v1/models/asr/create.d.ts +35 -0
  393. package/dist/src/types/mock/v1/models/asr/create.d.ts.map +1 -0
  394. package/dist/src/types/mock/v1/models/asr/create.js +4 -0
  395. package/dist/src/types/mock/v1/models/asr/create.js.map +1 -0
  396. package/dist/src/types/mock/v1/models/asr/default.d.ts +27 -0
  397. package/dist/src/types/mock/v1/models/asr/default.d.ts.map +1 -0
  398. package/dist/src/types/mock/v1/models/asr/default.js +4 -0
  399. package/dist/src/types/mock/v1/models/asr/default.js.map +1 -0
  400. package/dist/src/types/mock/v1/models/asr/delete-select.d.ts +24 -0
  401. package/dist/src/types/mock/v1/models/asr/delete-select.d.ts.map +1 -0
  402. package/dist/src/types/mock/v1/models/asr/delete-select.js +4 -0
  403. package/dist/src/types/mock/v1/models/asr/delete-select.js.map +1 -0
  404. package/dist/src/types/mock/v1/models/asr/delete.d.ts +25 -0
  405. package/dist/src/types/mock/v1/models/asr/delete.d.ts.map +1 -0
  406. package/dist/src/types/mock/v1/models/asr/delete.js +4 -0
  407. package/dist/src/types/mock/v1/models/asr/delete.js.map +1 -0
  408. package/dist/src/types/mock/v1/models/asr/search.d.ts +35 -0
  409. package/dist/src/types/mock/v1/models/asr/search.d.ts.map +1 -0
  410. package/dist/src/types/mock/v1/models/asr/search.js +4 -0
  411. package/dist/src/types/mock/v1/models/asr/search.js.map +1 -0
  412. package/dist/src/types/mock/v1/models/asr/status.d.ts +27 -0
  413. package/dist/src/types/mock/v1/models/asr/status.d.ts.map +1 -0
  414. package/dist/src/types/mock/v1/models/asr/status.js +4 -0
  415. package/dist/src/types/mock/v1/models/asr/status.js.map +1 -0
  416. package/dist/src/types/mock/v1/models/asr/update-config.d.ts +35 -0
  417. package/dist/src/types/mock/v1/models/asr/update-config.d.ts.map +1 -0
  418. package/dist/src/types/mock/v1/models/asr/update-config.js +4 -0
  419. package/dist/src/types/mock/v1/models/asr/update-config.js.map +1 -0
  420. package/dist/src/types/mock/v1/models/kb/default.d.ts +27 -0
  421. package/dist/src/types/mock/v1/models/kb/default.d.ts.map +1 -0
  422. package/dist/src/types/mock/v1/models/kb/default.js +4 -0
  423. package/dist/src/types/mock/v1/models/kb/default.js.map +1 -0
  424. package/dist/src/types/mock/v1/models/kb/delete-select.d.ts +24 -0
  425. package/dist/src/types/mock/v1/models/kb/delete-select.d.ts.map +1 -0
  426. package/dist/src/types/mock/v1/models/kb/delete-select.js +4 -0
  427. package/dist/src/types/mock/v1/models/kb/delete-select.js.map +1 -0
  428. package/dist/src/types/mock/v1/models/kb/delete.d.ts +25 -0
  429. package/dist/src/types/mock/v1/models/kb/delete.d.ts.map +1 -0
  430. package/dist/src/types/mock/v1/models/kb/delete.js +4 -0
  431. package/dist/src/types/mock/v1/models/kb/delete.js.map +1 -0
  432. package/dist/src/types/mock/v1/models/kb/search.d.ts +34 -0
  433. package/dist/src/types/mock/v1/models/kb/search.d.ts.map +1 -0
  434. package/dist/src/types/mock/v1/models/kb/search.js +4 -0
  435. package/dist/src/types/mock/v1/models/kb/search.js.map +1 -0
  436. package/dist/src/types/mock/v1/models/kb/status.d.ts +27 -0
  437. package/dist/src/types/mock/v1/models/kb/status.d.ts.map +1 -0
  438. package/dist/src/types/mock/v1/models/kb/status.js +4 -0
  439. package/dist/src/types/mock/v1/models/kb/status.js.map +1 -0
  440. package/dist/src/types/mock/v1/models/kb/update-config.d.ts +39 -0
  441. package/dist/src/types/mock/v1/models/kb/update-config.d.ts.map +1 -0
  442. package/dist/src/types/mock/v1/models/kb/update-config.js +4 -0
  443. package/dist/src/types/mock/v1/models/kb/update-config.js.map +1 -0
  444. package/dist/src/types/mock/v1/models/kb.d.ts +33 -0
  445. package/dist/src/types/mock/v1/models/kb.d.ts.map +1 -0
  446. package/dist/src/types/mock/v1/models/kb.js +4 -0
  447. package/dist/src/types/mock/v1/models/kb.js.map +1 -0
  448. package/dist/src/types/mock/v1/models/llm/config.d.ts +55 -0
  449. package/dist/src/types/mock/v1/models/llm/config.d.ts.map +1 -0
  450. package/dist/src/types/mock/v1/models/llm/config.js +4 -0
  451. package/dist/src/types/mock/v1/models/llm/config.js.map +1 -0
  452. package/dist/src/types/mock/v1/models/llm/default.d.ts +27 -0
  453. package/dist/src/types/mock/v1/models/llm/default.d.ts.map +1 -0
  454. package/dist/src/types/mock/v1/models/llm/default.js +4 -0
  455. package/dist/src/types/mock/v1/models/llm/default.js.map +1 -0
  456. package/dist/src/types/mock/v1/models/llm/delete-select.d.ts +24 -0
  457. package/dist/src/types/mock/v1/models/llm/delete-select.d.ts.map +1 -0
  458. package/dist/src/types/mock/v1/models/llm/delete-select.js +4 -0
  459. package/dist/src/types/mock/v1/models/llm/delete-select.js.map +1 -0
  460. package/dist/src/types/mock/v1/models/llm/delete.d.ts +25 -0
  461. package/dist/src/types/mock/v1/models/llm/delete.d.ts.map +1 -0
  462. package/dist/src/types/mock/v1/models/llm/delete.js +4 -0
  463. package/dist/src/types/mock/v1/models/llm/delete.js.map +1 -0
  464. package/dist/src/types/mock/v1/models/llm/search.d.ts +34 -0
  465. package/dist/src/types/mock/v1/models/llm/search.d.ts.map +1 -0
  466. package/dist/src/types/mock/v1/models/llm/search.js +4 -0
  467. package/dist/src/types/mock/v1/models/llm/search.js.map +1 -0
  468. package/dist/src/types/mock/v1/models/llm/status.d.ts +27 -0
  469. package/dist/src/types/mock/v1/models/llm/status.d.ts.map +1 -0
  470. package/dist/src/types/mock/v1/models/llm/status.js +4 -0
  471. package/dist/src/types/mock/v1/models/llm/status.js.map +1 -0
  472. package/dist/src/types/mock/v1/models/llm/update-config.d.ts +51 -0
  473. package/dist/src/types/mock/v1/models/llm/update-config.d.ts.map +1 -0
  474. package/dist/src/types/mock/v1/models/llm/update-config.js +4 -0
  475. package/dist/src/types/mock/v1/models/llm/update-config.js.map +1 -0
  476. package/dist/src/types/mock/v1/models/llm.d.ts +33 -0
  477. package/dist/src/types/mock/v1/models/llm.d.ts.map +1 -0
  478. package/dist/src/types/mock/v1/models/llm.js +4 -0
  479. package/dist/src/types/mock/v1/models/llm.js.map +1 -0
  480. package/dist/src/types/mock/v1/models/modelManagement/actionList.d.ts +14 -0
  481. package/dist/src/types/mock/v1/models/modelManagement/actionList.d.ts.map +1 -0
  482. package/dist/src/types/mock/v1/models/modelManagement/actionList.js +4 -0
  483. package/dist/src/types/mock/v1/models/modelManagement/actionList.js.map +1 -0
  484. package/dist/src/types/mock/v1/models/modelManagement/batchDelete.d.ts +26 -0
  485. package/dist/src/types/mock/v1/models/modelManagement/batchDelete.d.ts.map +1 -0
  486. package/dist/src/types/mock/v1/models/modelManagement/batchDelete.js +4 -0
  487. package/dist/src/types/mock/v1/models/modelManagement/batchDelete.js.map +1 -0
  488. package/dist/src/types/mock/v1/models/modelManagement/delete.d.ts +26 -0
  489. package/dist/src/types/mock/v1/models/modelManagement/delete.d.ts.map +1 -0
  490. package/dist/src/types/mock/v1/models/modelManagement/delete.js +4 -0
  491. package/dist/src/types/mock/v1/models/modelManagement/delete.js.map +1 -0
  492. package/dist/src/types/mock/v1/models/modelManagement/list.d.ts +40 -0
  493. package/dist/src/types/mock/v1/models/modelManagement/list.d.ts.map +1 -0
  494. package/dist/src/types/mock/v1/models/modelManagement/list.js +4 -0
  495. package/dist/src/types/mock/v1/models/modelManagement/list.js.map +1 -0
  496. package/dist/src/types/mock/v1/models/modelManagement/selectDefault.d.ts +29 -0
  497. package/dist/src/types/mock/v1/models/modelManagement/selectDefault.d.ts.map +1 -0
  498. package/dist/src/types/mock/v1/models/modelManagement/selectDefault.js +4 -0
  499. package/dist/src/types/mock/v1/models/modelManagement/selectDefault.js.map +1 -0
  500. package/dist/src/types/mock/v1/models/modelManagement/start.d.ts +27 -0
  501. package/dist/src/types/mock/v1/models/modelManagement/start.d.ts.map +1 -0
  502. package/dist/src/types/mock/v1/models/modelManagement/start.js +4 -0
  503. package/dist/src/types/mock/v1/models/modelManagement/start.js.map +1 -0
  504. package/dist/src/types/mock/v1/models/modelManagement/update.d.ts +61 -0
  505. package/dist/src/types/mock/v1/models/modelManagement/update.d.ts.map +1 -0
  506. package/dist/src/types/mock/v1/models/modelManagement/update.js +4 -0
  507. package/dist/src/types/mock/v1/models/modelManagement/update.js.map +1 -0
  508. package/dist/src/types/mock/v1/models/modelManagement.d.ts +111 -0
  509. package/dist/src/types/mock/v1/models/modelManagement.d.ts.map +1 -0
  510. package/dist/src/types/mock/v1/models/modelManagement.js +4 -0
  511. package/dist/src/types/mock/v1/models/modelManagement.js.map +1 -0
  512. package/dist/src/types/mock/v1/models/tts/config.d.ts +35 -0
  513. package/dist/src/types/mock/v1/models/tts/config.d.ts.map +1 -0
  514. package/dist/src/types/mock/v1/models/tts/config.js +4 -0
  515. package/dist/src/types/mock/v1/models/tts/config.js.map +1 -0
  516. package/dist/src/types/mock/v1/models/tts/create.d.ts +33 -0
  517. package/dist/src/types/mock/v1/models/tts/create.d.ts.map +1 -0
  518. package/dist/src/types/mock/v1/models/tts/create.js +4 -0
  519. package/dist/src/types/mock/v1/models/tts/create.js.map +1 -0
  520. package/dist/src/types/mock/v1/models/tts/default.d.ts +27 -0
  521. package/dist/src/types/mock/v1/models/tts/default.d.ts.map +1 -0
  522. package/dist/src/types/mock/v1/models/tts/default.js +4 -0
  523. package/dist/src/types/mock/v1/models/tts/default.js.map +1 -0
  524. package/dist/src/types/mock/v1/models/tts/delete-select.d.ts +24 -0
  525. package/dist/src/types/mock/v1/models/tts/delete-select.d.ts.map +1 -0
  526. package/dist/src/types/mock/v1/models/tts/delete-select.js +4 -0
  527. package/dist/src/types/mock/v1/models/tts/delete-select.js.map +1 -0
  528. package/dist/src/types/mock/v1/models/tts/delete.d.ts +25 -0
  529. package/dist/src/types/mock/v1/models/tts/delete.d.ts.map +1 -0
  530. package/dist/src/types/mock/v1/models/tts/delete.js +4 -0
  531. package/dist/src/types/mock/v1/models/tts/delete.js.map +1 -0
  532. package/dist/src/types/mock/v1/models/tts/search.d.ts +35 -0
  533. package/dist/src/types/mock/v1/models/tts/search.d.ts.map +1 -0
  534. package/dist/src/types/mock/v1/models/tts/search.js +4 -0
  535. package/dist/src/types/mock/v1/models/tts/search.js.map +1 -0
  536. package/dist/src/types/mock/v1/models/tts/sound/batch.d.ts +20 -0
  537. package/dist/src/types/mock/v1/models/tts/sound/batch.d.ts.map +1 -0
  538. package/dist/src/types/mock/v1/models/tts/sound/batch.js +4 -0
  539. package/dist/src/types/mock/v1/models/tts/sound/batch.js.map +1 -0
  540. package/dist/src/types/mock/v1/models/tts/sound/list.d.ts +33 -0
  541. package/dist/src/types/mock/v1/models/tts/sound/list.d.ts.map +1 -0
  542. package/dist/src/types/mock/v1/models/tts/sound/list.js +4 -0
  543. package/dist/src/types/mock/v1/models/tts/sound/list.js.map +1 -0
  544. package/dist/src/types/mock/v1/models/tts/sound.d.ts +75 -0
  545. package/dist/src/types/mock/v1/models/tts/sound.d.ts.map +1 -0
  546. package/dist/src/types/mock/v1/models/tts/sound.js +4 -0
  547. package/dist/src/types/mock/v1/models/tts/sound.js.map +1 -0
  548. package/dist/src/types/mock/v1/models/tts/status.d.ts +27 -0
  549. package/dist/src/types/mock/v1/models/tts/status.d.ts.map +1 -0
  550. package/dist/src/types/mock/v1/models/tts/status.js +4 -0
  551. package/dist/src/types/mock/v1/models/tts/status.js.map +1 -0
  552. package/dist/src/types/mock/v1/models/tts/update-config.d.ts +33 -0
  553. package/dist/src/types/mock/v1/models/tts/update-config.d.ts.map +1 -0
  554. package/dist/src/types/mock/v1/models/tts/update-config.js +4 -0
  555. package/dist/src/types/mock/v1/models/tts/update-config.js.map +1 -0
  556. package/dist/src/types/mock/v1/models/tts.d.ts +33 -0
  557. package/dist/src/types/mock/v1/models/tts.d.ts.map +1 -0
  558. package/dist/src/types/mock/v1/models/tts.js +4 -0
  559. package/dist/src/types/mock/v1/models/tts.js.map +1 -0
  560. package/dist/src/types/mock/v1/models/vad/config.d.ts +37 -0
  561. package/dist/src/types/mock/v1/models/vad/config.d.ts.map +1 -0
  562. package/dist/src/types/mock/v1/models/vad/config.js +4 -0
  563. package/dist/src/types/mock/v1/models/vad/config.js.map +1 -0
  564. package/dist/src/types/mock/v1/models/vad/create.d.ts +35 -0
  565. package/dist/src/types/mock/v1/models/vad/create.d.ts.map +1 -0
  566. package/dist/src/types/mock/v1/models/vad/create.js +4 -0
  567. package/dist/src/types/mock/v1/models/vad/create.js.map +1 -0
  568. package/dist/src/types/mock/v1/models/vad/default.d.ts +27 -0
  569. package/dist/src/types/mock/v1/models/vad/default.d.ts.map +1 -0
  570. package/dist/src/types/mock/v1/models/vad/default.js +4 -0
  571. package/dist/src/types/mock/v1/models/vad/default.js.map +1 -0
  572. package/dist/src/types/mock/v1/models/vad/delete-select.d.ts +24 -0
  573. package/dist/src/types/mock/v1/models/vad/delete-select.d.ts.map +1 -0
  574. package/dist/src/types/mock/v1/models/vad/delete-select.js +4 -0
  575. package/dist/src/types/mock/v1/models/vad/delete-select.js.map +1 -0
  576. package/dist/src/types/mock/v1/models/vad/delete.d.ts +25 -0
  577. package/dist/src/types/mock/v1/models/vad/delete.d.ts.map +1 -0
  578. package/dist/src/types/mock/v1/models/vad/delete.js +4 -0
  579. package/dist/src/types/mock/v1/models/vad/delete.js.map +1 -0
  580. package/dist/src/types/mock/v1/models/vad/status.d.ts +27 -0
  581. package/dist/src/types/mock/v1/models/vad/status.d.ts.map +1 -0
  582. package/dist/src/types/mock/v1/models/vad/status.js +4 -0
  583. package/dist/src/types/mock/v1/models/vad/status.js.map +1 -0
  584. package/dist/src/types/mock/v1/models/vad/update-config.d.ts +35 -0
  585. package/dist/src/types/mock/v1/models/vad/update-config.d.ts.map +1 -0
  586. package/dist/src/types/mock/v1/models/vad/update-config.js +4 -0
  587. package/dist/src/types/mock/v1/models/vad/update-config.js.map +1 -0
  588. package/dist/src/types/mock/v1/models/vad.d.ts +33 -0
  589. package/dist/src/types/mock/v1/models/vad.d.ts.map +1 -0
  590. package/dist/src/types/mock/v1/models/vad.js +4 -0
  591. package/dist/src/types/mock/v1/models/vad.js.map +1 -0
  592. package/dist/src/types/mock/v1/pnc/NavigationCommands.d.ts +46 -0
  593. package/dist/src/types/mock/v1/pnc/NavigationCommands.d.ts.map +1 -0
  594. package/dist/src/types/mock/v1/pnc/NavigationCommands.js +4 -0
  595. package/dist/src/types/mock/v1/pnc/NavigationCommands.js.map +1 -0
  596. package/dist/src/types/mock/v1/pnc/NavigationStates.d.ts +12 -0
  597. package/dist/src/types/mock/v1/pnc/NavigationStates.d.ts.map +1 -0
  598. package/dist/src/types/mock/v1/pnc/NavigationStates.js +4 -0
  599. package/dist/src/types/mock/v1/pnc/NavigationStates.js.map +1 -0
  600. package/dist/src/types/mock/v1/pnc/NavigationTasks.d.ts +32 -0
  601. package/dist/src/types/mock/v1/pnc/NavigationTasks.d.ts.map +1 -0
  602. package/dist/src/types/mock/v1/pnc/NavigationTasks.js +4 -0
  603. package/dist/src/types/mock/v1/pnc/NavigationTasks.js.map +1 -0
  604. package/dist/src/types/mock/v1/role/disabled.d.ts +25 -0
  605. package/dist/src/types/mock/v1/role/disabled.d.ts.map +1 -0
  606. package/dist/src/types/mock/v1/role/disabled.js +4 -0
  607. package/dist/src/types/mock/v1/role/disabled.js.map +1 -0
  608. package/dist/src/types/mock/v1/role/pagedList.d.ts +4 -2
  609. package/dist/src/types/mock/v1/role/pagedList.d.ts.map +1 -1
  610. package/dist/src/types/mock/v1/role/pagedList.js.map +1 -1
  611. package/dist/src/types/mock/v1/role.d.ts +31 -29
  612. package/dist/src/types/mock/v1/role.d.ts.map +1 -1
  613. package/dist/src/types/mock/v1/role.js.map +1 -1
  614. package/dist/src/types/mock/v1/sync/to-cloud.d.ts +69 -0
  615. package/dist/src/types/mock/v1/sync/to-cloud.d.ts.map +1 -0
  616. package/dist/src/types/mock/v1/sync/to-cloud.js +4 -0
  617. package/dist/src/types/mock/v1/sync/to-cloud.js.map +1 -0
  618. package/dist/src/types/mock/v1/tenant/permission/tree.d.ts +2 -2
  619. package/dist/src/types/mock/v1/tenant/permission/tree.d.ts.map +1 -1
  620. package/dist/src/types/mock/v1/tenant/user/link.d.ts +23 -0
  621. package/dist/src/types/mock/v1/tenant/user/link.d.ts.map +1 -0
  622. package/dist/src/types/mock/v1/tenant/user/link.js +4 -0
  623. package/dist/src/types/mock/v1/tenant/user/link.js.map +1 -0
  624. package/dist/src/types/mock/v1/tenant/user/pagedList.d.ts +8 -0
  625. package/dist/src/types/mock/v1/tenant/user/pagedList.d.ts.map +1 -1
  626. package/dist/src/types/mock/v1/tenant/user/pagedList.js.map +1 -1
  627. package/dist/src/types/mock/v1/tenant/user.d.ts +19 -0
  628. package/dist/src/types/mock/v1/tenant/user.d.ts.map +1 -1
  629. package/dist/src/types/mock/v1/tenant/user.js.map +1 -1
  630. package/dist/src/types/mock/v1/user/exportData.d.ts +25 -0
  631. package/dist/src/types/mock/v1/user/exportData.d.ts.map +1 -0
  632. package/dist/src/types/mock/v1/user/exportData.js +4 -0
  633. package/dist/src/types/mock/v1/user/exportData.js.map +1 -0
  634. package/dist/src/types/mock/v1/user/importData.d.ts +13 -0
  635. package/dist/src/types/mock/v1/user/importData.d.ts.map +1 -0
  636. package/dist/src/types/mock/v1/user/importData.js +4 -0
  637. package/dist/src/types/mock/v1/user/importData.js.map +1 -0
  638. package/dist/src/types/mock/v1/user/info.d.ts +0 -30
  639. package/dist/src/types/mock/v1/user/info.d.ts.map +1 -1
  640. package/dist/src/types/mock/v1/user/info.js.map +1 -1
  641. package/dist/src/types/mock/v1/user/pagedList.d.ts +63 -0
  642. package/dist/src/types/mock/v1/user/pagedList.d.ts.map +1 -0
  643. package/dist/src/types/mock/v1/user/pagedList.js +4 -0
  644. package/dist/src/types/mock/v1/user/pagedList.js.map +1 -0
  645. package/dist/src/types/mock/v1/user/permission/tree.d.ts +4 -2
  646. package/dist/src/types/mock/v1/user/permission/tree.d.ts.map +1 -1
  647. package/dist/src/types/mock/v1/user/permission/tree.js.map +1 -1
  648. package/dist/src/types/mock/v1/user/unlock.d.ts +23 -0
  649. package/dist/src/types/mock/v1/user/unlock.d.ts.map +1 -0
  650. package/dist/src/types/mock/v1/user/unlock.js +4 -0
  651. package/dist/src/types/mock/v1/user/unlock.js.map +1 -0
  652. package/dist/src/types/mock/v1/user.d.ts +0 -106
  653. package/dist/src/types/mock/v1/user.d.ts.map +1 -1
  654. package/dist/src/types/mock/v1/user.js +1 -1
  655. package/dist/src/types/mock/v1/user.js.map +1 -1
  656. package/dist/src/types/mock/v1/users/batch.d.ts +31 -0
  657. package/dist/src/types/mock/v1/users/batch.d.ts.map +1 -0
  658. package/dist/src/types/mock/v1/users/batch.js +4 -0
  659. package/dist/src/types/mock/v1/users/batch.js.map +1 -0
  660. package/dist/src/types/mock/v1/users/password.d.ts +18 -0
  661. package/dist/src/types/mock/v1/users/password.d.ts.map +1 -0
  662. package/dist/src/types/mock/v1/users/password.js +4 -0
  663. package/dist/src/types/mock/v1/users/password.js.map +1 -0
  664. package/dist/src/types/mock/v1/users/single.d.ts +22 -0
  665. package/dist/src/types/mock/v1/users/single.d.ts.map +1 -0
  666. package/dist/src/types/mock/v1/users/single.js +4 -0
  667. package/dist/src/types/mock/v1/users/single.js.map +1 -0
  668. package/dist/src/types/mock/v1/users/status.d.ts +22 -0
  669. package/dist/src/types/mock/v1/users/status.d.ts.map +1 -0
  670. package/dist/src/types/mock/v1/users/status.js +4 -0
  671. package/dist/src/types/mock/v1/users/status.js.map +1 -0
  672. package/dist/src/types/mock/v1/users.d.ts +153 -0
  673. package/dist/src/types/mock/v1/users.d.ts.map +1 -0
  674. package/dist/src/types/mock/v1/users.js +4 -0
  675. package/dist/src/types/mock/v1/users.js.map +1 -0
  676. package/dist/src/types/mock/v2/models/kb/create.d.ts +39 -0
  677. package/dist/src/types/mock/v2/models/kb/create.d.ts.map +1 -0
  678. package/dist/src/types/mock/v2/models/kb/create.js +4 -0
  679. package/dist/src/types/mock/v2/models/kb/create.js.map +1 -0
  680. package/dist/src/types/mock/v2/models/llm/create.d.ts +51 -0
  681. package/dist/src/types/mock/v2/models/llm/create.d.ts.map +1 -0
  682. package/dist/src/types/mock/v2/models/llm/create.js +4 -0
  683. package/dist/src/types/mock/v2/models/llm/create.js.map +1 -0
  684. package/dist/src/types/openapi.d.ts +426 -0
  685. package/dist/src/types/openapi.d.ts.map +1 -0
  686. package/dist/src/types/openapi.js +23 -0
  687. package/dist/src/types/openapi.js.map +1 -0
  688. package/dist/src/utils/block-updater.d.ts.map +1 -1
  689. package/dist/src/utils/block-updater.js +5 -4
  690. package/dist/src/utils/block-updater.js.map +1 -1
  691. package/dist/src/utils/code-formatter.d.ts.map +1 -1
  692. package/dist/src/utils/code-formatter.js +2 -0
  693. package/dist/src/utils/code-formatter.js.map +1 -1
  694. package/dist/src/utils/file-helper.d.ts +7 -7
  695. package/dist/src/utils/file-helper.d.ts.map +1 -1
  696. package/dist/src/utils/file-helper.js +11 -8
  697. package/dist/src/utils/file-helper.js.map +1 -1
  698. package/dist/src/utils/file-operations.d.ts +1 -1
  699. package/dist/src/utils/file-operations.d.ts.map +1 -1
  700. package/dist/src/utils/file-operations.js.map +1 -1
  701. package/dist/src/utils/file-utils.d.ts +3 -2
  702. package/dist/src/utils/file-utils.d.ts.map +1 -1
  703. package/dist/src/utils/file-utils.js +1 -1
  704. package/dist/src/utils/file-utils.js.map +1 -1
  705. package/dist/src/utils/path-utils.js.map +1 -1
  706. package/dist/src/utils/type-mapping.d.ts +9 -2
  707. package/dist/src/utils/type-mapping.d.ts.map +1 -1
  708. package/dist/src/utils/type-mapping.js +42 -35
  709. package/dist/src/utils/type-mapping.js.map +1 -1
  710. package/package.json +22 -4
@@ -0,0 +1,61 @@
1
+ /**
2
+ * 路由匹配器服务
3
+ * 负责路由匹配和参数提取
4
+ */
5
+ export class RouteMatcherService {
6
+ /**
7
+ * 查找匹配的路由
8
+ * @param routes 路由列表
9
+ * @param method HTTP 方法
10
+ * @param path 路径
11
+ * @returns 匹配的路由,如果不存在则返回 undefined
12
+ */
13
+ findMatchingRoute(routes, method, path) {
14
+ return routes.find(route => route.matches(method, path));
15
+ }
16
+ /**
17
+ * 提取路径参数
18
+ * @param routePath 路由路径(带参数占位符)
19
+ * @param actualPath 实际路径
20
+ * @returns 路径参数对象
21
+ */
22
+ extractPathParams(routePath, actualPath) {
23
+ const params = {};
24
+ const paramNames = [];
25
+ const pattern = routePath.replace(/\{(\w+)\}/g, (_, name) => {
26
+ paramNames.push(name);
27
+ return '([^/]+)';
28
+ });
29
+ const regex = new RegExp(`^${pattern}$`);
30
+ const pathWithoutQuery = actualPath.split('?')[0].split('#')[0];
31
+ const match = pathWithoutQuery.match(regex);
32
+ if (match) {
33
+ paramNames.forEach((name, index) => {
34
+ params[name] = match[index + 1];
35
+ });
36
+ }
37
+ return params;
38
+ }
39
+ }
40
+ /**
41
+ * 查找匹配的路由(向后兼容导出)
42
+ * @param routes 路由列表
43
+ * @param method HTTP 方法
44
+ * @param path 路径
45
+ * @returns 匹配的路由
46
+ */
47
+ export function findMatchingRoute(routes, method, path) {
48
+ const service = new RouteMatcherService();
49
+ return service.findMatchingRoute(routes, method, path);
50
+ }
51
+ /**
52
+ * 提取路径参数(向后兼容导出)
53
+ * @param routePath 路由路径
54
+ * @param actualPath 实际路径
55
+ * @returns 路径参数对象
56
+ */
57
+ export function extractPathParams(routePath, actualPath) {
58
+ const service = new RouteMatcherService();
59
+ return service.extractPathParams(routePath, actualPath);
60
+ }
61
+ //# sourceMappingURL=route-matcher.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-matcher.service.js","sourceRoot":"","sources":["../../../../src/domain/services/route-matcher.service.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAC9B;;;;;;OAMG;IACH,iBAAiB,CACf,MAAmB,EACnB,MAAc,EACd,IAAY;QAEZ,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,SAAiB,EAAE,UAAkB;QACrD,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YAC1D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC;QACzC,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAmB,EACnB,MAAc,EACd,IAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC1C,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,UAAkB;IAElB,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC1C,OAAO,OAAO,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAC1D,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { ApifoxConfig, ApiEndpoint } from '../types/index.js';
2
+ import type { OpenAPISchema, OpenAPISchemaReference } from '../types/openapi.js';
2
3
  /**
3
4
  * 生成 Mock 文件(两步模式:先架构,后接口)
4
5
  */
5
- export declare function generateMockFiles(config: ApifoxConfig, endpoints: ApiEndpoint[], definitions?: any): Promise<void>;
6
+ export declare function generateMockFiles(config: ApifoxConfig, endpoints: ApiEndpoint[], definitions?: Record<string, OpenAPISchema | OpenAPISchemaReference>): Promise<void>;
6
7
  //# sourceMappingURL=mock-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/mock-generator.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,WAAW,EAAE,EACxB,WAAW,CAAC,EAAE,GAAG,GAChB,OAAO,CAAC,IAAI,CAAC,CAmCf"}
1
+ {"version":3,"file":"mock-generator.d.ts","sourceRoot":"","sources":["../../../src/generators/mock-generator.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEjF;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,WAAW,EAAE,EACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,sBAAsB,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC,CAyCf"}
@@ -1,6 +1,6 @@
1
1
  import path from 'path';
2
2
  import { fileHelper } from '../utils/file-helper.js';
3
- import { logger } from '../utils/logger.js';
3
+ import { logger } from '../infrastructure/logger/console-logger.impl.js';
4
4
  import { groupEndpointsByPath } from '../utils/path-utils.js';
5
5
  import { generateMockEndpointContent } from './templates/mock-template.js';
6
6
  import { generateFileArchitecture, hasFileArchitecture, deduplicateImports } from './templates/file-architecture.js';
@@ -9,12 +9,17 @@ import { generateFileArchitecture, hasFileArchitecture, deduplicateImports } fro
9
9
  */
10
10
  export async function generateMockFiles(config, endpoints, definitions) {
11
11
  logger.title('生成 Mock 文件...');
12
- await fileHelper.ensureDir(config.mockDir);
12
+ // 将相对路径解析为基于项目根目录的绝对路径
13
+ const projectRoot = fileHelper.getProjectRoot();
14
+ const mockDir = path.isAbsolute(config.mockDir)
15
+ ? config.mockDir
16
+ : path.resolve(projectRoot, config.mockDir);
17
+ await fileHelper.ensureDir(mockDir);
13
18
  let generatedCount = 0;
14
19
  // 按资源路径分组接口,使用增量更新
15
20
  const groupedEndpoints = groupEndpointsByPath(endpoints);
16
21
  for (const [groupPath, groupEndpoints] of Object.entries(groupedEndpoints)) {
17
- const mockFilePath = path.join(config.mockDir, `${groupPath}.js`);
22
+ const mockFilePath = path.join(mockDir, `${groupPath}.js`);
18
23
  // 确保文件所在目录存在
19
24
  const fileDir = path.dirname(mockFilePath);
20
25
  await fileHelper.ensureDir(fileDir);
@@ -37,16 +42,16 @@ export async function generateMockFiles(config, endpoints, definitions) {
37
42
  * 确保文件有基础架构(import 语句等)
38
43
  */
39
44
  async function ensureFileArchitecture(filePath) {
40
- const { exists, readFile } = await import('../utils/file-operations.js');
41
- if (!(await exists(filePath))) {
45
+ const { FileSystemImpl } = await import('../infrastructure/file-system/file-system.impl.js');
46
+ const fileSystem = new FileSystemImpl();
47
+ if (!(await fileSystem.exists(filePath))) {
42
48
  // 文件不存在,创建基础架构
43
49
  const architecture = generateFileArchitecture();
44
- const { writeFile } = await import('fs/promises');
45
- await writeFile(filePath, architecture, 'utf-8');
50
+ await fileSystem.writeFile(filePath, architecture);
46
51
  return;
47
52
  }
48
53
  // 文件存在,先清理重复的 import 语句
49
- let content = await readFile(filePath);
54
+ let content = await fileSystem.readFile(filePath);
50
55
  content = deduplicateImports(content);
51
56
  // 检查是否有基础架构
52
57
  if (!hasFileArchitecture(content)) {
@@ -1 +1 @@
1
- {"version":3,"file":"mock-generator.js","sourceRoot":"","sources":["../../../src/generators/mock-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-generator.js","sourceRoot":"","sources":["../../../src/generators/mock-generator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { ApiEndpoint } from '../../types/index.js';
2
+ import type { OpenAPISchema, OpenAPISchemaReference } from '../../types/openapi.js';
2
3
  /**
3
4
  * 为单个接口生成命名空间内容
4
5
  */
5
- export declare function generateNamespaceContent(endpoint: ApiEndpoint, schemas: any, schemaNameMap?: Map<string, string>): string;
6
+ export declare function generateNamespaceContent(endpoint: ApiEndpoint, schemas: Record<string, OpenAPISchema | OpenAPISchemaReference>, schemaNameMap?: Map<string, string>): string;
6
7
  //# sourceMappingURL=type-template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-template.d.ts","sourceRoot":"","sources":["../../../../src/generators/templates/type-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAexD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,GAAG,EACZ,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,CAkDR"}
1
+ {"version":3,"file":"type-template.d.ts","sourceRoot":"","sources":["../../../../src/generators/templates/type-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EACV,aAAa,EACb,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAgBhC;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,sBAAsB,CAAC,EAC/D,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,CAkDR"}
@@ -1,4 +1,5 @@
1
1
  import { getTypeScriptType, mapSchemaTypeToTS } from '../../utils/type-mapping.js';
2
+ import { isSchemaReference } from '../../types/openapi.js';
2
3
  /**
3
4
  * 为单个接口生成命名空间内容
4
5
  */
@@ -173,14 +174,15 @@ function generateRequestTypes(endpoint, schemas, context, schemaNameMap) {
173
174
  const description = param.description ? `\n /** ${param.description} */` : '';
174
175
  // 处理参数类型,优先使用 schema 中的类型定义
175
176
  let paramType;
176
- if (param.schema) {
177
+ if (param.schema && !isSchemaReference(param.schema)) {
178
+ const paramSchema = param.schema;
177
179
  // 如果有枚举定义,生成独立枚举类型
178
- if (param.schema.enum && param.schema.enum.length > 0) {
180
+ if (paramSchema.enum && paramSchema.enum.length > 0) {
179
181
  const enumTypeName = `Query${param.name.charAt(0).toUpperCase() + param.name.slice(1).replace(/_([a-z])/g, (_, c) => c.toUpperCase())}`;
180
182
  // 生成枚举类型定义
181
183
  if (!context.generatedTypes.has(enumTypeName)) {
182
- const enumValues = param.schema.enum
183
- .map((v) => (typeof v === 'string' ? `'${v}'` : v))
184
+ const enumValues = paramSchema.enum
185
+ .map((v) => (typeof v === 'string' ? `'${v}'` : String(v)))
184
186
  .join(' | ');
185
187
  context.complexTypes.set(enumTypeName, `export type ${enumTypeName} = ${enumValues};`);
186
188
  context.generatedTypes.add(enumTypeName);
@@ -258,7 +260,7 @@ function generateInterfaceBody(schema, definitions, context, typePrefix, schemaN
258
260
  }
259
261
  }
260
262
  // 处理引用
261
- if (schema.$ref) {
263
+ if (schema && isSchemaReference(schema)) {
262
264
  const refName = schema.$ref.split('/').pop();
263
265
  // 解码 URL 编码的 schema 名称
264
266
  const decodedRefName = decodeURIComponent(refName || '');
@@ -270,14 +272,14 @@ function generateInterfaceBody(schema, definitions, context, typePrefix, schemaN
270
272
  }
271
273
  // 检查是否是标准响应体 schema,如果是则直接展开字段
272
274
  // 标准响应体通常包含 code, msg, data 字段
273
- if (definitions?.[decodedRefName]) {
274
- const schema = definitions[decodedRefName];
275
- if (schema.properties &&
276
- schema.properties.code &&
277
- schema.properties.msg &&
278
- schema.properties.data) {
275
+ if (definitions?.[decodedRefName] && !isSchemaReference(definitions[decodedRefName])) {
276
+ const refSchema = definitions[decodedRefName];
277
+ if (refSchema.properties &&
278
+ refSchema.properties.code &&
279
+ refSchema.properties.msg &&
280
+ refSchema.properties.data) {
279
281
  // 这是一个标准响应体结构,直接展开字段而不是返回空对象
280
- return generateStandardResponseBody(schema, definitions, context, schemaNameMap, decodedRefName);
282
+ return generateStandardResponseBody(refSchema, definitions, context, schemaNameMap, decodedRefName);
281
283
  }
282
284
  }
283
285
  if (definitions?.[decodedRefName]) {
@@ -292,14 +294,21 @@ function generateInterfaceBody(schema, definitions, context, typePrefix, schemaN
292
294
  return interfaceName;
293
295
  }
294
296
  }
295
- if (schema.type === 'object' && schema.properties) {
296
- const props = Object.entries(schema.properties);
297
+ if (schema && !isSchemaReference(schema) && schema.type === 'object' && schema.properties) {
298
+ const objectSchema = schema;
299
+ if (!objectSchema.properties) {
300
+ return '{}';
301
+ }
302
+ const props = Object.entries(objectSchema.properties);
297
303
  if (props.length === 0) {
298
304
  return '{}';
299
305
  }
300
306
  let result = '{';
301
- const required = schema.required || [];
302
- for (const [propName, propSchema] of Object.entries(schema.properties)) {
307
+ const required = objectSchema.required || [];
308
+ for (const [propName, propSchema] of Object.entries(objectSchema.properties)) {
309
+ if (isSchemaReference(propSchema)) {
310
+ continue; // 跳过引用,应该已经处理过了
311
+ }
303
312
  const prop = propSchema;
304
313
  const isRequired = required.includes(propName);
305
314
  const optional = isRequired ? '' : '?';
@@ -309,7 +318,7 @@ function generateInterfaceBody(schema, definitions, context, typePrefix, schemaN
309
318
  // 处理枚举类型,展示枚举选项
310
319
  if (prop['x-apifox-enum'] && Array.isArray(prop['x-apifox-enum'])) {
311
320
  const enumItems = prop['x-apifox-enum']
312
- .map((item) => `${item.value}:${item.name}`)
321
+ .map((item) => `${String(item.value)}:${item.name}`)
313
322
  .join(', ');
314
323
  if (enumItems) {
315
324
  comment = fieldDesc
@@ -352,8 +361,9 @@ function generateInterfaceBody(schema, definitions, context, typePrefix, schemaN
352
361
  }
353
362
  else {
354
363
  // 处理 Apifox 数据模型引用
355
- if (prop['x-apifox-refs']) {
356
- const refs = prop['x-apifox-refs'];
364
+ const apifoxRefs = prop['x-apifox-refs'];
365
+ if (apifoxRefs && typeof apifoxRefs === 'object' && !Array.isArray(apifoxRefs)) {
366
+ const refs = apifoxRefs;
357
367
  const refKeys = Object.keys(refs);
358
368
  if (refKeys.length > 0) {
359
369
  const ref = refs[refKeys[0]];
@@ -386,7 +396,7 @@ function generateInterfaceBody(schema, definitions, context, typePrefix, schemaN
386
396
  // 生成枚举类型定义
387
397
  if (!context.generatedTypes.has(enumTypeName)) {
388
398
  const enumValues = prop.enum
389
- .map((v) => (typeof v === 'string' ? `'${v}'` : v))
399
+ .map((v) => (typeof v === 'string' ? `'${v}'` : String(v)))
390
400
  .join(' | ');
391
401
  context.complexTypes.set(enumTypeName, `export type ${enumTypeName} = ${enumValues};`);
392
402
  context.generatedTypes.add(enumTypeName);
@@ -405,9 +415,10 @@ function generateInterfaceBody(schema, definitions, context, typePrefix, schemaN
405
415
  }
406
416
  else if (prop.type === 'array' && prop.items) {
407
417
  // 处理数组类型
408
- if (prop.items['x-apifox-refs']) {
418
+ const itemsApifoxRefs = prop.items['x-apifox-refs'];
419
+ if (itemsApifoxRefs && typeof itemsApifoxRefs === 'object' && !Array.isArray(itemsApifoxRefs)) {
409
420
  // 数组项是 Apifox 数据模型引用
410
- const refs = prop.items['x-apifox-refs'];
421
+ const refs = itemsApifoxRefs;
411
422
  const refKeys = Object.keys(refs);
412
423
  if (refKeys.length > 0) {
413
424
  const ref = refs[refKeys[0]];
@@ -469,7 +480,7 @@ function generateInterfaceBody(schema, definitions, context, typePrefix, schemaN
469
480
  }
470
481
  }
471
482
  }
472
- else if (prop.items.$ref) {
483
+ else if (isSchemaReference(prop.items)) {
473
484
  // 数组项是引用类型
474
485
  const refName = prop.items.$ref.split('/').pop();
475
486
  const decodedRefName = decodeURIComponent(refName || '');
@@ -509,7 +520,7 @@ function generateInterfaceBody(schema, definitions, context, typePrefix, schemaN
509
520
  tsType = `${actualRefName}[]`;
510
521
  }
511
522
  }
512
- else if (prop.items.type === 'object' && prop.items.properties) {
523
+ else if (!isSchemaReference(prop.items) && prop.items.type === 'object' && prop.items.properties) {
513
524
  // 数组中的对象,生成独立接口
514
525
  const itemInterfaceName = `${typePrefix}${propName.charAt(0).toUpperCase() + propName.slice(1).replace(/_([a-z])/g, (_, c) => c.toUpperCase())}Item`;
515
526
  tsType = `${itemInterfaceName}[]`;
@@ -566,6 +577,9 @@ function generateStandardResponseBody(schema, schemas, context, schemaNameMap, c
566
577
  const required = schema.required || [];
567
578
  // 处理标准响应体的字段:code, msg, data
568
579
  for (const [propName, propSchema] of Object.entries(schema.properties)) {
580
+ if (isSchemaReference(propSchema)) {
581
+ continue; // 跳过引用,应该已经处理过了
582
+ }
569
583
  const prop = propSchema;
570
584
  const isRequired = required.includes(propName);
571
585
  const optional = isRequired ? '' : '?';
@@ -594,7 +608,7 @@ function generateStandardResponseBody(schema, schemas, context, schemaNameMap, c
594
608
  if (!context.generatedTypes.has(resDataInterfaceName)) {
595
609
  // 提取 data 字段的 schema 名称
596
610
  let dataSchemaName;
597
- if (prop.$ref) {
611
+ if (isSchemaReference(prop)) {
598
612
  const refName = prop.$ref.split('/').pop();
599
613
  dataSchemaName = decodeURIComponent(refName || '');
600
614
  }
@@ -638,7 +652,7 @@ function generateNestedInterface(schema, definitions, context, interfaceName, sc
638
652
  return `export interface ${interfaceName} {}`;
639
653
  }
640
654
  // 处理引用
641
- if (schema.$ref) {
655
+ if (schema && isSchemaReference(schema)) {
642
656
  const refName = schema.$ref.split('/').pop();
643
657
  // 解码 URL 编码的 schema 名称
644
658
  const decodedRefName = decodeURIComponent(refName || '');
@@ -651,14 +665,14 @@ function generateNestedInterface(schema, definitions, context, interfaceName, sc
651
665
  const actualRefName = schemaNameMap?.get(decodedRefName) || decodedRefName;
652
666
  // 检查是否是标准响应体 schema,如果是则直接展开字段
653
667
  // 标准响应体通常包含 code, msg, data 字段
654
- if (definitions?.[decodedRefName]) {
655
- const schema = definitions[decodedRefName];
656
- if (schema.properties &&
657
- schema.properties.code &&
658
- schema.properties.msg &&
659
- schema.properties.data) {
668
+ if (definitions?.[decodedRefName] && !isSchemaReference(definitions[decodedRefName])) {
669
+ const refSchema = definitions[decodedRefName];
670
+ if (refSchema.properties &&
671
+ refSchema.properties.code &&
672
+ refSchema.properties.msg &&
673
+ refSchema.properties.data) {
660
674
  // 这是一个标准响应体结构,直接展开字段而不是返回空接口
661
- const standardBody = generateStandardResponseBody(schema, definitions, context, schemaNameMap);
675
+ const standardBody = generateStandardResponseBody(refSchema, definitions, context, schemaNameMap);
662
676
  return `export interface ${interfaceName} ${standardBody}`;
663
677
  }
664
678
  }
@@ -681,21 +695,29 @@ function generateNestedInterface(schema, definitions, context, interfaceName, sc
681
695
  }
682
696
  }
683
697
  }
684
- if (!schema.properties) {
698
+ if (!schema || isSchemaReference(schema) || !schema.properties) {
699
+ return `export interface ${interfaceName} {}`;
700
+ }
701
+ const objectSchema = schema;
702
+ if (!objectSchema.properties) {
685
703
  return `export interface ${interfaceName} {}`;
686
704
  }
687
705
  let content = `export interface ${interfaceName} {`;
688
- const required = schema.required || [];
689
- for (const [propName, propSchema] of Object.entries(schema.properties)) {
706
+ const required = objectSchema.required || [];
707
+ for (const [propName, propSchema] of Object.entries(objectSchema.properties)) {
708
+ if (isSchemaReference(propSchema)) {
709
+ continue; // 跳过引用,应该已经处理过了
710
+ }
690
711
  const prop = propSchema;
691
712
  const isRequired = required.includes(propName);
692
713
  const optional = isRequired ? '' : '?';
693
714
  // 生成注释
694
715
  let comment = '';
695
716
  const fieldDesc = prop.title || prop.description || '';
696
- if (prop['x-apifox-enum'] && Array.isArray(prop['x-apifox-enum'])) {
697
- const enumItems = prop['x-apifox-enum']
698
- .map((item) => `${item.value}:${item.name}`)
717
+ const apifoxEnum = prop['x-apifox-enum'];
718
+ if (apifoxEnum && Array.isArray(apifoxEnum)) {
719
+ const enumItems = apifoxEnum
720
+ .map((item) => `${String(item.value)}:${item.name}`)
699
721
  .join(', ');
700
722
  if (enumItems) {
701
723
  comment = fieldDesc
@@ -715,8 +737,9 @@ function generateNestedInterface(schema, definitions, context, interfaceName, sc
715
737
  // 生成类型
716
738
  let tsType;
717
739
  // 处理 Apifox 数据模型引用
718
- if (prop['x-apifox-refs']) {
719
- const refs = prop['x-apifox-refs'];
740
+ const apifoxRefs = prop['x-apifox-refs'];
741
+ if (apifoxRefs && typeof apifoxRefs === 'object' && !Array.isArray(apifoxRefs)) {
742
+ const refs = apifoxRefs;
720
743
  const refKeys = Object.keys(refs);
721
744
  if (refKeys.length > 0) {
722
745
  const ref = refs[refKeys[0]];
@@ -749,7 +772,7 @@ function generateNestedInterface(schema, definitions, context, interfaceName, sc
749
772
  // 生成枚举类型定义
750
773
  if (!context.generatedTypes.has(enumTypeName)) {
751
774
  const enumValues = prop.enum
752
- .map((v) => (typeof v === 'string' ? `'${v}'` : v))
775
+ .map((v) => (typeof v === 'string' ? `'${v}'` : String(v)))
753
776
  .join(' | ');
754
777
  context.complexTypes.set(enumTypeName, `export type ${enumTypeName} = ${enumValues};`);
755
778
  context.generatedTypes.add(enumTypeName);
@@ -768,9 +791,10 @@ function generateNestedInterface(schema, definitions, context, interfaceName, sc
768
791
  }
769
792
  else if (prop.type === 'array' && prop.items) {
770
793
  // 处理数组类型
771
- if (prop.items['x-apifox-refs']) {
794
+ const itemsApifoxRefs = prop.items['x-apifox-refs'];
795
+ if (itemsApifoxRefs && typeof itemsApifoxRefs === 'object' && !Array.isArray(itemsApifoxRefs)) {
772
796
  // 数组项是 Apifox 数据模型引用
773
- const refs = prop.items['x-apifox-refs'];
797
+ const refs = itemsApifoxRefs;
774
798
  const refKeys = Object.keys(refs);
775
799
  if (refKeys.length > 0) {
776
800
  const ref = refs[refKeys[0]];
@@ -822,10 +846,10 @@ function generateNestedInterface(schema, definitions, context, interfaceName, sc
822
846
  }
823
847
  }
824
848
  else {
825
- tsType = 'any[]';
849
+ tsType = 'unknown[]';
826
850
  }
827
851
  }
828
- else if (prop.items.$ref) {
852
+ else if (isSchemaReference(prop.items)) {
829
853
  // 数组项是引用类型
830
854
  const refName = prop.items.$ref.split('/').pop();
831
855
  const decodedRefName = decodeURIComponent(refName || '');
@@ -869,9 +893,9 @@ function generateNestedInterface(schema, definitions, context, interfaceName, sc
869
893
  tsType = `${actualRefName}[]`;
870
894
  }
871
895
  }
872
- else if (prop.items.type === 'object' && prop.items.properties) {
896
+ else if (!isSchemaReference(prop.items) && prop.items.type === 'object' && prop.items.properties) {
873
897
  // 数组中的对象,检查是否是自引用
874
- if (propName === 'children' && prop.items === schema) {
898
+ if (propName === 'children' && prop.items === objectSchema) {
875
899
  // 自引用:children 引用自身
876
900
  tsType = `${interfaceName}[]`;
877
901
  console.log(`[Type Generator] 检测到对象自引用字段: ${interfaceName}.${propName},使用自身类型`);
@@ -1 +1 @@
1
- {"version":3,"file":"type-template.js","sourceRoot":"","sources":["../../../../src/generators/templates/type-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-template.js","sourceRoot":"","sources":["../../../../src/generators/templates/type-template.ts"],"names":[],"mappings":"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"}