@sentzunhat/zacatl 0.0.14 → 0.0.21

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 (718) hide show
  1. package/README.md +292 -207
  2. package/build/architecture/index.d.ts +2 -0
  3. package/build/architecture/index.d.ts.map +1 -0
  4. package/build/architecture/index.js +2 -0
  5. package/build/architecture/index.js.map +1 -0
  6. package/build/configuration/app-config.d.ts +10 -0
  7. package/build/configuration/app-config.d.ts.map +1 -0
  8. package/build/configuration/app-config.js +5 -0
  9. package/build/configuration/app-config.js.map +1 -0
  10. package/build/configuration/index.d.ts +7 -0
  11. package/build/configuration/index.d.ts.map +1 -0
  12. package/build/configuration/index.js +6 -0
  13. package/build/configuration/index.js.map +1 -0
  14. package/build/configuration/legacy.d.ts +10 -0
  15. package/build/configuration/legacy.d.ts.map +1 -0
  16. package/build/configuration/legacy.js +5 -0
  17. package/build/configuration/legacy.js.map +1 -0
  18. package/build/configuration/loader-factory.d.ts +2 -0
  19. package/build/configuration/loader-factory.d.ts.map +1 -0
  20. package/build/configuration/loader-factory.js +2 -0
  21. package/build/configuration/loader-factory.js.map +1 -0
  22. package/build/configuration/loader.d.ts +9 -0
  23. package/build/configuration/loader.d.ts.map +1 -0
  24. package/build/configuration/loader.js +38 -0
  25. package/build/configuration/loader.js.map +1 -0
  26. package/build/configuration/loaders/index.d.ts +3 -0
  27. package/build/configuration/loaders/index.d.ts.map +1 -0
  28. package/build/configuration/loaders/index.js +3 -0
  29. package/build/configuration/loaders/index.js.map +1 -0
  30. package/build/configuration/loaders/json-loader.d.ts +8 -0
  31. package/build/configuration/loaders/json-loader.d.ts.map +1 -0
  32. package/build/configuration/loaders/json-loader.js +18 -0
  33. package/build/configuration/loaders/json-loader.js.map +1 -0
  34. package/build/configuration/loaders/yaml-loader.d.ts +8 -0
  35. package/build/configuration/loaders/yaml-loader.d.ts.map +1 -0
  36. package/build/configuration/loaders/yaml-loader.js +20 -0
  37. package/build/configuration/loaders/yaml-loader.js.map +1 -0
  38. package/build/configuration/types.d.ts +12 -0
  39. package/build/configuration/types.d.ts.map +1 -0
  40. package/build/configuration/types.js +2 -0
  41. package/build/configuration/types.js.map +1 -0
  42. package/build/configuration/validation.d.ts +14 -0
  43. package/build/configuration/validation.d.ts.map +1 -0
  44. package/build/configuration/validation.js +22 -0
  45. package/build/configuration/validation.js.map +1 -0
  46. package/build/configuration.d.ts +2 -0
  47. package/build/configuration.d.ts.map +1 -0
  48. package/build/configuration.js +2 -0
  49. package/build/configuration.js.map +1 -0
  50. package/build/dependency-injection/container.d.ts +9 -0
  51. package/build/dependency-injection/container.d.ts.map +1 -0
  52. package/build/dependency-injection/container.js +22 -0
  53. package/build/dependency-injection/container.js.map +1 -0
  54. package/build/dependency-injection/index.d.ts +2 -0
  55. package/build/dependency-injection/index.d.ts.map +1 -0
  56. package/build/dependency-injection/index.js +2 -0
  57. package/build/dependency-injection/index.js.map +1 -0
  58. package/build/error/bad-request.d.ts +7 -0
  59. package/build/error/bad-request.d.ts.map +1 -0
  60. package/build/error/bad-request.js +13 -0
  61. package/build/error/bad-request.js.map +1 -0
  62. package/build/error/bad-resource.d.ts +7 -0
  63. package/build/error/bad-resource.d.ts.map +1 -0
  64. package/build/error/bad-resource.js +13 -0
  65. package/build/error/bad-resource.js.map +1 -0
  66. package/build/error/custom.d.ts +49 -0
  67. package/build/error/custom.d.ts.map +1 -0
  68. package/build/error/custom.js +65 -0
  69. package/build/error/custom.js.map +1 -0
  70. package/build/error/forbidden.d.ts +7 -0
  71. package/build/error/forbidden.d.ts.map +1 -0
  72. package/build/error/forbidden.js +13 -0
  73. package/build/error/forbidden.js.map +1 -0
  74. package/build/error/index.d.ts +9 -0
  75. package/build/error/index.d.ts.map +1 -0
  76. package/build/error/index.js +9 -0
  77. package/build/error/index.js.map +1 -0
  78. package/build/error/internal-server.d.ts +7 -0
  79. package/build/error/internal-server.d.ts.map +1 -0
  80. package/build/error/internal-server.js +13 -0
  81. package/build/error/internal-server.js.map +1 -0
  82. package/build/error/not-found.d.ts +7 -0
  83. package/build/error/not-found.d.ts.map +1 -0
  84. package/build/error/not-found.js +13 -0
  85. package/build/error/not-found.js.map +1 -0
  86. package/build/error/unauthorized.d.ts +7 -0
  87. package/build/error/unauthorized.d.ts.map +1 -0
  88. package/build/error/unauthorized.js +13 -0
  89. package/build/error/unauthorized.js.map +1 -0
  90. package/build/error/validation.d.ts +7 -0
  91. package/build/error/validation.d.ts.map +1 -0
  92. package/build/error/validation.js +13 -0
  93. package/build/error/validation.js.map +1 -0
  94. package/build/examples/index.d.ts +3 -0
  95. package/build/examples/index.d.ts.map +1 -0
  96. package/build/examples/index.js +3 -0
  97. package/build/examples/index.js.map +1 -0
  98. package/build/examples/providers/file-system-provider.d.ts +13 -0
  99. package/build/examples/providers/file-system-provider.d.ts.map +1 -0
  100. package/build/examples/providers/file-system-provider.js +82 -0
  101. package/build/examples/providers/file-system-provider.js.map +1 -0
  102. package/build/examples/providers/filesystem-provider.d.ts +15 -0
  103. package/build/examples/providers/filesystem-provider.d.ts.map +1 -0
  104. package/build/examples/providers/filesystem-provider.js +139 -0
  105. package/build/examples/providers/filesystem-provider.js.map +1 -0
  106. package/build/examples/providers/index.d.ts +6 -0
  107. package/build/examples/providers/index.d.ts.map +1 -0
  108. package/build/examples/providers/index.js +4 -0
  109. package/build/examples/providers/index.js.map +1 -0
  110. package/build/examples/providers/process-provider.d.ts +19 -0
  111. package/build/examples/providers/process-provider.d.ts.map +1 -0
  112. package/build/examples/providers/process-provider.js +101 -0
  113. package/build/examples/providers/process-provider.js.map +1 -0
  114. package/build/examples/repositories/index.d.ts +3 -0
  115. package/build/examples/repositories/index.d.ts.map +1 -0
  116. package/build/examples/repositories/index.js +3 -0
  117. package/build/examples/repositories/index.js.map +1 -0
  118. package/build/examples/repositories/sqlite-repository.d.ts +14 -0
  119. package/build/examples/repositories/sqlite-repository.d.ts.map +1 -0
  120. package/build/examples/repositories/sqlite-repository.js +111 -0
  121. package/build/examples/repositories/sqlite-repository.js.map +1 -0
  122. package/build/i18n/adapters/index.d.ts +15 -0
  123. package/build/i18n/adapters/index.d.ts.map +1 -0
  124. package/build/i18n/adapters/index.js +46 -0
  125. package/build/i18n/adapters/index.js.map +1 -0
  126. package/build/i18n/i18n.d.ts +6 -0
  127. package/build/i18n/i18n.d.ts.map +1 -0
  128. package/build/i18n/i18n.js +118 -0
  129. package/build/i18n/i18n.js.map +1 -0
  130. package/build/i18n/index.d.ts +5 -0
  131. package/build/i18n/index.d.ts.map +1 -0
  132. package/build/i18n/index.js +4 -0
  133. package/build/i18n/index.js.map +1 -0
  134. package/build/i18n/types.d.ts +22 -0
  135. package/build/i18n/types.d.ts.map +1 -0
  136. package/build/i18n/types.js +2 -0
  137. package/build/i18n/types.js.map +1 -0
  138. package/build/i18n/validation.d.ts +16 -0
  139. package/build/i18n/validation.d.ts.map +1 -0
  140. package/build/i18n/validation.js +23 -0
  141. package/build/i18n/validation.js.map +1 -0
  142. package/build/index.d.ts +20 -0
  143. package/build/index.d.ts.map +1 -0
  144. package/build/index.js +16 -0
  145. package/build/index.js.map +1 -0
  146. package/build/intl/adapters/index.d.ts +15 -0
  147. package/build/intl/adapters/index.d.ts.map +1 -0
  148. package/build/intl/adapters/index.js +46 -0
  149. package/build/intl/adapters/index.js.map +1 -0
  150. package/build/intl/index.d.ts +5 -0
  151. package/build/intl/index.d.ts.map +1 -0
  152. package/build/intl/index.js +4 -0
  153. package/build/intl/index.js.map +1 -0
  154. package/build/intl/intl.d.ts +6 -0
  155. package/build/intl/intl.d.ts.map +1 -0
  156. package/build/intl/intl.js +118 -0
  157. package/build/intl/intl.js.map +1 -0
  158. package/build/intl/types.d.ts +22 -0
  159. package/build/intl/types.d.ts.map +1 -0
  160. package/build/intl/types.js +2 -0
  161. package/build/intl/types.js.map +1 -0
  162. package/build/intl/validation.d.ts +16 -0
  163. package/build/intl/validation.d.ts.map +1 -0
  164. package/build/intl/validation.js +23 -0
  165. package/build/intl/validation.js.map +1 -0
  166. package/build/localization/adapters/index.d.ts +15 -0
  167. package/build/localization/adapters/index.d.ts.map +1 -0
  168. package/build/localization/adapters/index.js +46 -0
  169. package/build/localization/adapters/index.js.map +1 -0
  170. package/build/localization/i18n.d.ts +6 -0
  171. package/build/localization/i18n.d.ts.map +1 -0
  172. package/build/localization/i18n.js +118 -0
  173. package/build/localization/i18n.js.map +1 -0
  174. package/build/localization/index.d.ts +5 -0
  175. package/build/localization/index.d.ts.map +1 -0
  176. package/build/localization/index.js +4 -0
  177. package/build/localization/index.js.map +1 -0
  178. package/build/localization/intl.d.ts +6 -0
  179. package/build/localization/intl.d.ts.map +1 -0
  180. package/build/localization/intl.js +120 -0
  181. package/build/localization/intl.js.map +1 -0
  182. package/build/localization/localization.d.ts +6 -0
  183. package/build/localization/localization.d.ts.map +1 -0
  184. package/build/localization/localization.js +120 -0
  185. package/build/localization/localization.js.map +1 -0
  186. package/build/localization/types.d.ts +22 -0
  187. package/build/localization/types.d.ts.map +1 -0
  188. package/build/localization/types.js +2 -0
  189. package/build/localization/types.js.map +1 -0
  190. package/build/localization/validation.d.ts +16 -0
  191. package/build/localization/validation.d.ts.map +1 -0
  192. package/build/localization/validation.js +23 -0
  193. package/build/localization/validation.js.map +1 -0
  194. package/build/logs/adapters/console-adapter.d.ts +18 -0
  195. package/build/logs/adapters/console-adapter.d.ts.map +1 -0
  196. package/build/logs/adapters/console-adapter.js +65 -0
  197. package/build/logs/adapters/console-adapter.js.map +1 -0
  198. package/build/logs/adapters/pino-adapter.d.ts +14 -0
  199. package/build/logs/adapters/pino-adapter.d.ts.map +1 -0
  200. package/build/logs/adapters/pino-adapter.js +30 -0
  201. package/build/logs/adapters/pino-adapter.js.map +1 -0
  202. package/build/logs/config.d.ts +9 -0
  203. package/build/logs/config.d.ts.map +1 -0
  204. package/build/logs/config.js +34 -0
  205. package/build/logs/config.js.map +1 -0
  206. package/build/logs/index.d.ts +6 -0
  207. package/build/logs/index.d.ts.map +1 -0
  208. package/build/logs/index.js +5 -0
  209. package/build/logs/index.js.map +1 -0
  210. package/build/logs/logger.d.ts +4 -0
  211. package/build/logs/logger.d.ts.map +1 -0
  212. package/build/logs/logger.js +14 -0
  213. package/build/logs/logger.js.map +1 -0
  214. package/build/logs/types.d.ts +23 -0
  215. package/build/logs/types.d.ts.map +1 -0
  216. package/build/logs/types.js +2 -0
  217. package/build/logs/types.js.map +1 -0
  218. package/build/logs.d.ts +4 -0
  219. package/build/logs.d.ts.map +1 -0
  220. package/build/logs.js +3 -0
  221. package/build/logs.js.map +1 -0
  222. package/build/micro-service/architecture/application/application.d.ts +22 -0
  223. package/build/micro-service/architecture/application/application.d.ts.map +1 -0
  224. package/build/micro-service/architecture/application/application.js +25 -0
  225. package/build/micro-service/architecture/application/application.js.map +1 -0
  226. package/build/micro-service/architecture/application/entry-points/index.d.ts +2 -0
  227. package/build/micro-service/architecture/application/entry-points/index.d.ts.map +1 -0
  228. package/build/micro-service/architecture/application/entry-points/index.js +2 -0
  229. package/build/micro-service/architecture/application/entry-points/index.js.map +1 -0
  230. package/build/micro-service/architecture/application/entry-points/rest/common/handler.d.ts +4 -0
  231. package/build/micro-service/architecture/application/entry-points/rest/common/handler.d.ts.map +1 -0
  232. package/build/micro-service/architecture/application/entry-points/rest/common/handler.js +2 -0
  233. package/build/micro-service/architecture/application/entry-points/rest/common/handler.js.map +1 -0
  234. package/build/micro-service/architecture/application/entry-points/rest/common/index.d.ts +3 -0
  235. package/build/micro-service/architecture/application/entry-points/rest/common/index.d.ts.map +1 -0
  236. package/build/micro-service/architecture/application/entry-points/rest/common/index.js +3 -0
  237. package/build/micro-service/architecture/application/entry-points/rest/common/index.js.map +1 -0
  238. package/build/micro-service/architecture/application/entry-points/rest/common/request.d.ts +9 -0
  239. package/build/micro-service/architecture/application/entry-points/rest/common/request.d.ts.map +1 -0
  240. package/build/micro-service/architecture/application/entry-points/rest/common/request.js +2 -0
  241. package/build/micro-service/architecture/application/entry-points/rest/common/request.js.map +1 -0
  242. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts +7 -0
  243. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts.map +1 -0
  244. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js +2 -0
  245. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js.map +1 -0
  246. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.d.ts +2 -0
  247. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.d.ts.map +1 -0
  248. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.js +2 -0
  249. package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.js.map +1 -0
  250. package/build/micro-service/architecture/application/entry-points/rest/index.d.ts +4 -0
  251. package/build/micro-service/architecture/application/entry-points/rest/index.d.ts.map +1 -0
  252. package/build/micro-service/architecture/application/entry-points/rest/index.js +4 -0
  253. package/build/micro-service/architecture/application/entry-points/rest/index.js.map +1 -0
  254. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts +26 -0
  255. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts.map +1 -0
  256. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.js +21 -0
  257. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.js.map +1 -0
  258. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.d.ts +8 -0
  259. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.d.ts.map +1 -0
  260. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.js +10 -0
  261. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.js.map +1 -0
  262. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts +10 -0
  263. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts.map +1 -0
  264. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js +11 -0
  265. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js.map +1 -0
  266. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.d.ts +6 -0
  267. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.d.ts.map +1 -0
  268. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.js +6 -0
  269. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.js.map +1 -0
  270. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts +10 -0
  271. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts.map +1 -0
  272. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js +11 -0
  273. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js.map +1 -0
  274. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts +9 -0
  275. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts.map +1 -0
  276. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.js +2 -0
  277. package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.js.map +1 -0
  278. package/build/micro-service/architecture/application/index.d.ts +3 -0
  279. package/build/micro-service/architecture/application/index.d.ts.map +1 -0
  280. package/build/micro-service/architecture/application/index.js +3 -0
  281. package/build/micro-service/architecture/application/index.js.map +1 -0
  282. package/build/micro-service/architecture/architecture.d.ts +11 -0
  283. package/build/micro-service/architecture/architecture.d.ts.map +1 -0
  284. package/build/micro-service/architecture/architecture.js +20 -0
  285. package/build/micro-service/architecture/architecture.js.map +1 -0
  286. package/build/micro-service/architecture/domain/domain.d.ts +11 -0
  287. package/build/micro-service/architecture/domain/domain.d.ts.map +1 -0
  288. package/build/micro-service/architecture/domain/domain.js +25 -0
  289. package/build/micro-service/architecture/domain/domain.js.map +1 -0
  290. package/build/micro-service/architecture/domain/index.d.ts +3 -0
  291. package/build/micro-service/architecture/domain/index.d.ts.map +1 -0
  292. package/build/micro-service/architecture/domain/index.js +3 -0
  293. package/build/micro-service/architecture/domain/index.js.map +1 -0
  294. package/build/micro-service/architecture/domain/provider.d.ts +6 -0
  295. package/build/micro-service/architecture/domain/provider.d.ts.map +1 -0
  296. package/build/micro-service/architecture/domain/provider.js +7 -0
  297. package/build/micro-service/architecture/domain/provider.js.map +1 -0
  298. package/build/micro-service/architecture/index.d.ts +6 -0
  299. package/build/micro-service/architecture/index.d.ts.map +1 -0
  300. package/build/micro-service/architecture/index.js +6 -0
  301. package/build/micro-service/architecture/index.js.map +1 -0
  302. package/build/micro-service/architecture/infrastructure/index.d.ts +3 -0
  303. package/build/micro-service/architecture/infrastructure/index.d.ts.map +1 -0
  304. package/{src/micro-service/architecture/infrastructure/index.ts → build/micro-service/architecture/infrastructure/index.js} +1 -0
  305. package/build/micro-service/architecture/infrastructure/index.js.map +1 -0
  306. package/build/micro-service/architecture/infrastructure/infrastructure.d.ts +10 -0
  307. package/build/micro-service/architecture/infrastructure/infrastructure.d.ts.map +1 -0
  308. package/build/micro-service/architecture/infrastructure/infrastructure.js +12 -0
  309. package/build/micro-service/architecture/infrastructure/infrastructure.js.map +1 -0
  310. package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts +13 -0
  311. package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts.map +1 -0
  312. package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.js +92 -0
  313. package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.js.map +1 -0
  314. package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts +12 -0
  315. package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts.map +1 -0
  316. package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.js +49 -0
  317. package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.js.map +1 -0
  318. package/build/micro-service/architecture/infrastructure/orm/index.d.ts +3 -0
  319. package/build/micro-service/architecture/infrastructure/orm/index.d.ts.map +1 -0
  320. package/build/micro-service/architecture/infrastructure/orm/index.js +3 -0
  321. package/build/micro-service/architecture/infrastructure/orm/index.js.map +1 -0
  322. package/build/micro-service/architecture/infrastructure/repositories/abstract.d.ts +19 -0
  323. package/build/micro-service/architecture/infrastructure/repositories/abstract.d.ts.map +1 -0
  324. package/build/micro-service/architecture/infrastructure/repositories/abstract.js +64 -0
  325. package/build/micro-service/architecture/infrastructure/repositories/abstract.js.map +1 -0
  326. package/build/micro-service/architecture/infrastructure/repositories/index.d.ts +2 -0
  327. package/build/micro-service/architecture/infrastructure/repositories/index.d.ts.map +1 -0
  328. package/build/micro-service/architecture/infrastructure/repositories/index.js +2 -0
  329. package/build/micro-service/architecture/infrastructure/repositories/index.js.map +1 -0
  330. package/build/micro-service/architecture/infrastructure/repositories/mongoose.d.ts +13 -0
  331. package/build/micro-service/architecture/infrastructure/repositories/mongoose.d.ts.map +1 -0
  332. package/build/micro-service/architecture/infrastructure/repositories/mongoose.js +92 -0
  333. package/build/micro-service/architecture/infrastructure/repositories/mongoose.js.map +1 -0
  334. package/build/micro-service/architecture/infrastructure/repositories/sequelize.d.ts +12 -0
  335. package/build/micro-service/architecture/infrastructure/repositories/sequelize.d.ts.map +1 -0
  336. package/build/micro-service/architecture/infrastructure/repositories/sequelize.js +49 -0
  337. package/build/micro-service/architecture/infrastructure/repositories/sequelize.js.map +1 -0
  338. package/build/micro-service/architecture/infrastructure/repositories/types.d.ts +43 -0
  339. package/build/micro-service/architecture/infrastructure/repositories/types.d.ts.map +1 -0
  340. package/build/micro-service/architecture/infrastructure/repositories/types.js +2 -0
  341. package/build/micro-service/architecture/infrastructure/repositories/types.js.map +1 -0
  342. package/build/micro-service/architecture/infrastructure/repository-interface.d.ts +9 -0
  343. package/build/micro-service/architecture/infrastructure/repository-interface.d.ts.map +1 -0
  344. package/build/micro-service/architecture/infrastructure/repository-interface.js +2 -0
  345. package/build/micro-service/architecture/infrastructure/repository-interface.js.map +1 -0
  346. package/build/micro-service/architecture/infrastructure/repository.d.ts +9 -0
  347. package/build/micro-service/architecture/infrastructure/repository.d.ts.map +1 -0
  348. package/build/micro-service/architecture/infrastructure/repository.js +2 -0
  349. package/build/micro-service/architecture/infrastructure/repository.js.map +1 -0
  350. package/build/micro-service/architecture/platform/index.d.ts +6 -0
  351. package/build/micro-service/architecture/platform/index.d.ts.map +1 -0
  352. package/build/micro-service/architecture/platform/index.js +5 -0
  353. package/build/micro-service/architecture/platform/index.js.map +1 -0
  354. package/build/micro-service/architecture/platform/micro-service.d.ts +24 -0
  355. package/build/micro-service/architecture/platform/micro-service.d.ts.map +1 -0
  356. package/build/micro-service/architecture/platform/micro-service.js +40 -0
  357. package/build/micro-service/architecture/platform/micro-service.js.map +1 -0
  358. package/build/micro-service/architecture/platform/page/index.d.ts +2 -0
  359. package/build/micro-service/architecture/platform/page/index.d.ts.map +1 -0
  360. package/build/micro-service/architecture/platform/page/index.js +2 -0
  361. package/build/micro-service/architecture/platform/page/index.js.map +1 -0
  362. package/build/micro-service/architecture/platform/page/page.d.ts +16 -0
  363. package/build/micro-service/architecture/platform/page/page.d.ts.map +1 -0
  364. package/build/micro-service/architecture/platform/page/page.js +38 -0
  365. package/build/micro-service/architecture/platform/page/page.js.map +1 -0
  366. package/build/micro-service/architecture/platform/server/adapters/express-adapter.d.ts +15 -0
  367. package/build/micro-service/architecture/platform/server/adapters/express-adapter.d.ts.map +1 -0
  368. package/build/micro-service/architecture/platform/server/adapters/express-adapter.js +91 -0
  369. package/build/micro-service/architecture/platform/server/adapters/express-adapter.js.map +1 -0
  370. package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.d.ts +15 -0
  371. package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.d.ts.map +1 -0
  372. package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.js +54 -0
  373. package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.js.map +1 -0
  374. package/build/micro-service/architecture/platform/server/adapters/index.d.ts +3 -0
  375. package/build/micro-service/architecture/platform/server/adapters/index.d.ts.map +1 -0
  376. package/build/micro-service/architecture/platform/server/adapters/index.js +3 -0
  377. package/build/micro-service/architecture/platform/server/adapters/index.js.map +1 -0
  378. package/build/micro-service/architecture/platform/server/index.d.ts +2 -0
  379. package/build/micro-service/architecture/platform/server/index.d.ts.map +1 -0
  380. package/build/micro-service/architecture/platform/server/index.js +2 -0
  381. package/build/micro-service/architecture/platform/server/index.js.map +1 -0
  382. package/build/micro-service/architecture/platform/server/server-adapter.d.ts +21 -0
  383. package/build/micro-service/architecture/platform/server/server-adapter.d.ts.map +1 -0
  384. package/build/micro-service/architecture/platform/server/server-adapter.js +2 -0
  385. package/build/micro-service/architecture/platform/server/server-adapter.js.map +1 -0
  386. package/build/micro-service/architecture/platform/server/server.d.ts +97 -0
  387. package/build/micro-service/architecture/platform/server/server.d.ts.map +1 -0
  388. package/build/micro-service/architecture/platform/server/server.js +219 -0
  389. package/build/micro-service/architecture/platform/server/server.js.map +1 -0
  390. package/build/micro-service/index.d.ts +2 -0
  391. package/build/micro-service/index.d.ts.map +1 -0
  392. package/build/micro-service/index.js +2 -0
  393. package/build/micro-service/index.js.map +1 -0
  394. package/build/optionals.d.ts +4 -0
  395. package/build/optionals.d.ts.map +1 -0
  396. package/build/optionals.js +2 -0
  397. package/build/optionals.js.map +1 -0
  398. package/build/orm-exports.d.ts +5 -0
  399. package/build/orm-exports.d.ts.map +1 -0
  400. package/build/orm-exports.js +3 -0
  401. package/build/orm-exports.js.map +1 -0
  402. package/build/runtime/detector.d.ts +7 -0
  403. package/build/runtime/detector.d.ts.map +1 -0
  404. package/build/runtime/detector.js +28 -0
  405. package/build/runtime/detector.js.map +1 -0
  406. package/build/runtime/index.d.ts +3 -0
  407. package/build/runtime/index.d.ts.map +1 -0
  408. package/build/runtime/index.js +3 -0
  409. package/build/runtime/index.js.map +1 -0
  410. package/build/runtime/types.d.ts +8 -0
  411. package/build/runtime/types.d.ts.map +1 -0
  412. package/build/runtime/types.js +2 -0
  413. package/build/runtime/types.js.map +1 -0
  414. package/build/service/architecture/application/application.d.ts +22 -0
  415. package/build/service/architecture/application/application.d.ts.map +1 -0
  416. package/build/service/architecture/application/application.js +25 -0
  417. package/build/service/architecture/application/application.js.map +1 -0
  418. package/build/service/architecture/application/entry-points/index.d.ts +2 -0
  419. package/build/service/architecture/application/entry-points/index.d.ts.map +1 -0
  420. package/build/service/architecture/application/entry-points/index.js +2 -0
  421. package/build/service/architecture/application/entry-points/index.js.map +1 -0
  422. package/build/service/architecture/application/entry-points/rest/common/handler.d.ts +4 -0
  423. package/build/service/architecture/application/entry-points/rest/common/handler.d.ts.map +1 -0
  424. package/build/service/architecture/application/entry-points/rest/common/handler.js +2 -0
  425. package/build/service/architecture/application/entry-points/rest/common/handler.js.map +1 -0
  426. package/build/service/architecture/application/entry-points/rest/common/index.d.ts +3 -0
  427. package/build/service/architecture/application/entry-points/rest/common/index.d.ts.map +1 -0
  428. package/build/service/architecture/application/entry-points/rest/common/index.js +3 -0
  429. package/build/service/architecture/application/entry-points/rest/common/index.js.map +1 -0
  430. package/build/service/architecture/application/entry-points/rest/common/request.d.ts +9 -0
  431. package/build/service/architecture/application/entry-points/rest/common/request.d.ts.map +1 -0
  432. package/build/service/architecture/application/entry-points/rest/common/request.js +2 -0
  433. package/build/service/architecture/application/entry-points/rest/common/request.js.map +1 -0
  434. package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts +7 -0
  435. package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts.map +1 -0
  436. package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js +2 -0
  437. package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js.map +1 -0
  438. package/build/service/architecture/application/entry-points/rest/hook-handlers/index.d.ts +2 -0
  439. package/build/service/architecture/application/entry-points/rest/hook-handlers/index.d.ts.map +1 -0
  440. package/build/service/architecture/application/entry-points/rest/hook-handlers/index.js +2 -0
  441. package/build/service/architecture/application/entry-points/rest/hook-handlers/index.js.map +1 -0
  442. package/build/service/architecture/application/entry-points/rest/index.d.ts +4 -0
  443. package/build/service/architecture/application/entry-points/rest/index.d.ts.map +1 -0
  444. package/build/service/architecture/application/entry-points/rest/index.js +4 -0
  445. package/build/service/architecture/application/entry-points/rest/index.js.map +1 -0
  446. package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts +27 -0
  447. package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts.map +1 -0
  448. package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.js +21 -0
  449. package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.js.map +1 -0
  450. package/build/service/architecture/application/entry-points/rest/route-handlers/generics.d.ts +8 -0
  451. package/build/service/architecture/application/entry-points/rest/route-handlers/generics.d.ts.map +1 -0
  452. package/build/service/architecture/application/entry-points/rest/route-handlers/generics.js +10 -0
  453. package/build/service/architecture/application/entry-points/rest/route-handlers/generics.js.map +1 -0
  454. package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts +10 -0
  455. package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts.map +1 -0
  456. package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js +11 -0
  457. package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js.map +1 -0
  458. package/build/service/architecture/application/entry-points/rest/route-handlers/index.d.ts +6 -0
  459. package/build/service/architecture/application/entry-points/rest/route-handlers/index.d.ts.map +1 -0
  460. package/build/service/architecture/application/entry-points/rest/route-handlers/index.js +6 -0
  461. package/build/service/architecture/application/entry-points/rest/route-handlers/index.js.map +1 -0
  462. package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts +11 -0
  463. package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts.map +1 -0
  464. package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js +11 -0
  465. package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js.map +1 -0
  466. package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts +9 -0
  467. package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts.map +1 -0
  468. package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.js +2 -0
  469. package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.js.map +1 -0
  470. package/build/service/architecture/application/index.d.ts +3 -0
  471. package/build/service/architecture/application/index.d.ts.map +1 -0
  472. package/build/service/architecture/application/index.js +3 -0
  473. package/build/service/architecture/application/index.js.map +1 -0
  474. package/build/service/architecture/architecture.d.ts +11 -0
  475. package/build/service/architecture/architecture.d.ts.map +1 -0
  476. package/build/service/architecture/architecture.js +20 -0
  477. package/build/service/architecture/architecture.js.map +1 -0
  478. package/build/service/architecture/domain/domain.d.ts +11 -0
  479. package/build/service/architecture/domain/domain.d.ts.map +1 -0
  480. package/build/service/architecture/domain/domain.js +25 -0
  481. package/build/service/architecture/domain/domain.js.map +1 -0
  482. package/build/service/architecture/domain/index.d.ts +3 -0
  483. package/build/service/architecture/domain/index.d.ts.map +1 -0
  484. package/build/service/architecture/domain/index.js +3 -0
  485. package/build/service/architecture/domain/index.js.map +1 -0
  486. package/build/service/architecture/domain/provider.d.ts +6 -0
  487. package/build/service/architecture/domain/provider.d.ts.map +1 -0
  488. package/build/service/architecture/domain/provider.js +7 -0
  489. package/build/service/architecture/domain/provider.js.map +1 -0
  490. package/build/service/architecture/index.d.ts +6 -0
  491. package/build/service/architecture/index.d.ts.map +1 -0
  492. package/build/service/architecture/index.js +6 -0
  493. package/build/service/architecture/index.js.map +1 -0
  494. package/build/service/architecture/infrastructure/index.d.ts +7 -0
  495. package/build/service/architecture/infrastructure/index.d.ts.map +1 -0
  496. package/build/service/architecture/infrastructure/index.js +5 -0
  497. package/build/service/architecture/infrastructure/index.js.map +1 -0
  498. package/build/service/architecture/infrastructure/infrastructure.d.ts +10 -0
  499. package/build/service/architecture/infrastructure/infrastructure.d.ts.map +1 -0
  500. package/build/service/architecture/infrastructure/infrastructure.js +12 -0
  501. package/build/service/architecture/infrastructure/infrastructure.js.map +1 -0
  502. package/build/service/architecture/infrastructure/orm/adapter-loader.d.ts +5 -0
  503. package/build/service/architecture/infrastructure/orm/adapter-loader.d.ts.map +1 -0
  504. package/build/service/architecture/infrastructure/orm/adapter-loader.js +25 -0
  505. package/build/service/architecture/infrastructure/orm/adapter-loader.js.map +1 -0
  506. package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts +13 -0
  507. package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts.map +1 -0
  508. package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.js +90 -0
  509. package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.js.map +1 -0
  510. package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts +12 -0
  511. package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts.map +1 -0
  512. package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.js +49 -0
  513. package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.js.map +1 -0
  514. package/build/service/architecture/infrastructure/orm/index.d.ts +3 -0
  515. package/build/service/architecture/infrastructure/orm/index.d.ts.map +1 -0
  516. package/build/service/architecture/infrastructure/orm/index.js +3 -0
  517. package/build/service/architecture/infrastructure/orm/index.js.map +1 -0
  518. package/build/service/architecture/infrastructure/repositories/abstract.d.ts +20 -0
  519. package/build/service/architecture/infrastructure/repositories/abstract.d.ts.map +1 -0
  520. package/build/service/architecture/infrastructure/repositories/abstract.js +63 -0
  521. package/build/service/architecture/infrastructure/repositories/abstract.js.map +1 -0
  522. package/build/service/architecture/infrastructure/repositories/index.d.ts +2 -0
  523. package/build/service/architecture/infrastructure/repositories/index.d.ts.map +1 -0
  524. package/build/service/architecture/infrastructure/repositories/index.js +2 -0
  525. package/build/service/architecture/infrastructure/repositories/index.js.map +1 -0
  526. package/build/service/architecture/infrastructure/repositories/mongoose.d.ts +13 -0
  527. package/build/service/architecture/infrastructure/repositories/mongoose.d.ts.map +1 -0
  528. package/build/service/architecture/infrastructure/repositories/mongoose.js +92 -0
  529. package/build/service/architecture/infrastructure/repositories/mongoose.js.map +1 -0
  530. package/build/service/architecture/infrastructure/repositories/sequelize.d.ts +12 -0
  531. package/build/service/architecture/infrastructure/repositories/sequelize.d.ts.map +1 -0
  532. package/build/service/architecture/infrastructure/repositories/sequelize.js +49 -0
  533. package/build/service/architecture/infrastructure/repositories/sequelize.js.map +1 -0
  534. package/build/service/architecture/infrastructure/repositories/types.d.ts +47 -0
  535. package/build/service/architecture/infrastructure/repositories/types.d.ts.map +1 -0
  536. package/build/service/architecture/infrastructure/repositories/types.js +6 -0
  537. package/build/service/architecture/infrastructure/repositories/types.js.map +1 -0
  538. package/build/service/architecture/infrastructure/repository-interface.d.ts +9 -0
  539. package/build/service/architecture/infrastructure/repository-interface.d.ts.map +1 -0
  540. package/build/service/architecture/infrastructure/repository-interface.js +2 -0
  541. package/build/service/architecture/infrastructure/repository-interface.js.map +1 -0
  542. package/build/service/architecture/infrastructure/repository.d.ts +9 -0
  543. package/build/service/architecture/infrastructure/repository.d.ts.map +1 -0
  544. package/build/service/architecture/infrastructure/repository.js +2 -0
  545. package/build/service/architecture/infrastructure/repository.js.map +1 -0
  546. package/build/service/architecture/platform/index.d.ts +6 -0
  547. package/build/service/architecture/platform/index.d.ts.map +1 -0
  548. package/build/service/architecture/platform/index.js +5 -0
  549. package/build/service/architecture/platform/index.js.map +1 -0
  550. package/build/service/architecture/platform/page/index.d.ts +2 -0
  551. package/build/service/architecture/platform/page/index.d.ts.map +1 -0
  552. package/build/service/architecture/platform/page/index.js +2 -0
  553. package/build/service/architecture/platform/page/index.js.map +1 -0
  554. package/build/service/architecture/platform/page/page.d.ts +16 -0
  555. package/build/service/architecture/platform/page/page.d.ts.map +1 -0
  556. package/build/service/architecture/platform/page/page.js +38 -0
  557. package/build/service/architecture/platform/page/page.js.map +1 -0
  558. package/build/service/architecture/platform/server/adapters/express-adapter.d.ts +15 -0
  559. package/build/service/architecture/platform/server/adapters/express-adapter.d.ts.map +1 -0
  560. package/build/service/architecture/platform/server/adapters/express-adapter.js +91 -0
  561. package/build/service/architecture/platform/server/adapters/express-adapter.js.map +1 -0
  562. package/build/service/architecture/platform/server/adapters/fastify-adapter.d.ts +15 -0
  563. package/build/service/architecture/platform/server/adapters/fastify-adapter.d.ts.map +1 -0
  564. package/build/service/architecture/platform/server/adapters/fastify-adapter.js +54 -0
  565. package/build/service/architecture/platform/server/adapters/fastify-adapter.js.map +1 -0
  566. package/build/service/architecture/platform/server/adapters/index.d.ts +3 -0
  567. package/build/service/architecture/platform/server/adapters/index.d.ts.map +1 -0
  568. package/build/service/architecture/platform/server/adapters/index.js +3 -0
  569. package/build/service/architecture/platform/server/adapters/index.js.map +1 -0
  570. package/build/service/architecture/platform/server/index.d.ts +2 -0
  571. package/build/service/architecture/platform/server/index.d.ts.map +1 -0
  572. package/build/service/architecture/platform/server/index.js +2 -0
  573. package/build/service/architecture/platform/server/index.js.map +1 -0
  574. package/build/service/architecture/platform/server/server-adapter.d.ts +21 -0
  575. package/build/service/architecture/platform/server/server-adapter.d.ts.map +1 -0
  576. package/build/service/architecture/platform/server/server-adapter.js +2 -0
  577. package/build/service/architecture/platform/server/server-adapter.js.map +1 -0
  578. package/build/service/architecture/platform/server/server.d.ts +97 -0
  579. package/build/service/architecture/platform/server/server.d.ts.map +1 -0
  580. package/build/service/architecture/platform/server/server.js +219 -0
  581. package/build/service/architecture/platform/server/server.js.map +1 -0
  582. package/build/service/architecture/platform/service.d.ts +24 -0
  583. package/build/service/architecture/platform/service.d.ts.map +1 -0
  584. package/build/service/architecture/platform/service.js +40 -0
  585. package/build/service/architecture/platform/service.js.map +1 -0
  586. package/build/service/index.d.ts +2 -0
  587. package/build/service/index.d.ts.map +1 -0
  588. package/build/service/index.js +2 -0
  589. package/build/service/index.js.map +1 -0
  590. package/build/test/tsconfig.tsbuildinfo +1 -0
  591. package/build/utils/base64.d.ts +3 -0
  592. package/build/utils/base64.d.ts.map +1 -0
  593. package/build/utils/base64.js +7 -0
  594. package/build/utils/base64.js.map +1 -0
  595. package/build/utils/hmac.d.ts +2 -0
  596. package/build/utils/hmac.d.ts.map +1 -0
  597. package/build/utils/hmac.js +7 -0
  598. package/build/utils/hmac.js.map +1 -0
  599. package/build/utils/index.d.ts +3 -0
  600. package/build/utils/index.d.ts.map +1 -0
  601. package/build/utils/index.js +3 -0
  602. package/build/utils/index.js.map +1 -0
  603. package/package.json +110 -27
  604. package/src/configuration/app-config.ts +24 -0
  605. package/src/configuration/index.ts +20 -0
  606. package/src/configuration/loader-factory.ts +1 -0
  607. package/src/configuration/loader.ts +70 -0
  608. package/src/configuration/loaders/index.ts +2 -0
  609. package/src/configuration/loaders/json-loader.ts +32 -0
  610. package/src/configuration/loaders/yaml-loader.ts +32 -0
  611. package/src/configuration/types.ts +32 -0
  612. package/src/configuration/validation.ts +50 -0
  613. package/src/dependency-injection/container.ts +92 -0
  614. package/src/dependency-injection/index.ts +1 -0
  615. package/src/error/custom.ts +52 -1
  616. package/src/examples/index.ts +2 -0
  617. package/src/examples/providers/filesystem-provider.ts +198 -0
  618. package/src/examples/providers/index.ts +6 -0
  619. package/src/examples/providers/process-provider.ts +150 -0
  620. package/src/examples/repositories/index.ts +3 -0
  621. package/src/examples/repositories/sqlite-repository.ts +170 -0
  622. package/src/index.ts +32 -2
  623. package/src/locales/en.json +1 -9
  624. package/src/locales/fr.json +1 -9
  625. package/src/localization/adapters/index.ts +90 -0
  626. package/src/localization/index.ts +16 -0
  627. package/src/localization/locales/en.json +9 -0
  628. package/src/localization/locales/es.json +9 -0
  629. package/src/localization/localization.ts +222 -0
  630. package/src/localization/types.ts +110 -0
  631. package/src/localization/validation.ts +43 -0
  632. package/src/logs/adapters/console-adapter.ts +90 -0
  633. package/src/logs/adapters/pino-adapter.ts +65 -0
  634. package/src/logs/config.ts +53 -0
  635. package/src/logs/index.ts +16 -0
  636. package/src/logs/logger.ts +66 -0
  637. package/src/logs/types.ts +44 -0
  638. package/src/orm-exports.ts +23 -0
  639. package/src/runtime/detector.ts +61 -0
  640. package/src/runtime/index.ts +2 -0
  641. package/src/runtime/types.ts +18 -0
  642. package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/abstract.ts +8 -7
  643. package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/post-route-handler.ts +3 -1
  644. package/src/service/architecture/domain/domain.ts +36 -0
  645. package/src/service/architecture/domain/index.ts +2 -0
  646. package/src/service/architecture/domain/provider.ts +9 -0
  647. package/src/service/architecture/infrastructure/index.ts +48 -0
  648. package/src/service/architecture/infrastructure/orm/adapter-loader.ts +52 -0
  649. package/src/service/architecture/infrastructure/orm/adapters/mongoose-adapter.ts +133 -0
  650. package/src/service/architecture/infrastructure/orm/adapters/sequelize-adapter.ts +75 -0
  651. package/src/service/architecture/infrastructure/orm/index.ts +2 -0
  652. package/src/service/architecture/infrastructure/repositories/abstract.ts +112 -0
  653. package/src/service/architecture/infrastructure/repositories/types.ts +125 -0
  654. package/src/service/architecture/infrastructure/repository-interface.ts +35 -0
  655. package/src/service/architecture/infrastructure/repository.ts +75 -0
  656. package/src/service/architecture/platform/index.ts +5 -0
  657. package/src/service/architecture/platform/page/index.ts +1 -0
  658. package/src/service/architecture/platform/page/page.ts +52 -0
  659. package/src/service/architecture/platform/server/adapters/express-adapter.ts +112 -0
  660. package/src/service/architecture/platform/server/adapters/fastify-adapter.ts +61 -0
  661. package/src/service/architecture/platform/server/adapters/index.ts +2 -0
  662. package/src/service/architecture/platform/server/index.ts +1 -0
  663. package/src/service/architecture/platform/server/server-adapter.ts +23 -0
  664. package/src/{micro-service/architecture/platform/service/service.ts → service/architecture/platform/server/server.ts} +73 -90
  665. package/src/service/architecture/platform/service.ts +63 -0
  666. package/context.yaml +0 -151
  667. package/eslint.config.mjs +0 -59
  668. package/guidelines.yaml +0 -74
  669. package/mongodb.yaml +0 -29
  670. package/patterns.yaml +0 -55
  671. package/src/configuration.ts +0 -13
  672. package/src/logs.ts +0 -77
  673. package/src/micro-service/architecture/domain/domain.ts +0 -19
  674. package/src/micro-service/architecture/domain/index.ts +0 -1
  675. package/src/micro-service/architecture/infrastructure/repositories/abstract.ts +0 -90
  676. package/src/micro-service/architecture/infrastructure/repositories/mongoose.ts +0 -124
  677. package/src/micro-service/architecture/infrastructure/repositories/sequelize.ts +0 -70
  678. package/src/micro-service/architecture/infrastructure/repositories/types.ts +0 -69
  679. package/src/micro-service/architecture/platform/index.ts +0 -2
  680. package/src/micro-service/architecture/platform/micro-service.ts +0 -53
  681. package/src/micro-service/architecture/platform/service/index.ts +0 -1
  682. package/start.md +0 -34
  683. package/test/tsconfig.json +0 -9
  684. package/test/unit/helpers/common/common.ts +0 -32
  685. package/test/unit/helpers/common/logger.ts +0 -8
  686. package/test/unit/helpers/database/mongo.ts +0 -77
  687. package/test/unit/lib/global-setup.ts +0 -79
  688. package/test/unit/lib/setup-files.ts +0 -16
  689. package/test/unit/micro-service/architecture/application/application.test.ts +0 -60
  690. package/test/unit/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.test.ts +0 -62
  691. package/test/unit/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.test.ts +0 -38
  692. package/test/unit/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.test.ts +0 -45
  693. package/test/unit/micro-service/architecture/architecture.test.ts +0 -64
  694. package/test/unit/micro-service/architecture/domain/domain.test.ts +0 -35
  695. package/test/unit/micro-service/architecture/infrastructure/infrastructure.test.ts +0 -33
  696. package/test/unit/micro-service/architecture/infrastructure/repositories/abstract.test.ts +0 -86
  697. package/test/unit/micro-service/architecture/platform/micro-service.test.ts +0 -86
  698. package/test/unit/micro-service/architecture/platform/service/service.test.ts +0 -200
  699. package/tsconfig.json +0 -63
  700. package/vite.config.mjs +0 -44
  701. /package/src/{micro-service → service}/architecture/application/application.ts +0 -0
  702. /package/src/{micro-service → service}/architecture/application/entry-points/index.ts +0 -0
  703. /package/src/{micro-service → service}/architecture/application/entry-points/rest/common/handler.ts +0 -0
  704. /package/src/{micro-service → service}/architecture/application/entry-points/rest/common/index.ts +0 -0
  705. /package/src/{micro-service → service}/architecture/application/entry-points/rest/common/request.ts +0 -0
  706. /package/src/{micro-service → service}/architecture/application/entry-points/rest/hook-handlers/hook-handler.ts +0 -0
  707. /package/src/{micro-service → service}/architecture/application/entry-points/rest/hook-handlers/index.ts +0 -0
  708. /package/src/{micro-service → service}/architecture/application/entry-points/rest/index.ts +0 -0
  709. /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/generics.ts +0 -0
  710. /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/get-route-handler.ts +0 -0
  711. /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/index.ts +0 -0
  712. /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/route-handler.ts +0 -0
  713. /package/src/{micro-service → service}/architecture/application/index.ts +0 -0
  714. /package/src/{micro-service → service}/architecture/architecture.ts +0 -0
  715. /package/src/{micro-service → service}/architecture/index.ts +0 -0
  716. /package/src/{micro-service → service}/architecture/infrastructure/infrastructure.ts +0 -0
  717. /package/src/{micro-service → service}/architecture/infrastructure/repositories/index.ts +0 -0
  718. /package/src/{micro-service → service}/index.ts +0 -0
package/README.md CHANGED
@@ -1,295 +1,380 @@
1
- # Zacatl Microservice Framework
1
+ # Zacatl Framework
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@sentzunhat/zacatl.svg)](https://www.npmjs.com/package/@sentzunhat/zacatl)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@sentzunhat/zacatl.svg)](https://www.npmjs.com/package/@sentzunhat/zacatl)
4
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
- [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](https://www.typescriptlang.org/)
6
+ [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-3178c6.svg)](https://www.typescriptlang.org/)
7
+ [![Node.js 24+](https://img.shields.io/badge/Node.js-24%2B-brightgreen.svg)](https://nodejs.org/)
8
+ [![Tests: 161](https://img.shields.io/badge/Tests-161-blue.svg)](#testing)
9
+ [![Coverage: 79%](https://img.shields.io/badge/Coverage-79%25-brightgreen.svg)](#testing)
6
10
 
7
- A modular, high-performance TypeScript microservice framework for Node.js, featuring layered architecture, dependency injection, and robust validation for building scalable APIs and distributed systems.
11
+ **Production-ready TypeScript framework for building scalable microservices, APIs, and distributed systems.**
8
12
 
9
- ## Table of Contents
13
+ Zacatl enforces clean, layered architecture with dependency injection, validation, and comprehensive error handling—designed for both human developers and AI agents to collaborate effectively.
10
14
 
11
- - [Overview](#overview)
12
- - [Key Features](#key-features)
13
- - [Installation](#installation)
14
- - [Quick Start](#quick-start)
15
- - [Project Structure](#project-structure)
16
- - [Core Concepts](#core-concepts)
17
- - [Configuration](#configuration)
18
- - [Testing](#testing)
19
- - [Contributing](#contributing)
20
- - [Documentation](#documentation)
21
- - [License](#license)
15
+ ## ✨ Key Features
22
16
 
23
- ## Overview
17
+ - **🏗️ Layered/Hexagonal Architecture** - Clean separation with Application, Domain, Infrastructure, and Platform layers
18
+ - **💉 Dependency Injection** - Built-in DI container using `tsyringe`
19
+ - **✅ Type-Safe Validation** - Full Zod schema support for requests/responses
20
+ - **🛡️ Structured Error Handling** - 7 custom error types with correlation IDs
21
+ - **🗄️ Pluggable ORM Adapters** - Sequelize, Mongoose, or build your own
22
+ - **🌐 Multi-Language Support** - Pluggable i18n with filesystem/memory adapters
23
+ - **🔌 Adapter Pattern** - Easy integration with any database or service
24
+ - **🧪 Comprehensive Testing** - 161 tests, 79% coverage, Vitest
25
+ - **⚡ Runtime Detection** - Works with Node.js 22+ and Bun
26
+ - **📝 Production Ready** - Structured logging, monitoring, and error tracking
24
27
 
25
- Zacatl is a TypeScript-first microservice framework that enforces clean, layered (hexagonal) architecture with strict separation of concerns. It's designed for rapid development of robust APIs and distributed systems, with built-in support for dependency injection, validation, and seamless collaboration between human and AI contributors.
28
+ ## 📖 Documentation
26
29
 
27
- ## Key Features
30
+ - **[Full Documentation Index](./docs/INDEX.md)** - Complete guide and reference
31
+ - **[5-Minute Quick Start](./docs/getting-started/quickstart-5min.md)** - Get up and running fast
32
+ - **[Framework Overview](./docs/architecture/framework-overview.md)** - Architecture and concepts
33
+ - **[Installation Guide](./docs/getting-started/INSTALLATION.md)** - Setup instructions
34
+ - **[Testing Guide](./docs/testing/README.md)** - How to test your services
35
+ - **[Examples](./docs/examples/README.md)** - Practical patterns
36
+ - **[API Reference](./docs/api/README.md)** - Core APIs
28
37
 
29
- - **🏗️ Layered Architecture**: Clean separation with Application, Domain, Infrastructure, and Platform layers
30
- - **💉 Dependency Injection**: Built-in DI container using `tsyringe` for better modularity
31
- - **⚡ High Performance**: Built on Fastify for maximum speed and efficiency
32
- - **🔍 Type Safety**: Full TypeScript support with strict typing and generics
33
- - **✅ Validation**: Request/response validation using Zod schemas
34
- - **🧪 Testing**: Comprehensive testing with Vitest and clear test structure
35
- - **📊 MongoDB Support**: Built-in repository pattern with Mongoose integration
36
- - **🌐 Internationalization**: Multi-language support with i18n
37
- - **🚀 Production Ready**: Error handling, logging, and monitoring built-in
38
+ ## Ethical Use (Non-binding)
38
39
 
39
- ## Installation
40
+ Zacatl is MIT-licensed (permissive). Please don’t use it to harm people.
40
41
 
41
- Install Zacatl using npm:
42
+ ## 🚀 Quick Start
43
+
44
+ ### Install
42
45
 
43
46
  ```bash
44
47
  npm install @sentzunhat/zacatl
45
48
  ```
46
49
 
47
- Or with yarn:
50
+ ## 📦 Import Shortcuts (v0.0.21+)
48
51
 
49
- ```bash
50
- yarn add @sentzunhat/zacatl
51
- ```
52
+ ```typescript
53
+ // Short imports for better DX
54
+ import { BaseRepository, ORMType } from "@sentzunhat/zacatl/infrastructure";
55
+ import { CustomError } from "@sentzunhat/zacatl/errors";
56
+ import { loadConfig } from "@sentzunhat/zacatl/config";
52
57
 
53
- ## Quick Start
58
+ // Or full path (still works)
59
+ import { BaseRepository } from "@sentzunhat/zacatl/build/service/architecture/infrastructure/repositories/abstract";
60
+ ```
54
61
 
55
- Here's a minimal example to get you started:
62
+ ### Hello World HTTP Service
56
63
 
57
64
  ```typescript
58
65
  import Fastify from "fastify";
59
- import { MicroService } from "@sentzunhat/zacatl";
66
+ import { Service } from "@sentzunhat/zacatl";
60
67
 
61
- const fastifyApp = Fastify();
68
+ const fastify = Fastify();
62
69
 
63
- const microservice = new MicroService({
70
+ const service = new Service({
64
71
  architecture: {
65
72
  application: {
66
- entryPoints: {
67
- rest: {
68
- hookHandlers: [], // Add hook handler classes
69
- routeHandlers: [], // Add route handler classes
70
- },
71
- },
73
+ entryPoints: { rest: { hookHandlers: [], routeHandlers: [] } },
72
74
  },
73
- domain: { providers: [] }, // Add domain provider classes
74
- infrastructure: { repositories: [] }, // Add repository classes
75
- service: {
76
- name: "my-service",
77
- server: {
78
- type: "SERVER",
79
- vendor: "FASTIFY",
80
- instance: fastifyApp,
81
- },
82
- databases: [
83
- // Example for MongoDB:
84
- // {
85
- // vendor: "MONGOOSE",
86
- // instance: new Mongoose(),
87
- // connectionString: "mongodb://localhost/mydb",
88
- // }
89
- ],
75
+ domain: { providers: [] },
76
+ infrastructure: { repositories: [] },
77
+ server: {
78
+ name: "hello-service",
79
+ server: { type: "SERVER", vendor: "FASTIFY", instance: fastify },
90
80
  },
91
81
  },
92
82
  });
93
83
 
94
- await microservice.start({ port: 9000 });
84
+ await service.start({ port: 3000 });
85
+ ```
86
+
87
+ ### CLI / Desktop Application
88
+
89
+ ```typescript
90
+ import { Service, resolveDependency } from "@sentzunhat/zacatl";
91
+
92
+ class MyService {
93
+ doSomething = async () => console.log("Hello from CLI!");
94
+ }
95
+
96
+ const service = new Service({
97
+ architecture: {
98
+ domain: { providers: [MyService] },
99
+ },
100
+ });
101
+
102
+ await service.start();
103
+ const myService = resolveDependency<MyService>("MyService");
104
+ await myService.doSomething();
95
105
  ```
96
106
 
97
- For a complete example with route handlers, see our [examples](./examples) directory.
107
+ ## 🏗️ Architecture Layers
98
108
 
99
- ## Project Structure
109
+ Zacatl implements **layered (hexagonal) architecture**:
100
110
 
101
111
  ```
102
- src/
103
- ├── configuration.ts # App configuration and environment settings
104
- ├── logs.ts # Structured logging with Pino
105
- ├── optionals.ts # Optional utility types and helpers
106
- ├── error/ # Custom error classes (BadRequest, NotFound, etc.)
107
- ├── locales/ # Internationalization files (en.json, fr.json)
108
- ├── micro-service/
109
- └── architecture/
110
- │ ├── application/ # HTTP entry points, validation, route handlers
111
- │ ├── domain/ # Business logic, models, services (pure)
112
- │ ├── infrastructure/ # Database repositories, external adapters
113
- │ └── platform/ # Service orchestration, DI setup, startup
114
- └── utils/ # Utility functions (base64, hmac, etc.)
115
-
116
- test/
117
- └── unit/ # Unit tests mirroring src/ structure
112
+ ┌─────────────────────────────────────────┐
113
+ │ Application Layer │ HTTP handlers, validation, routes
114
+ ├─────────────────────────────────────────┤
115
+ │ Domain Layer │ Business logic, services, models
116
+ ├─────────────────────────────────────────┤
117
+ │ Infrastructure Layer │ Repositories, database adapters
118
+ ├─────────────────────────────────────────┤
119
+ Platform Layer │ DI container, service startup
120
+ └─────────────────────────────────────────┘
121
+ ```
122
+
123
+ Each layer has a single responsibility and strict dependencies flow inward.
124
+
125
+ ## 💾 Database Adapters
126
+
127
+ ### Sequelize
128
+
129
+ ```typescript
130
+ import { Sequelize } from "sequelize";
131
+ import { SequelizeAdapter } from "@sentzunhat/zacatl/adapters";
132
+
133
+ const sequelize = new Sequelize("postgresql://user:pass@localhost/db");
134
+
135
+ const service = new Service({
136
+ architecture: {
137
+ server: {
138
+ databases: [
139
+ {
140
+ vendor: "SEQUELIZE",
141
+ instance: sequelize,
142
+ },
143
+ ],
144
+ },
145
+ },
146
+ });
118
147
  ```
119
148
 
120
- ### Layer Responsibilities
149
+ ### MongoDB (Mongoose)
150
+
151
+ ```typescript
152
+ import mongoose from "mongoose";
121
153
 
122
- - **Application Layer**: Handles HTTP requests, validation, and delegates to domain logic
123
- - **Domain Layer**: Contains pure business logic, models, and services (no infrastructure dependencies)
124
- - **Infrastructure Layer**: Manages persistence (MongoDB repositories) and external integrations
125
- - **Platform Layer**: Bootstraps the application, configures DI container, and starts the server
154
+ const service = new Service({
155
+ architecture: {
156
+ server: {
157
+ databases: [
158
+ {
159
+ vendor: "MONGOOSE",
160
+ instance: mongoose,
161
+ connectionString: "mongodb://localhost/mydb",
162
+ },
163
+ ],
164
+ },
165
+ },
166
+ });
167
+ ```
126
168
 
127
- ---
169
+ ### Custom Repository Pattern
128
170
 
129
- ## 3. Core Architectural Concepts
171
+ Implement `IRepository<T>` for any database:
130
172
 
131
- - **Layered (Hexagonal) Architecture:**
132
- - Platform Application Domain → Infrastructure
133
- - Strict separation of concerns; each layer has a single responsibility.
134
- - **Error Handling:** All errors extend `CustomError` (see `src/error/`).
135
- - **Validation:** Use `zod` schemas for all request/response validation.
136
- - **Service Registration:** Register handlers/services in the DI container.
173
+ ```typescript
174
+ import { IRepository } from "@sentzunhat/zacatl";
175
+
176
+ class MyRepository<T> implements IRepository<T> {
177
+ findById = async (id: string): Promise<T | null> => {
178
+ /* ... */
179
+ };
180
+ findMany = async (filter: Record<string, unknown>): Promise<T[]> => {
181
+ /* ... */
182
+ };
183
+ create = async (data: T): Promise<T> => {
184
+ /* ... */
185
+ };
186
+ update = async (id: string, data: Partial<T>): Promise<void> => {
187
+ /* ... */
188
+ };
189
+ delete = async (id: string): Promise<void> => {
190
+ /* ... */
191
+ };
192
+ exists = async (id: string): Promise<boolean> => {
193
+ /* ... */
194
+ };
195
+ }
196
+ ```
137
197
 
138
- ---
198
+ ## 🌐 Internationalization
139
199
 
140
- ## 4. Coding Standards for Humans and AI
200
+ ```typescript
201
+ import { createI18n, FilesystemAdapter } from "@sentzunhat/zacatl";
141
202
 
142
- - **Naming:**
143
- - Files/folders: lowercase, hyphens (e.g., `user-repository.ts`)
144
- - Classes: PascalCase
145
- - Functions/variables: camelCase, descriptive
146
- - **Code Style:**
147
- - Clean, modular, and straightforward
148
- - Use strong typing and TypeScript generics
149
- - DRY principle: extract reusable logic
150
- - Minimal comments; use tests to document behavior
151
- - Validate all inputs and sanitize external data
152
- - **AI Patterns:**
153
- - Replicate DI, modularity, and test structure
154
- - Update YAML docs when generating new code
203
+ const i18n = createI18n();
204
+ const greeting = i18n.t("greeting"); // Loads from src/localization/locales/
155
205
 
156
- ---
206
+ await i18n.setLanguage("es");
207
+ const saludo = i18n.t("greeting"); // Translations loaded automatically
208
+ ```
157
209
 
158
- ## 5. Dependency Injection (DI) Details
210
+ Place translation files in `src/localization/locales/`:
159
211
 
160
- - **DI Container:** All services, repositories, and handlers are registered using `tsyringe`.
161
- - **No direct instantiation:** Always resolve dependencies via DI.
162
- - **AI Registration:** When generating new components, ensure they are registered in the DI container.
212
+ ```json
213
+ // en.json
214
+ { "greeting": "Hello {{name}}", "errors": { "notFound": "Not found" } }
215
+ ```
163
216
 
164
- ---
217
+ ```json
218
+ // es.json
219
+ { "greeting": "Hola {{name}}", "errors": { "notFound": "No encontrado" } }
220
+ ```
165
221
 
166
- ## 6. Database Schema & Persistence
222
+ ## Validation with Zod
167
223
 
168
- - **MongoDB schemas:** Define all schemas in `src/micro-service/architecture/infrastructure/repositories/`.
169
- - **Repository pattern:** Extend `BaseRepository` for new collections.
170
- - **Schema best practices:**
171
- - Favor embedding for related data
172
- - Keep schemas minimal and property names concise
173
- - Use references for large or independent data
174
- - See `mongodb.yaml` for full guidelines
224
+ ```typescript
225
+ import { z } from "zod";
226
+ import { loadConfig } from "@sentzunhat/zacatl";
227
+
228
+ const AppConfigSchema = z.object({
229
+ server: z.object({
230
+ port: z.number().min(1).max(65535),
231
+ host: z.string(),
232
+ }),
233
+ logLevel: z.enum(["debug", "info", "warn", "error"]).default("info"),
234
+ });
175
235
 
176
- ---
236
+ const config = loadConfig("./config/app.yaml", "yaml", AppConfigSchema);
237
+ ```
177
238
 
178
- ## 7. Error Management and Validation
239
+ ## 🛡️ Error Handling
179
240
 
180
- - **Error Classes:** All errors extend `CustomError` (see `src/error/`).
181
- - **Throw, don’t return:** Always throw errors for exceptional cases.
182
- - **Validation:** Use `zod` for all request/response validation. Place schemas in the Application layer.
241
+ Zacatl includes 7 custom error types with built-in correlation IDs:
183
242
 
184
- ---
243
+ ```typescript
244
+ import {
245
+ BadRequestError,
246
+ NotFoundError,
247
+ UnauthorizedError,
248
+ ForbiddenError,
249
+ ValidationError,
250
+ InternalServerError,
251
+ BadResourceError,
252
+ } from "@sentzunhat/zacatl";
253
+
254
+ throw new ValidationError("Email is required");
255
+ throw new NotFoundError("User not found", { userId: 123 });
256
+ ```
185
257
 
186
- ## 8. Testing Philosophy and Setup
258
+ ## 🧪 Testing
187
259
 
188
- - **Framework:** Use `vitest` for all tests.
189
- - **Structure:** Place tests in `test/unit/`, mirroring the `src/` structure.
190
- - **Mocking:** Mock all external dependencies (DB, services) in tests.
191
- - **AI Testing:** When generating new logic, always add or update tests.
260
+ Zacatl comes with **161 passing tests** and **79% coverage**:
192
261
 
193
- ---
262
+ ```bash
263
+ npm test # Run all tests
264
+ npm run test:watch # Watch mode
265
+ npm run test:coverage # Coverage report
266
+ ```
194
267
 
195
- ## 9. Minimal Usage Example
268
+ Example test with mocking:
196
269
 
197
270
  ```typescript
198
- import Fastify from "fastify";
199
- import { MicroService } from "@sentzunhat/zacatl";
271
+ import { describe, it, expect, vi } from "vitest";
200
272
 
201
- const fastifyApp = Fastify();
273
+ describe("UserService", () => {
274
+ it("should create a user", async () => {
275
+ const mockRepo = { create: vi.fn().mockResolvedValue({ id: "1" }) };
276
+ const service = new UserService(mockRepo as any);
202
277
 
203
- const microservice = new MicroService({
204
- architecture: {
205
- application: {
206
- entryPoints: {
207
- rest: {
208
- hookHandlers: [], // Add hook handler classes
209
- routeHandlers: [], // Add route handler classes
210
- },
211
- },
212
- },
213
- domain: { providers: [] }, // Add domain provider classes
214
- infrastructure: { repositories: [] }, // Add repository classes
215
- service: {
216
- name: "my-service",
217
- server: {
218
- type: "SERVER",
219
- vendor: "FASTIFY",
220
- instance: fastifyApp,
221
- },
222
- databases: [
223
- // Example for MongoDB:
224
- // {
225
- // vendor: "MONGOOSE",
226
- // instance: new Mongoose(),
227
- // connectionString: "mongodb://localhost/mydb",
228
- // }
229
- ],
230
- },
231
- },
278
+ const result = await service.createUser({ name: "John" });
279
+
280
+ expect(result.id).toBe("1");
281
+ expect(mockRepo.create).toHaveBeenCalledOnce();
282
+ });
232
283
  });
284
+ ```
285
+
286
+ ## 🔍 Runtime Detection
287
+
288
+ Check which runtime you're using:
233
289
 
234
- await microservice.start({ port: 9000 });
290
+ ```typescript
291
+ import {
292
+ detectRuntime,
293
+ isBun,
294
+ isNode,
295
+ getRuntimeType,
296
+ getRuntimeVersion,
297
+ } from "@sentzunhat/zacatl";
298
+
299
+ const runtime = detectRuntime();
300
+ console.log(runtime.type); // "node" | "bun" | "unknown"
301
+ console.log(runtime.version); // "22.11.0"
302
+
303
+ if (isNode()) {
304
+ // Node.js specific code
305
+ }
306
+ ```
307
+
308
+ ## 📦 What's Included
309
+
310
+ ```
311
+ src/
312
+ ├── service/architecture/ # Core framework
313
+ │ ├── application/ # HTTP handlers, validation
314
+ │ ├── domain/ # Business logic
315
+ │ ├── infrastructure/ # Repositories, adapters
316
+ │ └── platform/ # DI setup, server startup
317
+ ├── configuration/ # Config loading & validation
318
+ ├── error/ # 7 custom error types
319
+ ├── localization/ # i18n with adapters
320
+ ├── logs/ # Pino logging
321
+ └── utils/ # Runtime detection, base64, HMAC
235
322
  ```
236
323
 
237
- ---
324
+ ## 🛠️ Development
238
325
 
239
- ## 10. Configuration and Environment Variables
326
+ ### Building
240
327
 
241
- - **Localization:** Place locale JSON files in `src/locales/` (e.g., `en.json`)
242
- - **Environment Variables:**
243
- - `SERVICE_NAME` - Service name
244
- - `NODE_ENV` - Environment (development, production, test)
245
- - `CONNECTION_STRING` - Database connection string
328
+ ```bash
329
+ npm run build # Compile TypeScript to build/
330
+ npm run build:watch # Watch mode
331
+ ```
246
332
 
247
- ---
333
+ ### Code Quality
248
334
 
249
- ## 11. Extending the Codebase (for Humans & AI)
335
+ ```bash
336
+ npm run lint # Run ESLint
337
+ npm run type:check # TypeScript checking
338
+ ```
250
339
 
251
- - Add new features by creating new handlers, services, or repositories in the appropriate layer.
252
- - Register all new classes in the DI container.
253
- - Write tests for all new logic.
254
- - Update YAML docs (`context.yaml`, `guidelines.yaml`, `patterns.yaml`, `mongodb.yaml`) with new patterns or conventions.
340
+ ## 📋 Requirements
255
341
 
256
- ---
342
+ - **Node.js**: 24.0.0 or higher (LTS)
343
+ - **npm**: 10.0.0 or higher (bundled with Node 24)
344
+ - **TypeScript**: 5.9+ (we use 5.9.3)
257
345
 
258
- ## 12. Documentation References
346
+ Optional:
259
347
 
260
- - [`context.yaml`](./context.yaml): Architecture, components, and project context
261
- - [`guidelines.yaml`](./guidelines.yaml): Coding standards and best practices
262
- - [`patterns.yaml`](./patterns.yaml): Design and usage patterns
263
- - [`mongodb.yaml`](./mongodb.yaml): MongoDB schema guidelines
348
+ - **Bun**: Latest for fast package management (development only)
264
349
 
265
- ---
350
+ ## 📄 License
266
351
 
267
- ## 13. Contributing Workflow
352
+ [MIT License](./LICENSE) © 2025 Sentzunhat
268
353
 
269
- ### For Humans
354
+ ## 🤝 Contributing
270
355
 
271
356
  1. Fork the repository
272
- 2. Create your feature branch: `git checkout -b feature/amazing-feature`
273
- 3. Commit your changes: `git commit -m 'Add some amazing feature'`
274
- 4. Push to the branch: `git push origin feature/amazing-feature`
275
- 5. Open a Pull Request
276
- 6. Ensure all tests pass and docs are updated
357
+ 2. Create a feature branch: `git checkout -b feature/amazing-feature`
358
+ 3. Add tests for your changes
359
+ 4. Update documentation
360
+ 5. Commit: `git commit -m 'Add amazing feature'`
361
+ 6. Push: `git push origin feature/amazing-feature`
362
+ 7. Open a Pull Request
277
363
 
278
- ### For AI Agents
364
+ ## 📞 Support
279
365
 
280
- - Parse YAML docs for context and conventions
281
- - Register new code in the DI container
282
- - Add or update tests in `test/unit/`
283
- - Update YAML docs with new features or patterns
366
+ - 📖 [Documentation](./docs/INDEX.md)
367
+ - 🐛 [Issue Tracker](https://github.com/sentzunhat/zacatl/issues)
368
+ - 💬 [Discussions](https://github.com/sentzunhat/zacatl/discussions)
284
369
 
285
- ---
370
+ ## 🙋 About
286
371
 
287
- ## 14. License and Maintainers
372
+ Zacatl is built for developers who value clean architecture, type safety, and test-driven development. It's equally useful for humans and AI agents building production services.
288
373
 
289
- - **License:** MIT License © 2025 Sentzunhat
290
- - **Maintainer:** Diego Beltran ([LinkedIn](https://www.linkedin.com/in/diego-beltran))
291
- - **Project URL:** [GitHub](https://github.com/sentzunhat/zacatl)
374
+ **Created by**: [Diego Beltran](https://www.linkedin.com/in/diego-beltran)
375
+ **Repository**: https://github.com/sentzunhat/zacatl
376
+ **npm**: https://www.npmjs.com/package/@sentzunhat/zacatl
292
377
 
293
- ---
378
+ ## 🤖 Acknowledgments
294
379
 
295
- _For all details, see the YAML documentation files above. Zacatl is designed for seamless collaboration between humans and AI agents._
380
+ This framework was built with assistance from **GitHub Copilot** and friendly ML/LLM models, demonstrating effective human-AI collaboration in software development.
@@ -0,0 +1,2 @@
1
+ export * from "../service/architecture";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"./src/","sources":["architecture/index.ts"],"names":[],"mappings":"AAMA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "../service/architecture";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"./src/","sources":["architecture/index.ts"],"names":[],"mappings":"AAMA,cAAc,yBAAyB,CAAC","sourcesContent":["/**\n * Core Architecture Module\n *\n * This entry point exposes the hexagonal architecture components (Application, Domain, Infrastructure).\n * Provides a cleaner import path for service architecture.\n */\nexport * from \"../service/architecture\";\n"]}
@@ -0,0 +1,10 @@
1
+ type ConfigInput = {
2
+ SERVICE_NAME: string;
3
+ NODE_ENV: string;
4
+ APP_VERSION: string;
5
+ APP_ENV: string;
6
+ CONNECTION_STRING: string;
7
+ };
8
+ export declare const getConfigOrThrow: <T>(name: keyof ConfigInput) => T;
9
+ export {};
10
+ //# sourceMappingURL=app-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-config.d.ts","sourceRoot":"./src/","sources":["configuration/app-config.ts"],"names":[],"mappings":"AAOA,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAQF,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,MAAM,MAAM,WAAW,KAAG,CAE7D,CAAC"}
@@ -0,0 +1,5 @@
1
+ import config from "config";
2
+ export const getConfigOrThrow = (name) => {
3
+ return config.get(name);
4
+ };
5
+ //# sourceMappingURL=app-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-config.js","sourceRoot":"./src/","sources":["configuration/app-config.ts"],"names":[],"mappings":"AAKA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAgB5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAI,IAAuB,EAAK,EAAE;IAChE,OAAO,MAAM,CAAC,GAAG,CAAI,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC","sourcesContent":["/**\n * Application-wide configuration via node-config\n * Loads from config/ directory with environment-specific overrides\n */\n\nimport config from \"config\";\n\ntype ConfigInput = {\n SERVICE_NAME: string;\n NODE_ENV: string;\n APP_VERSION: string;\n APP_ENV: string;\n CONNECTION_STRING: string;\n};\n\n/**\n * Get application configuration value from node-config\n * Reads from config/default.{json,yaml} + config/{NODE_ENV}.{json,yaml}\n * @param name - Configuration key\n * @returns Configuration value\n */\nexport const getConfigOrThrow = <T>(name: keyof ConfigInput): T => {\n return config.get<T>(name);\n};\n"]}
@@ -0,0 +1,7 @@
1
+ export type { ConfigFormat, ConfigLoader, LoadedConfig } from "./types";
2
+ export { JSONLoader, createJSONLoader } from "./loaders/json-loader";
3
+ export { YAMLLoader, createYAMLLoader } from "./loaders/yaml-loader";
4
+ export { getLoader, loadConfig, loadConfigFromPaths } from "./loader";
5
+ export { validateConfig, validateLoadedConfig, safeValidateConfig, } from "./validation";
6
+ export { getConfigOrThrow } from "./app-config";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"./src/","sources":["configuration/index.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { JSONLoader, createJSONLoader } from "./loaders/json-loader";
2
+ export { YAMLLoader, createYAMLLoader } from "./loaders/yaml-loader";
3
+ export { getLoader, loadConfig, loadConfigFromPaths } from "./loader";
4
+ export { validateConfig, validateLoadedConfig, safeValidateConfig, } from "./validation";
5
+ export { getConfigOrThrow } from "./app-config";
6
+ //# sourceMappingURL=index.js.map