imposters 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. package/LICENSE +21 -0
  2. package/Program/package.json +6 -0
  3. package/README.md +365 -0
  4. package/api/AdminApi/package.json +6 -0
  5. package/api/ApiErrors/package.json +6 -0
  6. package/api/ApiSchemas/package.json +6 -0
  7. package/api/Conversions/package.json +6 -0
  8. package/api/ImpostersGroup/package.json +6 -0
  9. package/api/ImpostersHandlers/package.json +6 -0
  10. package/api/SystemGroup/package.json +6 -0
  11. package/api/SystemHandlers/package.json +6 -0
  12. package/bin/imposters +47 -0
  13. package/cli/Commands/package.json +6 -0
  14. package/cli/ConfigLoader/package.json +6 -0
  15. package/client/HandlerHttpClient/package.json +6 -0
  16. package/client/ImpostersClient/package.json +6 -0
  17. package/client/testing/package.json +6 -0
  18. package/dist/cjs/Program.js +4 -0
  19. package/dist/cjs/Program.js.map +1 -0
  20. package/dist/cjs/api/AdminApi.js +11 -0
  21. package/dist/cjs/api/AdminApi.js.map +1 -0
  22. package/dist/cjs/api/ApiErrors.js +30 -0
  23. package/dist/cjs/api/ApiErrors.js.map +1 -0
  24. package/dist/cjs/api/ApiSchemas.js +36 -0
  25. package/dist/cjs/api/ApiSchemas.js.map +1 -0
  26. package/dist/cjs/api/Conversions.js +41 -0
  27. package/dist/cjs/api/Conversions.js.map +1 -0
  28. package/dist/cjs/api/ImpostersGroup.js +37 -0
  29. package/dist/cjs/api/ImpostersGroup.js.map +1 -0
  30. package/dist/cjs/api/ImpostersHandlers.js +361 -0
  31. package/dist/cjs/api/ImpostersHandlers.js.map +1 -0
  32. package/dist/cjs/api/SystemGroup.js +12 -0
  33. package/dist/cjs/api/SystemGroup.js.map +1 -0
  34. package/dist/cjs/api/SystemHandlers.js +74 -0
  35. package/dist/cjs/api/SystemHandlers.js.map +1 -0
  36. package/dist/cjs/cli/Commands.js +104 -0
  37. package/dist/cjs/cli/Commands.js.map +1 -0
  38. package/dist/cjs/cli/ConfigLoader.js +34 -0
  39. package/dist/cjs/cli/ConfigLoader.js.map +1 -0
  40. package/dist/cjs/client/HandlerHttpClient.js +50 -0
  41. package/dist/cjs/client/HandlerHttpClient.js.map +1 -0
  42. package/dist/cjs/client/ImpostersClient.js +20 -0
  43. package/dist/cjs/client/ImpostersClient.js.map +1 -0
  44. package/dist/cjs/client/index.js +57 -0
  45. package/dist/cjs/client/index.js.map +1 -0
  46. package/dist/cjs/client/testing.js +94 -0
  47. package/dist/cjs/client/testing.js.map +1 -0
  48. package/dist/cjs/domain/imposter.js +125 -0
  49. package/dist/cjs/domain/imposter.js.map +1 -0
  50. package/dist/cjs/domain/route.js +185 -0
  51. package/dist/cjs/domain/route.js.map +1 -0
  52. package/dist/cjs/index.js +106 -0
  53. package/dist/cjs/index.js.map +1 -0
  54. package/dist/cjs/layers/ApiLayer.js +18 -0
  55. package/dist/cjs/layers/ApiLayer.js.map +1 -0
  56. package/dist/cjs/layers/MainLayer.js +27 -0
  57. package/dist/cjs/layers/MainLayer.js.map +1 -0
  58. package/dist/cjs/matching/ExpressionEvaluator.js +103 -0
  59. package/dist/cjs/matching/ExpressionEvaluator.js.map +1 -0
  60. package/dist/cjs/matching/RequestMatcher.js +145 -0
  61. package/dist/cjs/matching/RequestMatcher.js.map +1 -0
  62. package/dist/cjs/matching/ResponseGenerator.js +80 -0
  63. package/dist/cjs/matching/ResponseGenerator.js.map +1 -0
  64. package/dist/cjs/matching/TemplateEngine.js +55 -0
  65. package/dist/cjs/matching/TemplateEngine.js.map +1 -0
  66. package/dist/cjs/repositories/ImposterRepository.js +118 -0
  67. package/dist/cjs/repositories/ImposterRepository.js.map +1 -0
  68. package/dist/cjs/schemas/ConfigFileSchema.js +44 -0
  69. package/dist/cjs/schemas/ConfigFileSchema.js.map +1 -0
  70. package/dist/cjs/schemas/ImposterSchema.js +202 -0
  71. package/dist/cjs/schemas/ImposterSchema.js.map +1 -0
  72. package/dist/cjs/schemas/RequestLogSchema.js +51 -0
  73. package/dist/cjs/schemas/RequestLogSchema.js.map +1 -0
  74. package/dist/cjs/schemas/StubSchema.js +84 -0
  75. package/dist/cjs/schemas/StubSchema.js.map +1 -0
  76. package/dist/cjs/schemas/common.js +67 -0
  77. package/dist/cjs/schemas/common.js.map +1 -0
  78. package/dist/cjs/server/AdminServer.js +36 -0
  79. package/dist/cjs/server/AdminServer.js.map +1 -0
  80. package/dist/cjs/server/BunServer.js +13 -0
  81. package/dist/cjs/server/BunServer.js.map +1 -0
  82. package/dist/cjs/server/FiberManager.js +21 -0
  83. package/dist/cjs/server/FiberManager.js.map +1 -0
  84. package/dist/cjs/server/ImposterServer.js +234 -0
  85. package/dist/cjs/server/ImposterServer.js.map +1 -0
  86. package/dist/cjs/services/AppConfig.js +18 -0
  87. package/dist/cjs/services/AppConfig.js.map +1 -0
  88. package/dist/cjs/services/MetricsService.js +113 -0
  89. package/dist/cjs/services/MetricsService.js.map +1 -0
  90. package/dist/cjs/services/PortAllocator.js +50 -0
  91. package/dist/cjs/services/PortAllocator.js.map +1 -0
  92. package/dist/cjs/services/ProxyService.js +109 -0
  93. package/dist/cjs/services/ProxyService.js.map +1 -0
  94. package/dist/cjs/services/RequestLogger.js +60 -0
  95. package/dist/cjs/services/RequestLogger.js.map +1 -0
  96. package/dist/cjs/services/Uuid.js +10 -0
  97. package/dist/cjs/services/Uuid.js.map +1 -0
  98. package/dist/cjs/services/UuidLive.js +16 -0
  99. package/dist/cjs/services/UuidLive.js.map +1 -0
  100. package/dist/cjs/ui/UiRouter.js +242 -0
  101. package/dist/cjs/ui/UiRouter.js.map +1 -0
  102. package/dist/cjs/ui/admin/AdminLayout.js +36 -0
  103. package/dist/cjs/ui/admin/AdminLayout.js.map +1 -0
  104. package/dist/cjs/ui/admin/AdminUiRouter.js +155 -0
  105. package/dist/cjs/ui/admin/AdminUiRouter.js.map +1 -0
  106. package/dist/cjs/ui/admin/pages/AdminDashboard.js +55 -0
  107. package/dist/cjs/ui/admin/pages/AdminDashboard.js.map +1 -0
  108. package/dist/cjs/ui/admin/partials.js +64 -0
  109. package/dist/cjs/ui/admin/partials.js.map +1 -0
  110. package/dist/cjs/ui/html.js +42 -0
  111. package/dist/cjs/ui/html.js.map +1 -0
  112. package/dist/cjs/ui/layout.js +39 -0
  113. package/dist/cjs/ui/layout.js.map +1 -0
  114. package/dist/cjs/ui/pages/dashboard.js +51 -0
  115. package/dist/cjs/ui/pages/dashboard.js.map +1 -0
  116. package/dist/cjs/ui/pages/request-detail.js +119 -0
  117. package/dist/cjs/ui/pages/request-detail.js.map +1 -0
  118. package/dist/cjs/ui/pages/requests.js +120 -0
  119. package/dist/cjs/ui/pages/requests.js.map +1 -0
  120. package/dist/cjs/ui/pages/stubs.js +46 -0
  121. package/dist/cjs/ui/pages/stubs.js.map +1 -0
  122. package/dist/cjs/ui/partials.js +104 -0
  123. package/dist/cjs/ui/partials.js.map +1 -0
  124. package/dist/dts/Program.d.ts +2 -0
  125. package/dist/dts/Program.d.ts.map +1 -0
  126. package/dist/dts/api/AdminApi.d.ts +490 -0
  127. package/dist/dts/api/AdminApi.d.ts.map +1 -0
  128. package/dist/dts/api/ApiErrors.d.ts +26 -0
  129. package/dist/dts/api/ApiErrors.d.ts.map +1 -0
  130. package/dist/dts/api/ApiSchemas.d.ts +36 -0
  131. package/dist/dts/api/ApiSchemas.d.ts.map +1 -0
  132. package/dist/dts/api/Conversions.d.ts +7 -0
  133. package/dist/dts/api/Conversions.d.ts.map +1 -0
  134. package/dist/dts/api/ImpostersGroup.d.ts +448 -0
  135. package/dist/dts/api/ImpostersGroup.d.ts.map +1 -0
  136. package/dist/dts/api/ImpostersHandlers.d.ts +9 -0
  137. package/dist/dts/api/ImpostersHandlers.d.ts.map +1 -0
  138. package/dist/dts/api/SystemGroup.d.ts +46 -0
  139. package/dist/dts/api/SystemGroup.d.ts.map +1 -0
  140. package/dist/dts/api/SystemHandlers.d.ts +4 -0
  141. package/dist/dts/api/SystemHandlers.d.ts.map +1 -0
  142. package/dist/dts/cli/Commands.d.ts +4 -0
  143. package/dist/dts/cli/Commands.d.ts.map +1 -0
  144. package/dist/dts/cli/ConfigLoader.d.ts +13 -0
  145. package/dist/dts/cli/ConfigLoader.d.ts.map +1 -0
  146. package/dist/dts/client/HandlerHttpClient.d.ts +5 -0
  147. package/dist/dts/client/HandlerHttpClient.d.ts.map +1 -0
  148. package/dist/dts/client/ImpostersClient.d.ts +1868 -0
  149. package/dist/dts/client/ImpostersClient.d.ts.map +1 -0
  150. package/dist/dts/client/index.d.ts +6 -0
  151. package/dist/dts/client/index.d.ts.map +1 -0
  152. package/dist/dts/client/testing.d.ts +35 -0
  153. package/dist/dts/client/testing.d.ts.map +1 -0
  154. package/dist/dts/domain/imposter.d.ts +123 -0
  155. package/dist/dts/domain/imposter.d.ts.map +1 -0
  156. package/dist/dts/domain/route.d.ts +128 -0
  157. package/dist/dts/domain/route.d.ts.map +1 -0
  158. package/dist/dts/index.d.ts +60 -0
  159. package/dist/dts/index.d.ts.map +1 -0
  160. package/dist/dts/layers/ApiLayer.d.ts +3 -0
  161. package/dist/dts/layers/ApiLayer.d.ts.map +1 -0
  162. package/dist/dts/layers/MainLayer.d.ts +3 -0
  163. package/dist/dts/layers/MainLayer.d.ts.map +1 -0
  164. package/dist/dts/matching/ExpressionEvaluator.d.ts +11 -0
  165. package/dist/dts/matching/ExpressionEvaluator.d.ts.map +1 -0
  166. package/dist/dts/matching/RequestMatcher.d.ts +13 -0
  167. package/dist/dts/matching/RequestMatcher.d.ts.map +1 -0
  168. package/dist/dts/matching/ResponseGenerator.d.ts +9 -0
  169. package/dist/dts/matching/ResponseGenerator.d.ts.map +1 -0
  170. package/dist/dts/matching/TemplateEngine.d.ts +4 -0
  171. package/dist/dts/matching/TemplateEngine.d.ts.map +1 -0
  172. package/dist/dts/repositories/ImposterRepository.d.ts +33 -0
  173. package/dist/dts/repositories/ImposterRepository.d.ts.map +1 -0
  174. package/dist/dts/schemas/ConfigFileSchema.d.ts +142 -0
  175. package/dist/dts/schemas/ConfigFileSchema.d.ts.map +1 -0
  176. package/dist/dts/schemas/ImposterSchema.d.ts +368 -0
  177. package/dist/dts/schemas/ImposterSchema.d.ts.map +1 -0
  178. package/dist/dts/schemas/RequestLogSchema.d.ts +36 -0
  179. package/dist/dts/schemas/RequestLogSchema.d.ts.map +1 -0
  180. package/dist/dts/schemas/StubSchema.d.ts +112 -0
  181. package/dist/dts/schemas/StubSchema.d.ts.map +1 -0
  182. package/dist/dts/schemas/common.d.ts +56 -0
  183. package/dist/dts/schemas/common.d.ts.map +1 -0
  184. package/dist/dts/server/AdminServer.d.ts +11 -0
  185. package/dist/dts/server/AdminServer.d.ts.map +1 -0
  186. package/dist/dts/server/BunServer.d.ts +17 -0
  187. package/dist/dts/server/BunServer.d.ts.map +1 -0
  188. package/dist/dts/server/FiberManager.d.ts +12 -0
  189. package/dist/dts/server/FiberManager.d.ts.map +1 -0
  190. package/dist/dts/server/ImposterServer.d.ts +29 -0
  191. package/dist/dts/server/ImposterServer.d.ts.map +1 -0
  192. package/dist/dts/services/AppConfig.d.ts +14 -0
  193. package/dist/dts/services/AppConfig.d.ts.map +1 -0
  194. package/dist/dts/services/MetricsService.d.ts +26 -0
  195. package/dist/dts/services/MetricsService.d.ts.map +1 -0
  196. package/dist/dts/services/PortAllocator.d.ts +29 -0
  197. package/dist/dts/services/PortAllocator.d.ts.map +1 -0
  198. package/dist/dts/services/ProxyService.d.ts +24 -0
  199. package/dist/dts/services/ProxyService.d.ts.map +1 -0
  200. package/dist/dts/services/RequestLogger.d.ts +23 -0
  201. package/dist/dts/services/RequestLogger.d.ts.map +1 -0
  202. package/dist/dts/services/Uuid.d.ts +9 -0
  203. package/dist/dts/services/Uuid.d.ts.map +1 -0
  204. package/dist/dts/services/UuidLive.d.ts +4 -0
  205. package/dist/dts/services/UuidLive.d.ts.map +1 -0
  206. package/dist/dts/ui/UiRouter.d.ts +15 -0
  207. package/dist/dts/ui/UiRouter.d.ts.map +1 -0
  208. package/dist/dts/ui/admin/AdminLayout.d.ts +7 -0
  209. package/dist/dts/ui/admin/AdminLayout.d.ts.map +1 -0
  210. package/dist/dts/ui/admin/AdminUiRouter.d.ts +6 -0
  211. package/dist/dts/ui/admin/AdminUiRouter.d.ts.map +1 -0
  212. package/dist/dts/ui/admin/pages/AdminDashboard.d.ts +7 -0
  213. package/dist/dts/ui/admin/pages/AdminDashboard.d.ts.map +1 -0
  214. package/dist/dts/ui/admin/partials.d.ts +14 -0
  215. package/dist/dts/ui/admin/partials.d.ts.map +1 -0
  216. package/dist/dts/ui/html.d.ts +12 -0
  217. package/dist/dts/ui/html.d.ts.map +1 -0
  218. package/dist/dts/ui/layout.d.ts +9 -0
  219. package/dist/dts/ui/layout.d.ts.map +1 -0
  220. package/dist/dts/ui/pages/dashboard.d.ts +10 -0
  221. package/dist/dts/ui/pages/dashboard.d.ts.map +1 -0
  222. package/dist/dts/ui/pages/request-detail.d.ts +11 -0
  223. package/dist/dts/ui/pages/request-detail.d.ts.map +1 -0
  224. package/dist/dts/ui/pages/requests.d.ts +15 -0
  225. package/dist/dts/ui/pages/requests.d.ts.map +1 -0
  226. package/dist/dts/ui/pages/stubs.d.ts +8 -0
  227. package/dist/dts/ui/pages/stubs.d.ts.map +1 -0
  228. package/dist/dts/ui/partials.d.ts +13 -0
  229. package/dist/dts/ui/partials.d.ts.map +1 -0
  230. package/dist/esm/Program.js +2 -0
  231. package/dist/esm/Program.js.map +1 -0
  232. package/dist/esm/api/AdminApi.js +5 -0
  233. package/dist/esm/api/AdminApi.js.map +1 -0
  234. package/dist/esm/api/ApiErrors.js +20 -0
  235. package/dist/esm/api/ApiErrors.js.map +1 -0
  236. package/dist/esm/api/ApiSchemas.js +29 -0
  237. package/dist/esm/api/ApiSchemas.js.map +1 -0
  238. package/dist/esm/api/Conversions.js +32 -0
  239. package/dist/esm/api/Conversions.js.map +1 -0
  240. package/dist/esm/api/ImpostersGroup.js +30 -0
  241. package/dist/esm/api/ImpostersGroup.js.map +1 -0
  242. package/dist/esm/api/ImpostersHandlers.js +354 -0
  243. package/dist/esm/api/ImpostersHandlers.js.map +1 -0
  244. package/dist/esm/api/SystemGroup.js +6 -0
  245. package/dist/esm/api/SystemGroup.js.map +1 -0
  246. package/dist/esm/api/SystemHandlers.js +67 -0
  247. package/dist/esm/api/SystemHandlers.js.map +1 -0
  248. package/dist/esm/cli/Commands.js +98 -0
  249. package/dist/esm/cli/Commands.js.map +1 -0
  250. package/dist/esm/cli/ConfigLoader.js +25 -0
  251. package/dist/esm/cli/ConfigLoader.js.map +1 -0
  252. package/dist/esm/client/HandlerHttpClient.js +42 -0
  253. package/dist/esm/client/HandlerHttpClient.js.map +1 -0
  254. package/dist/esm/client/ImpostersClient.js +10 -0
  255. package/dist/esm/client/ImpostersClient.js.map +1 -0
  256. package/dist/esm/client/index.js +4 -0
  257. package/dist/esm/client/index.js.map +1 -0
  258. package/dist/esm/client/testing.js +86 -0
  259. package/dist/esm/client/testing.js.map +1 -0
  260. package/dist/esm/domain/imposter.js +103 -0
  261. package/dist/esm/domain/imposter.js.map +1 -0
  262. package/dist/esm/domain/route.js +164 -0
  263. package/dist/esm/domain/route.js.map +1 -0
  264. package/dist/esm/index.js +60 -0
  265. package/dist/esm/index.js.map +1 -0
  266. package/dist/esm/layers/ApiLayer.js +11 -0
  267. package/dist/esm/layers/ApiLayer.js.map +1 -0
  268. package/dist/esm/layers/MainLayer.js +20 -0
  269. package/dist/esm/layers/MainLayer.js.map +1 -0
  270. package/dist/esm/matching/ExpressionEvaluator.js +94 -0
  271. package/dist/esm/matching/ExpressionEvaluator.js.map +1 -0
  272. package/dist/esm/matching/RequestMatcher.js +135 -0
  273. package/dist/esm/matching/RequestMatcher.js.map +1 -0
  274. package/dist/esm/matching/ResponseGenerator.js +71 -0
  275. package/dist/esm/matching/ResponseGenerator.js.map +1 -0
  276. package/dist/esm/matching/TemplateEngine.js +47 -0
  277. package/dist/esm/matching/TemplateEngine.js.map +1 -0
  278. package/dist/esm/package.json +4 -0
  279. package/dist/esm/repositories/ImposterRepository.js +110 -0
  280. package/dist/esm/repositories/ImposterRepository.js.map +1 -0
  281. package/dist/esm/schemas/ConfigFileSchema.js +37 -0
  282. package/dist/esm/schemas/ConfigFileSchema.js.map +1 -0
  283. package/dist/esm/schemas/ImposterSchema.js +195 -0
  284. package/dist/esm/schemas/ImposterSchema.js.map +1 -0
  285. package/dist/esm/schemas/RequestLogSchema.js +44 -0
  286. package/dist/esm/schemas/RequestLogSchema.js.map +1 -0
  287. package/dist/esm/schemas/StubSchema.js +77 -0
  288. package/dist/esm/schemas/StubSchema.js.map +1 -0
  289. package/dist/esm/schemas/common.js +59 -0
  290. package/dist/esm/schemas/common.js.map +1 -0
  291. package/dist/esm/server/AdminServer.js +27 -0
  292. package/dist/esm/server/AdminServer.js.map +1 -0
  293. package/dist/esm/server/BunServer.js +6 -0
  294. package/dist/esm/server/BunServer.js.map +1 -0
  295. package/dist/esm/server/FiberManager.js +14 -0
  296. package/dist/esm/server/FiberManager.js.map +1 -0
  297. package/dist/esm/server/ImposterServer.js +225 -0
  298. package/dist/esm/server/ImposterServer.js.map +1 -0
  299. package/dist/esm/services/AppConfig.js +11 -0
  300. package/dist/esm/services/AppConfig.js.map +1 -0
  301. package/dist/esm/services/MetricsService.js +105 -0
  302. package/dist/esm/services/MetricsService.js.map +1 -0
  303. package/dist/esm/services/PortAllocator.js +41 -0
  304. package/dist/esm/services/PortAllocator.js.map +1 -0
  305. package/dist/esm/services/ProxyService.js +101 -0
  306. package/dist/esm/services/ProxyService.js.map +1 -0
  307. package/dist/esm/services/RequestLogger.js +53 -0
  308. package/dist/esm/services/RequestLogger.js.map +1 -0
  309. package/dist/esm/services/Uuid.js +3 -0
  310. package/dist/esm/services/Uuid.js.map +1 -0
  311. package/dist/esm/services/UuidLive.js +9 -0
  312. package/dist/esm/services/UuidLive.js.map +1 -0
  313. package/dist/esm/ui/UiRouter.js +235 -0
  314. package/dist/esm/ui/UiRouter.js.map +1 -0
  315. package/dist/esm/ui/admin/AdminLayout.js +29 -0
  316. package/dist/esm/ui/admin/AdminLayout.js.map +1 -0
  317. package/dist/esm/ui/admin/AdminUiRouter.js +148 -0
  318. package/dist/esm/ui/admin/AdminUiRouter.js.map +1 -0
  319. package/dist/esm/ui/admin/pages/AdminDashboard.js +48 -0
  320. package/dist/esm/ui/admin/pages/AdminDashboard.js.map +1 -0
  321. package/dist/esm/ui/admin/partials.js +54 -0
  322. package/dist/esm/ui/admin/partials.js.map +1 -0
  323. package/dist/esm/ui/html.js +32 -0
  324. package/dist/esm/ui/html.js.map +1 -0
  325. package/dist/esm/ui/layout.js +32 -0
  326. package/dist/esm/ui/layout.js.map +1 -0
  327. package/dist/esm/ui/pages/dashboard.js +44 -0
  328. package/dist/esm/ui/pages/dashboard.js.map +1 -0
  329. package/dist/esm/ui/pages/request-detail.js +112 -0
  330. package/dist/esm/ui/pages/request-detail.js.map +1 -0
  331. package/dist/esm/ui/pages/requests.js +112 -0
  332. package/dist/esm/ui/pages/requests.js.map +1 -0
  333. package/dist/esm/ui/pages/stubs.js +39 -0
  334. package/dist/esm/ui/pages/stubs.js.map +1 -0
  335. package/dist/esm/ui/partials.js +91 -0
  336. package/dist/esm/ui/partials.js.map +1 -0
  337. package/domain/imposter/package.json +6 -0
  338. package/domain/route/package.json +6 -0
  339. package/layers/ApiLayer/package.json +6 -0
  340. package/layers/MainLayer/package.json +6 -0
  341. package/matching/ExpressionEvaluator/package.json +6 -0
  342. package/matching/RequestMatcher/package.json +6 -0
  343. package/matching/ResponseGenerator/package.json +6 -0
  344. package/matching/TemplateEngine/package.json +6 -0
  345. package/package.json +435 -0
  346. package/repositories/ImposterRepository/package.json +6 -0
  347. package/schemas/ConfigFileSchema/package.json +6 -0
  348. package/schemas/ImposterSchema/package.json +6 -0
  349. package/schemas/RequestLogSchema/package.json +6 -0
  350. package/schemas/StubSchema/package.json +6 -0
  351. package/schemas/common/package.json +6 -0
  352. package/server/AdminServer/package.json +6 -0
  353. package/server/BunServer/package.json +6 -0
  354. package/server/FiberManager/package.json +6 -0
  355. package/server/ImposterServer/package.json +6 -0
  356. package/services/AppConfig/package.json +6 -0
  357. package/services/MetricsService/package.json +6 -0
  358. package/services/PortAllocator/package.json +6 -0
  359. package/services/ProxyService/package.json +6 -0
  360. package/services/RequestLogger/package.json +6 -0
  361. package/services/Uuid/package.json +6 -0
  362. package/services/UuidLive/package.json +6 -0
  363. package/src/Program.ts +1 -0
  364. package/src/api/AdminApi.ts +7 -0
  365. package/src/api/ApiErrors.ts +20 -0
  366. package/src/api/ApiSchemas.ts +36 -0
  367. package/src/api/Conversions.ts +34 -0
  368. package/src/api/ImpostersGroup.ts +103 -0
  369. package/src/api/ImpostersHandlers.ts +387 -0
  370. package/src/api/SystemGroup.ts +12 -0
  371. package/src/api/SystemHandlers.ts +76 -0
  372. package/src/cli/Commands.ts +119 -0
  373. package/src/cli/ConfigLoader.ts +41 -0
  374. package/src/client/HandlerHttpClient.ts +50 -0
  375. package/src/client/ImpostersClient.ts +21 -0
  376. package/src/client/index.ts +9 -0
  377. package/src/client/testing.ts +105 -0
  378. package/src/domain/imposter.ts +186 -0
  379. package/src/domain/route.ts +255 -0
  380. package/src/index.ts +153 -0
  381. package/src/layers/ApiLayer.ts +21 -0
  382. package/src/layers/MainLayer.ts +43 -0
  383. package/src/matching/ExpressionEvaluator.ts +102 -0
  384. package/src/matching/RequestMatcher.ts +162 -0
  385. package/src/matching/ResponseGenerator.ts +86 -0
  386. package/src/matching/TemplateEngine.ts +54 -0
  387. package/src/repositories/ImposterRepository.ts +145 -0
  388. package/src/schemas/ConfigFileSchema.ts +32 -0
  389. package/src/schemas/ImposterSchema.ts +232 -0
  390. package/src/schemas/RequestLogSchema.ts +38 -0
  391. package/src/schemas/StubSchema.ts +90 -0
  392. package/src/schemas/common.ts +95 -0
  393. package/src/server/AdminServer.ts +22 -0
  394. package/src/server/BunServer.ts +19 -0
  395. package/src/server/FiberManager.ts +25 -0
  396. package/src/server/ImposterServer.ts +244 -0
  397. package/src/services/AppConfig.ts +22 -0
  398. package/src/services/MetricsService.ts +157 -0
  399. package/src/services/PortAllocator.ts +68 -0
  400. package/src/services/ProxyService.ts +139 -0
  401. package/src/services/RequestLogger.ts +87 -0
  402. package/src/services/Uuid.ts +9 -0
  403. package/src/services/UuidLive.ts +9 -0
  404. package/src/types/bun.d.ts +6 -0
  405. package/src/ui/UiRouter.ts +278 -0
  406. package/src/ui/admin/AdminLayout.ts +36 -0
  407. package/src/ui/admin/AdminUiRouter.ts +170 -0
  408. package/src/ui/admin/pages/AdminDashboard.ts +54 -0
  409. package/src/ui/admin/partials.ts +83 -0
  410. package/src/ui/html.ts +37 -0
  411. package/src/ui/layout.ts +44 -0
  412. package/src/ui/pages/dashboard.ts +64 -0
  413. package/src/ui/pages/request-detail.ts +142 -0
  414. package/src/ui/pages/requests.ts +141 -0
  415. package/src/ui/pages/stubs.ts +52 -0
  416. package/src/ui/partials.ts +133 -0
  417. package/ui/UiRouter/package.json +6 -0
  418. package/ui/admin/AdminLayout/package.json +6 -0
  419. package/ui/admin/AdminUiRouter/package.json +6 -0
  420. package/ui/admin/pages/AdminDashboard/package.json +6 -0
  421. package/ui/admin/partials/package.json +6 -0
  422. package/ui/html/package.json +6 -0
  423. package/ui/layout/package.json +6 -0
  424. package/ui/pages/dashboard/package.json +6 -0
  425. package/ui/pages/requests/package.json +6 -0
  426. package/ui/pages/stubs/package.json +6 -0
@@ -0,0 +1,91 @@
1
+ import { html } from "./html";
2
+ const predicateSummary = stub => {
3
+ if (stub.predicates.length === 0) return "catch-all (no predicates)";
4
+ return stub.predicates.map(p => `${p.field} ${p.operator} ${JSON.stringify(p.value)}`).join(" AND ");
5
+ };
6
+ const formatJson = value => JSON.stringify(value, null, 2);
7
+ const responseDetail = (r, index, total) => {
8
+ const label = total > 1 ? `Response ${String(index + 1)}/${String(total)}` : "Response";
9
+ const headers = r.headers ? Object.entries(r.headers).map(([k, v]) => `${k}: ${v}`).join(", ") : null;
10
+ return html`<div class="bg-gray-50 rounded p-3 mb-2 text-sm">
11
+ <div class="flex items-center gap-2 mb-1">
12
+ <span class="font-medium text-gray-700">${label}</span>
13
+ <span class="px-1.5 py-0.5 rounded text-xs font-mono bg-indigo-100 text-indigo-700">${String(r.status)}</span>
14
+ ${r.delay !== undefined ? html`<span class="text-xs text-gray-400">delay ${String(r.delay)}ms</span>` : html``}
15
+ </div>
16
+ ${headers !== null ? html`<div class="text-xs text-gray-500 mb-1">Headers: ${headers}</div>` : html``}
17
+ ${r.body !== undefined ? html`<pre class="mt-1 bg-white border rounded p-2 text-xs font-mono overflow-x-auto whitespace-pre-wrap">${formatJson(r.body)}</pre>` : html`<div class="text-xs text-gray-400 italic">no body</div>`}
18
+ </div>`;
19
+ };
20
+ export const stubCardPartial = stub => {
21
+ const responsesHtml = stub.responses.map((r, i) => responseDetail(r, i, stub.responses.length)).reduce((acc, r) => html`${acc}${r}`, html``);
22
+ return html`<div class="bg-white rounded-lg shadow p-4 mb-3" id="stub-${stub.id}">
23
+ <div class="flex items-center justify-between mb-2">
24
+ <div>
25
+ <span class="font-mono text-sm text-indigo-600 font-semibold">${stub.id}</span>
26
+ <span class="ml-2 text-xs bg-gray-100 text-gray-600 px-2 py-0.5 rounded">${stub.responseMode}</span>
27
+ </div>
28
+ <div class="flex gap-2">
29
+ <button
30
+ hx-delete="/_admin/stubs/${stub.id}"
31
+ hx-target="#stub-list"
32
+ hx-swap="innerHTML"
33
+ hx-confirm="Delete this stub?"
34
+ class="text-red-500 hover:text-red-700 text-sm">Delete</button>
35
+ </div>
36
+ </div>
37
+ <div class="text-sm text-gray-600 mb-2">
38
+ <span class="font-medium">Predicates:</span> ${predicateSummary(stub)}
39
+ </div>
40
+ <div>
41
+ ${responsesHtml}
42
+ </div>
43
+ </div>`;
44
+ };
45
+ export const stubListPartial = stubs => {
46
+ if (stubs.length === 0) {
47
+ return emptyStubMessage();
48
+ }
49
+ return stubs.reduce((acc, stub) => html`${acc}${stubCardPartial(stub)}`, html``);
50
+ };
51
+ export const emptyStubMessage = () => html`<p class="text-gray-400 text-center py-8">No stubs configured. Add one above.</p>`;
52
+ export const errorPartial = message => html`<div class="bg-red-50 border border-red-200 text-red-700 rounded p-3 mb-3">${message}</div>`;
53
+ export const methodBadge = method => {
54
+ const colors = {
55
+ GET: "bg-green-100 text-green-700",
56
+ POST: "bg-blue-100 text-blue-700",
57
+ PUT: "bg-orange-100 text-orange-700",
58
+ PATCH: "bg-yellow-100 text-yellow-700",
59
+ DELETE: "bg-red-100 text-red-700",
60
+ HEAD: "bg-gray-100 text-gray-700",
61
+ OPTIONS: "bg-purple-100 text-purple-700"
62
+ };
63
+ const color = colors[method.toUpperCase()] ?? "bg-gray-100 text-gray-600";
64
+ return html`<span class="px-1.5 py-0.5 rounded text-xs font-mono font-semibold ${color}">${method.toUpperCase()}</span>`;
65
+ };
66
+ export const statusBadge = status => {
67
+ let color;
68
+ if (status < 300) color = "bg-green-100 text-green-700";else if (status < 400) color = "bg-yellow-100 text-yellow-700";else if (status < 500) color = "bg-orange-100 text-orange-700";else color = "bg-red-100 text-red-700";
69
+ return html`<span class="px-1.5 py-0.5 rounded text-xs font-mono font-semibold ${color}">${String(status)}</span>`;
70
+ };
71
+ export const requestTablePartial = (entries, opts) => {
72
+ if (entries.length === 0) {
73
+ return html`<tr><td colspan="7" class="text-center py-4 text-gray-400">No requests recorded.</td></tr>`;
74
+ }
75
+ const rows = entries.map(entry => {
76
+ const d = new Date(Number(entry.timestamp.epochMillis));
77
+ const time = `${String(d.getHours()).padStart(2, "0")}:${String(d.getMinutes()).padStart(2, "0")}:${String(d.getSeconds()).padStart(2, "0")}`;
78
+ const stubId = entry.response.matchedStubId ?? "-";
79
+ const rowContent = html`
80
+ <td class="py-2 px-3 text-xs text-gray-500">${time}</td>
81
+ <td class="py-2 px-3">${methodBadge(entry.request.method)}</td>
82
+ <td class="py-2 px-3 font-mono text-sm">${entry.request.path}</td>
83
+ <td class="py-2 px-3">${statusBadge(entry.response.status)}</td>
84
+ <td class="py-2 px-3 text-xs text-gray-500 font-mono">${stubId}</td>
85
+ <td class="py-2 px-3 text-sm text-gray-500">${String(entry.duration)}ms</td>
86
+ <td class="py-2 px-3">${opts?.linkToDetail !== false ? html`<a href="/_admin/requests/${entry.id}" class="text-indigo-600 hover:underline text-sm">detail</a>` : html``}</td>`;
87
+ return html`<tr class="border-t hover:bg-gray-50">${rowContent}</tr>`;
88
+ });
89
+ return rows.reduce((acc, r) => html`${acc}${r}`, html``);
90
+ };
91
+ //# sourceMappingURL=partials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partials.js","names":["html","predicateSummary","stub","predicates","length","map","p","field","operator","JSON","stringify","value","join","formatJson","responseDetail","r","index","total","label","String","headers","Object","entries","k","v","status","delay","undefined","body","stubCardPartial","responsesHtml","responses","i","reduce","acc","id","responseMode","stubListPartial","stubs","emptyStubMessage","errorPartial","message","methodBadge","method","colors","GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS","color","toUpperCase","statusBadge","requestTablePartial","opts","rows","entry","d","Date","Number","timestamp","epochMillis","time","getHours","padStart","getMinutes","getSeconds","stubId","response","matchedStubId","rowContent","request","path","duration","linkToDetail"],"sources":["../../../src/ui/partials.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/domain/imposter.js",
3
+ "module": "../../dist/esm/domain/imposter.js",
4
+ "types": "../../dist/dts/domain/imposter.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/domain/route.js",
3
+ "module": "../../dist/esm/domain/route.js",
4
+ "types": "../../dist/dts/domain/route.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/layers/ApiLayer.js",
3
+ "module": "../../dist/esm/layers/ApiLayer.js",
4
+ "types": "../../dist/dts/layers/ApiLayer.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/layers/MainLayer.js",
3
+ "module": "../../dist/esm/layers/MainLayer.js",
4
+ "types": "../../dist/dts/layers/MainLayer.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/matching/ExpressionEvaluator.js",
3
+ "module": "../../dist/esm/matching/ExpressionEvaluator.js",
4
+ "types": "../../dist/dts/matching/ExpressionEvaluator.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/matching/RequestMatcher.js",
3
+ "module": "../../dist/esm/matching/RequestMatcher.js",
4
+ "types": "../../dist/dts/matching/RequestMatcher.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/matching/ResponseGenerator.js",
3
+ "module": "../../dist/esm/matching/ResponseGenerator.js",
4
+ "types": "../../dist/dts/matching/ResponseGenerator.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/matching/TemplateEngine.js",
3
+ "module": "../../dist/esm/matching/TemplateEngine.js",
4
+ "types": "../../dist/dts/matching/TemplateEngine.d.ts",
5
+ "sideEffects": []
6
+ }
package/package.json ADDED
@@ -0,0 +1,435 @@
1
+ {
2
+ "name": "imposters",
3
+ "version": "0.1.0",
4
+ "description": "A service virtualization tool built with TypeScript and Effect",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "http://www.github.com/eliraz-refael/imposters.git"
9
+ },
10
+ "sideEffects": [],
11
+ "dependencies": {
12
+ "@effect/cli": "^0.72.0",
13
+ "@effect/platform": "^0.94.4",
14
+ "@effect/platform-node": "^0.104.0",
15
+ "effect": "^3.19.16",
16
+ "jsonata": "^2.1.0",
17
+ "uuid": "^11.1.0"
18
+ },
19
+ "optionalDependencies": {
20
+ "@imposters/linux-x64": "0.1.0",
21
+ "@imposters/linux-arm64": "0.1.0",
22
+ "@imposters/darwin-x64": "0.1.0",
23
+ "@imposters/darwin-arm64": "0.1.0"
24
+ },
25
+ "bin": {
26
+ "imposters": "./bin/imposters"
27
+ },
28
+ "main": "./dist/cjs/index.js",
29
+ "module": "./dist/esm/index.js",
30
+ "types": "./dist/dts/index.d.ts",
31
+ "exports": {
32
+ "./package.json": "./package.json",
33
+ ".": {
34
+ "types": "./dist/dts/index.d.ts",
35
+ "import": "./dist/esm/index.js",
36
+ "default": "./dist/cjs/index.js"
37
+ },
38
+ "./Program": {
39
+ "types": "./dist/dts/Program.d.ts",
40
+ "import": "./dist/esm/Program.js",
41
+ "default": "./dist/cjs/Program.js"
42
+ },
43
+ "./api/AdminApi": {
44
+ "types": "./dist/dts/api/AdminApi.d.ts",
45
+ "import": "./dist/esm/api/AdminApi.js",
46
+ "default": "./dist/cjs/api/AdminApi.js"
47
+ },
48
+ "./api/ApiErrors": {
49
+ "types": "./dist/dts/api/ApiErrors.d.ts",
50
+ "import": "./dist/esm/api/ApiErrors.js",
51
+ "default": "./dist/cjs/api/ApiErrors.js"
52
+ },
53
+ "./api/ApiSchemas": {
54
+ "types": "./dist/dts/api/ApiSchemas.d.ts",
55
+ "import": "./dist/esm/api/ApiSchemas.js",
56
+ "default": "./dist/cjs/api/ApiSchemas.js"
57
+ },
58
+ "./api/Conversions": {
59
+ "types": "./dist/dts/api/Conversions.d.ts",
60
+ "import": "./dist/esm/api/Conversions.js",
61
+ "default": "./dist/cjs/api/Conversions.js"
62
+ },
63
+ "./api/ImpostersGroup": {
64
+ "types": "./dist/dts/api/ImpostersGroup.d.ts",
65
+ "import": "./dist/esm/api/ImpostersGroup.js",
66
+ "default": "./dist/cjs/api/ImpostersGroup.js"
67
+ },
68
+ "./api/ImpostersHandlers": {
69
+ "types": "./dist/dts/api/ImpostersHandlers.d.ts",
70
+ "import": "./dist/esm/api/ImpostersHandlers.js",
71
+ "default": "./dist/cjs/api/ImpostersHandlers.js"
72
+ },
73
+ "./api/SystemGroup": {
74
+ "types": "./dist/dts/api/SystemGroup.d.ts",
75
+ "import": "./dist/esm/api/SystemGroup.js",
76
+ "default": "./dist/cjs/api/SystemGroup.js"
77
+ },
78
+ "./api/SystemHandlers": {
79
+ "types": "./dist/dts/api/SystemHandlers.d.ts",
80
+ "import": "./dist/esm/api/SystemHandlers.js",
81
+ "default": "./dist/cjs/api/SystemHandlers.js"
82
+ },
83
+ "./cli/Commands": {
84
+ "types": "./dist/dts/cli/Commands.d.ts",
85
+ "import": "./dist/esm/cli/Commands.js",
86
+ "default": "./dist/cjs/cli/Commands.js"
87
+ },
88
+ "./cli/ConfigLoader": {
89
+ "types": "./dist/dts/cli/ConfigLoader.d.ts",
90
+ "import": "./dist/esm/cli/ConfigLoader.js",
91
+ "default": "./dist/cjs/cli/ConfigLoader.js"
92
+ },
93
+ "./client/HandlerHttpClient": {
94
+ "types": "./dist/dts/client/HandlerHttpClient.d.ts",
95
+ "import": "./dist/esm/client/HandlerHttpClient.js",
96
+ "default": "./dist/cjs/client/HandlerHttpClient.js"
97
+ },
98
+ "./client/ImpostersClient": {
99
+ "types": "./dist/dts/client/ImpostersClient.d.ts",
100
+ "import": "./dist/esm/client/ImpostersClient.js",
101
+ "default": "./dist/cjs/client/ImpostersClient.js"
102
+ },
103
+ "./client/testing": {
104
+ "types": "./dist/dts/client/testing.d.ts",
105
+ "import": "./dist/esm/client/testing.js",
106
+ "default": "./dist/cjs/client/testing.js"
107
+ },
108
+ "./domain/imposter": {
109
+ "types": "./dist/dts/domain/imposter.d.ts",
110
+ "import": "./dist/esm/domain/imposter.js",
111
+ "default": "./dist/cjs/domain/imposter.js"
112
+ },
113
+ "./domain/route": {
114
+ "types": "./dist/dts/domain/route.d.ts",
115
+ "import": "./dist/esm/domain/route.js",
116
+ "default": "./dist/cjs/domain/route.js"
117
+ },
118
+ "./layers/ApiLayer": {
119
+ "types": "./dist/dts/layers/ApiLayer.d.ts",
120
+ "import": "./dist/esm/layers/ApiLayer.js",
121
+ "default": "./dist/cjs/layers/ApiLayer.js"
122
+ },
123
+ "./layers/MainLayer": {
124
+ "types": "./dist/dts/layers/MainLayer.d.ts",
125
+ "import": "./dist/esm/layers/MainLayer.js",
126
+ "default": "./dist/cjs/layers/MainLayer.js"
127
+ },
128
+ "./matching/ExpressionEvaluator": {
129
+ "types": "./dist/dts/matching/ExpressionEvaluator.d.ts",
130
+ "import": "./dist/esm/matching/ExpressionEvaluator.js",
131
+ "default": "./dist/cjs/matching/ExpressionEvaluator.js"
132
+ },
133
+ "./matching/RequestMatcher": {
134
+ "types": "./dist/dts/matching/RequestMatcher.d.ts",
135
+ "import": "./dist/esm/matching/RequestMatcher.js",
136
+ "default": "./dist/cjs/matching/RequestMatcher.js"
137
+ },
138
+ "./matching/ResponseGenerator": {
139
+ "types": "./dist/dts/matching/ResponseGenerator.d.ts",
140
+ "import": "./dist/esm/matching/ResponseGenerator.js",
141
+ "default": "./dist/cjs/matching/ResponseGenerator.js"
142
+ },
143
+ "./matching/TemplateEngine": {
144
+ "types": "./dist/dts/matching/TemplateEngine.d.ts",
145
+ "import": "./dist/esm/matching/TemplateEngine.js",
146
+ "default": "./dist/cjs/matching/TemplateEngine.js"
147
+ },
148
+ "./repositories/ImposterRepository": {
149
+ "types": "./dist/dts/repositories/ImposterRepository.d.ts",
150
+ "import": "./dist/esm/repositories/ImposterRepository.js",
151
+ "default": "./dist/cjs/repositories/ImposterRepository.js"
152
+ },
153
+ "./schemas/ConfigFileSchema": {
154
+ "types": "./dist/dts/schemas/ConfigFileSchema.d.ts",
155
+ "import": "./dist/esm/schemas/ConfigFileSchema.js",
156
+ "default": "./dist/cjs/schemas/ConfigFileSchema.js"
157
+ },
158
+ "./schemas/ImposterSchema": {
159
+ "types": "./dist/dts/schemas/ImposterSchema.d.ts",
160
+ "import": "./dist/esm/schemas/ImposterSchema.js",
161
+ "default": "./dist/cjs/schemas/ImposterSchema.js"
162
+ },
163
+ "./schemas/RequestLogSchema": {
164
+ "types": "./dist/dts/schemas/RequestLogSchema.d.ts",
165
+ "import": "./dist/esm/schemas/RequestLogSchema.js",
166
+ "default": "./dist/cjs/schemas/RequestLogSchema.js"
167
+ },
168
+ "./schemas/StubSchema": {
169
+ "types": "./dist/dts/schemas/StubSchema.d.ts",
170
+ "import": "./dist/esm/schemas/StubSchema.js",
171
+ "default": "./dist/cjs/schemas/StubSchema.js"
172
+ },
173
+ "./schemas/common": {
174
+ "types": "./dist/dts/schemas/common.d.ts",
175
+ "import": "./dist/esm/schemas/common.js",
176
+ "default": "./dist/cjs/schemas/common.js"
177
+ },
178
+ "./server/AdminServer": {
179
+ "types": "./dist/dts/server/AdminServer.d.ts",
180
+ "import": "./dist/esm/server/AdminServer.js",
181
+ "default": "./dist/cjs/server/AdminServer.js"
182
+ },
183
+ "./server/BunServer": {
184
+ "types": "./dist/dts/server/BunServer.d.ts",
185
+ "import": "./dist/esm/server/BunServer.js",
186
+ "default": "./dist/cjs/server/BunServer.js"
187
+ },
188
+ "./server/FiberManager": {
189
+ "types": "./dist/dts/server/FiberManager.d.ts",
190
+ "import": "./dist/esm/server/FiberManager.js",
191
+ "default": "./dist/cjs/server/FiberManager.js"
192
+ },
193
+ "./server/ImposterServer": {
194
+ "types": "./dist/dts/server/ImposterServer.d.ts",
195
+ "import": "./dist/esm/server/ImposterServer.js",
196
+ "default": "./dist/cjs/server/ImposterServer.js"
197
+ },
198
+ "./services/AppConfig": {
199
+ "types": "./dist/dts/services/AppConfig.d.ts",
200
+ "import": "./dist/esm/services/AppConfig.js",
201
+ "default": "./dist/cjs/services/AppConfig.js"
202
+ },
203
+ "./services/MetricsService": {
204
+ "types": "./dist/dts/services/MetricsService.d.ts",
205
+ "import": "./dist/esm/services/MetricsService.js",
206
+ "default": "./dist/cjs/services/MetricsService.js"
207
+ },
208
+ "./services/PortAllocator": {
209
+ "types": "./dist/dts/services/PortAllocator.d.ts",
210
+ "import": "./dist/esm/services/PortAllocator.js",
211
+ "default": "./dist/cjs/services/PortAllocator.js"
212
+ },
213
+ "./services/ProxyService": {
214
+ "types": "./dist/dts/services/ProxyService.d.ts",
215
+ "import": "./dist/esm/services/ProxyService.js",
216
+ "default": "./dist/cjs/services/ProxyService.js"
217
+ },
218
+ "./services/RequestLogger": {
219
+ "types": "./dist/dts/services/RequestLogger.d.ts",
220
+ "import": "./dist/esm/services/RequestLogger.js",
221
+ "default": "./dist/cjs/services/RequestLogger.js"
222
+ },
223
+ "./services/Uuid": {
224
+ "types": "./dist/dts/services/Uuid.d.ts",
225
+ "import": "./dist/esm/services/Uuid.js",
226
+ "default": "./dist/cjs/services/Uuid.js"
227
+ },
228
+ "./services/UuidLive": {
229
+ "types": "./dist/dts/services/UuidLive.d.ts",
230
+ "import": "./dist/esm/services/UuidLive.js",
231
+ "default": "./dist/cjs/services/UuidLive.js"
232
+ },
233
+ "./ui/UiRouter": {
234
+ "types": "./dist/dts/ui/UiRouter.d.ts",
235
+ "import": "./dist/esm/ui/UiRouter.js",
236
+ "default": "./dist/cjs/ui/UiRouter.js"
237
+ },
238
+ "./ui/admin/AdminLayout": {
239
+ "types": "./dist/dts/ui/admin/AdminLayout.d.ts",
240
+ "import": "./dist/esm/ui/admin/AdminLayout.js",
241
+ "default": "./dist/cjs/ui/admin/AdminLayout.js"
242
+ },
243
+ "./ui/admin/AdminUiRouter": {
244
+ "types": "./dist/dts/ui/admin/AdminUiRouter.d.ts",
245
+ "import": "./dist/esm/ui/admin/AdminUiRouter.js",
246
+ "default": "./dist/cjs/ui/admin/AdminUiRouter.js"
247
+ },
248
+ "./ui/admin/pages/AdminDashboard": {
249
+ "types": "./dist/dts/ui/admin/pages/AdminDashboard.d.ts",
250
+ "import": "./dist/esm/ui/admin/pages/AdminDashboard.js",
251
+ "default": "./dist/cjs/ui/admin/pages/AdminDashboard.js"
252
+ },
253
+ "./ui/admin/partials": {
254
+ "types": "./dist/dts/ui/admin/partials.d.ts",
255
+ "import": "./dist/esm/ui/admin/partials.js",
256
+ "default": "./dist/cjs/ui/admin/partials.js"
257
+ },
258
+ "./ui/html": {
259
+ "types": "./dist/dts/ui/html.d.ts",
260
+ "import": "./dist/esm/ui/html.js",
261
+ "default": "./dist/cjs/ui/html.js"
262
+ },
263
+ "./ui/layout": {
264
+ "types": "./dist/dts/ui/layout.d.ts",
265
+ "import": "./dist/esm/ui/layout.js",
266
+ "default": "./dist/cjs/ui/layout.js"
267
+ },
268
+ "./ui/pages/dashboard": {
269
+ "types": "./dist/dts/ui/pages/dashboard.d.ts",
270
+ "import": "./dist/esm/ui/pages/dashboard.js",
271
+ "default": "./dist/cjs/ui/pages/dashboard.js"
272
+ },
273
+ "./ui/pages/requests": {
274
+ "types": "./dist/dts/ui/pages/requests.d.ts",
275
+ "import": "./dist/esm/ui/pages/requests.js",
276
+ "default": "./dist/cjs/ui/pages/requests.js"
277
+ },
278
+ "./ui/pages/stubs": {
279
+ "types": "./dist/dts/ui/pages/stubs.d.ts",
280
+ "import": "./dist/esm/ui/pages/stubs.js",
281
+ "default": "./dist/cjs/ui/pages/stubs.js"
282
+ }
283
+ },
284
+ "typesVersions": {
285
+ "*": {
286
+ "Program": [
287
+ "./dist/dts/Program.d.ts"
288
+ ],
289
+ "api/AdminApi": [
290
+ "./dist/dts/api/AdminApi.d.ts"
291
+ ],
292
+ "api/ApiErrors": [
293
+ "./dist/dts/api/ApiErrors.d.ts"
294
+ ],
295
+ "api/ApiSchemas": [
296
+ "./dist/dts/api/ApiSchemas.d.ts"
297
+ ],
298
+ "api/Conversions": [
299
+ "./dist/dts/api/Conversions.d.ts"
300
+ ],
301
+ "api/ImpostersGroup": [
302
+ "./dist/dts/api/ImpostersGroup.d.ts"
303
+ ],
304
+ "api/ImpostersHandlers": [
305
+ "./dist/dts/api/ImpostersHandlers.d.ts"
306
+ ],
307
+ "api/SystemGroup": [
308
+ "./dist/dts/api/SystemGroup.d.ts"
309
+ ],
310
+ "api/SystemHandlers": [
311
+ "./dist/dts/api/SystemHandlers.d.ts"
312
+ ],
313
+ "cli/Commands": [
314
+ "./dist/dts/cli/Commands.d.ts"
315
+ ],
316
+ "cli/ConfigLoader": [
317
+ "./dist/dts/cli/ConfigLoader.d.ts"
318
+ ],
319
+ "client/HandlerHttpClient": [
320
+ "./dist/dts/client/HandlerHttpClient.d.ts"
321
+ ],
322
+ "client/ImpostersClient": [
323
+ "./dist/dts/client/ImpostersClient.d.ts"
324
+ ],
325
+ "client/testing": [
326
+ "./dist/dts/client/testing.d.ts"
327
+ ],
328
+ "domain/imposter": [
329
+ "./dist/dts/domain/imposter.d.ts"
330
+ ],
331
+ "domain/route": [
332
+ "./dist/dts/domain/route.d.ts"
333
+ ],
334
+ "layers/ApiLayer": [
335
+ "./dist/dts/layers/ApiLayer.d.ts"
336
+ ],
337
+ "layers/MainLayer": [
338
+ "./dist/dts/layers/MainLayer.d.ts"
339
+ ],
340
+ "matching/ExpressionEvaluator": [
341
+ "./dist/dts/matching/ExpressionEvaluator.d.ts"
342
+ ],
343
+ "matching/RequestMatcher": [
344
+ "./dist/dts/matching/RequestMatcher.d.ts"
345
+ ],
346
+ "matching/ResponseGenerator": [
347
+ "./dist/dts/matching/ResponseGenerator.d.ts"
348
+ ],
349
+ "matching/TemplateEngine": [
350
+ "./dist/dts/matching/TemplateEngine.d.ts"
351
+ ],
352
+ "repositories/ImposterRepository": [
353
+ "./dist/dts/repositories/ImposterRepository.d.ts"
354
+ ],
355
+ "schemas/ConfigFileSchema": [
356
+ "./dist/dts/schemas/ConfigFileSchema.d.ts"
357
+ ],
358
+ "schemas/ImposterSchema": [
359
+ "./dist/dts/schemas/ImposterSchema.d.ts"
360
+ ],
361
+ "schemas/RequestLogSchema": [
362
+ "./dist/dts/schemas/RequestLogSchema.d.ts"
363
+ ],
364
+ "schemas/StubSchema": [
365
+ "./dist/dts/schemas/StubSchema.d.ts"
366
+ ],
367
+ "schemas/common": [
368
+ "./dist/dts/schemas/common.d.ts"
369
+ ],
370
+ "server/AdminServer": [
371
+ "./dist/dts/server/AdminServer.d.ts"
372
+ ],
373
+ "server/BunServer": [
374
+ "./dist/dts/server/BunServer.d.ts"
375
+ ],
376
+ "server/FiberManager": [
377
+ "./dist/dts/server/FiberManager.d.ts"
378
+ ],
379
+ "server/ImposterServer": [
380
+ "./dist/dts/server/ImposterServer.d.ts"
381
+ ],
382
+ "services/AppConfig": [
383
+ "./dist/dts/services/AppConfig.d.ts"
384
+ ],
385
+ "services/MetricsService": [
386
+ "./dist/dts/services/MetricsService.d.ts"
387
+ ],
388
+ "services/PortAllocator": [
389
+ "./dist/dts/services/PortAllocator.d.ts"
390
+ ],
391
+ "services/ProxyService": [
392
+ "./dist/dts/services/ProxyService.d.ts"
393
+ ],
394
+ "services/RequestLogger": [
395
+ "./dist/dts/services/RequestLogger.d.ts"
396
+ ],
397
+ "services/Uuid": [
398
+ "./dist/dts/services/Uuid.d.ts"
399
+ ],
400
+ "services/UuidLive": [
401
+ "./dist/dts/services/UuidLive.d.ts"
402
+ ],
403
+ "ui/UiRouter": [
404
+ "./dist/dts/ui/UiRouter.d.ts"
405
+ ],
406
+ "ui/admin/AdminLayout": [
407
+ "./dist/dts/ui/admin/AdminLayout.d.ts"
408
+ ],
409
+ "ui/admin/AdminUiRouter": [
410
+ "./dist/dts/ui/admin/AdminUiRouter.d.ts"
411
+ ],
412
+ "ui/admin/pages/AdminDashboard": [
413
+ "./dist/dts/ui/admin/pages/AdminDashboard.d.ts"
414
+ ],
415
+ "ui/admin/partials": [
416
+ "./dist/dts/ui/admin/partials.d.ts"
417
+ ],
418
+ "ui/html": [
419
+ "./dist/dts/ui/html.d.ts"
420
+ ],
421
+ "ui/layout": [
422
+ "./dist/dts/ui/layout.d.ts"
423
+ ],
424
+ "ui/pages/dashboard": [
425
+ "./dist/dts/ui/pages/dashboard.d.ts"
426
+ ],
427
+ "ui/pages/requests": [
428
+ "./dist/dts/ui/pages/requests.d.ts"
429
+ ],
430
+ "ui/pages/stubs": [
431
+ "./dist/dts/ui/pages/stubs.d.ts"
432
+ ]
433
+ }
434
+ }
435
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/repositories/ImposterRepository.js",
3
+ "module": "../../dist/esm/repositories/ImposterRepository.js",
4
+ "types": "../../dist/dts/repositories/ImposterRepository.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/schemas/ConfigFileSchema.js",
3
+ "module": "../../dist/esm/schemas/ConfigFileSchema.js",
4
+ "types": "../../dist/dts/schemas/ConfigFileSchema.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/schemas/ImposterSchema.js",
3
+ "module": "../../dist/esm/schemas/ImposterSchema.js",
4
+ "types": "../../dist/dts/schemas/ImposterSchema.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/schemas/RequestLogSchema.js",
3
+ "module": "../../dist/esm/schemas/RequestLogSchema.js",
4
+ "types": "../../dist/dts/schemas/RequestLogSchema.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/schemas/StubSchema.js",
3
+ "module": "../../dist/esm/schemas/StubSchema.js",
4
+ "types": "../../dist/dts/schemas/StubSchema.d.ts",
5
+ "sideEffects": []
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/cjs/schemas/common.js",
3
+ "module": "../../dist/esm/schemas/common.js",
4
+ "types": "../../dist/dts/schemas/common.d.ts",
5
+ "sideEffects": []
6
+ }