@zyno-io/dk-server-foundation 26.216.430

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 (663) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +458 -0
  3. package/dist/devconsole/assets/index-CKF3C3kv.css +1 -0
  4. package/dist/devconsole/assets/index-CsHdomhM.js +27 -0
  5. package/dist/devconsole/index.html +13 -0
  6. package/dist/resources/proto/generated/devconsole/devconsole.d.ts +320 -0
  7. package/dist/resources/proto/generated/devconsole/devconsole.d.ts.map +1 -0
  8. package/dist/resources/proto/generated/devconsole/devconsole.js +3751 -0
  9. package/dist/resources/proto/generated/devconsole/devconsole.js.map +1 -0
  10. package/dist/src/app/base.d.ts +36 -0
  11. package/dist/src/app/base.d.ts.map +1 -0
  12. package/dist/src/app/base.js +240 -0
  13. package/dist/src/app/base.js.map +1 -0
  14. package/dist/src/app/config.d.ts +90 -0
  15. package/dist/src/app/config.d.ts.map +1 -0
  16. package/dist/src/app/config.js +33 -0
  17. package/dist/src/app/config.js.map +1 -0
  18. package/dist/src/app/config.loader.d.ts +14 -0
  19. package/dist/src/app/config.loader.d.ts.map +1 -0
  20. package/dist/src/app/config.loader.js +67 -0
  21. package/dist/src/app/config.loader.js.map +1 -0
  22. package/dist/src/app/const.d.ts +3 -0
  23. package/dist/src/app/const.d.ts.map +1 -0
  24. package/dist/src/app/const.js +6 -0
  25. package/dist/src/app/const.js.map +1 -0
  26. package/dist/src/app/dev.d.ts +7 -0
  27. package/dist/src/app/dev.d.ts.map +1 -0
  28. package/dist/src/app/dev.js +105 -0
  29. package/dist/src/app/dev.js.map +1 -0
  30. package/dist/src/app/index.d.ts +7 -0
  31. package/dist/src/app/index.d.ts.map +1 -0
  32. package/dist/src/app/index.js +12 -0
  33. package/dist/src/app/index.js.map +1 -0
  34. package/dist/src/app/openapi.d.ts +4 -0
  35. package/dist/src/app/openapi.d.ts.map +1 -0
  36. package/dist/src/app/openapi.js +6 -0
  37. package/dist/src/app/openapi.js.map +1 -0
  38. package/dist/src/app/resolver.d.ts +11 -0
  39. package/dist/src/app/resolver.d.ts.map +1 -0
  40. package/dist/src/app/resolver.js +60 -0
  41. package/dist/src/app/resolver.js.map +1 -0
  42. package/dist/src/app/shutdown.d.ts +12 -0
  43. package/dist/src/app/shutdown.d.ts.map +1 -0
  44. package/dist/src/app/shutdown.js +63 -0
  45. package/dist/src/app/shutdown.js.map +1 -0
  46. package/dist/src/app/state.d.ts +16 -0
  47. package/dist/src/app/state.d.ts.map +1 -0
  48. package/dist/src/app/state.js +12 -0
  49. package/dist/src/app/state.js.map +1 -0
  50. package/dist/src/auth/index.d.ts +3 -0
  51. package/dist/src/auth/index.d.ts.map +1 -0
  52. package/dist/src/auth/index.js +6 -0
  53. package/dist/src/auth/index.js.map +1 -0
  54. package/dist/src/auth/jwt.d.ts +76 -0
  55. package/dist/src/auth/jwt.d.ts.map +1 -0
  56. package/dist/src/auth/jwt.js +218 -0
  57. package/dist/src/auth/jwt.js.map +1 -0
  58. package/dist/src/auth/provider.d.ts +15 -0
  59. package/dist/src/auth/provider.d.ts.map +1 -0
  60. package/dist/src/auth/provider.js +50 -0
  61. package/dist/src/auth/provider.js.map +1 -0
  62. package/dist/src/cli/dksf-dev.d.ts +3 -0
  63. package/dist/src/cli/dksf-dev.d.ts.map +1 -0
  64. package/dist/src/cli/dksf-dev.js +408 -0
  65. package/dist/src/cli/dksf-dev.js.map +1 -0
  66. package/dist/src/cli/dksf-gen-proto.d.ts +3 -0
  67. package/dist/src/cli/dksf-gen-proto.d.ts.map +1 -0
  68. package/dist/src/cli/dksf-gen-proto.js +164 -0
  69. package/dist/src/cli/dksf-gen-proto.js.map +1 -0
  70. package/dist/src/cli/dksf-install.d.ts +3 -0
  71. package/dist/src/cli/dksf-install.d.ts.map +1 -0
  72. package/dist/src/cli/dksf-install.js +10 -0
  73. package/dist/src/cli/dksf-install.js.map +1 -0
  74. package/dist/src/cli/dksf-test.d.ts +3 -0
  75. package/dist/src/cli/dksf-test.d.ts.map +1 -0
  76. package/dist/src/cli/dksf-test.js +78 -0
  77. package/dist/src/cli/dksf-test.js.map +1 -0
  78. package/dist/src/cli/dksf-update.d.ts +3 -0
  79. package/dist/src/cli/dksf-update.d.ts.map +1 -0
  80. package/dist/src/cli/dksf-update.js +86 -0
  81. package/dist/src/cli/dksf-update.js.map +1 -0
  82. package/dist/src/database/common.d.ts +84 -0
  83. package/dist/src/database/common.d.ts.map +1 -0
  84. package/dist/src/database/common.js +380 -0
  85. package/dist/src/database/common.js.map +1 -0
  86. package/dist/src/database/dialect.d.ts +10 -0
  87. package/dist/src/database/dialect.d.ts.map +1 -0
  88. package/dist/src/database/dialect.js +56 -0
  89. package/dist/src/database/dialect.js.map +1 -0
  90. package/dist/src/database/entity.d.ts +62 -0
  91. package/dist/src/database/entity.d.ts.map +1 -0
  92. package/dist/src/database/entity.js +198 -0
  93. package/dist/src/database/entity.js.map +1 -0
  94. package/dist/src/database/index.d.ts +8 -0
  95. package/dist/src/database/index.d.ts.map +1 -0
  96. package/dist/src/database/index.js +15 -0
  97. package/dist/src/database/index.js.map +1 -0
  98. package/dist/src/database/migration/MigrationResetCommand.d.ts +9 -0
  99. package/dist/src/database/migration/MigrationResetCommand.d.ts.map +1 -0
  100. package/dist/src/database/migration/MigrationResetCommand.js +75 -0
  101. package/dist/src/database/migration/MigrationResetCommand.js.map +1 -0
  102. package/dist/src/database/migration/MigrationRunCommand.d.ts +11 -0
  103. package/dist/src/database/migration/MigrationRunCommand.d.ts.map +1 -0
  104. package/dist/src/database/migration/MigrationRunCommand.js +118 -0
  105. package/dist/src/database/migration/MigrationRunCommand.js.map +1 -0
  106. package/dist/src/database/migration/characters.d.ts +14 -0
  107. package/dist/src/database/migration/characters.d.ts.map +1 -0
  108. package/dist/src/database/migration/characters.js +56 -0
  109. package/dist/src/database/migration/characters.js.map +1 -0
  110. package/dist/src/database/migration/create/MigrationCreateCommand.d.ts +11 -0
  111. package/dist/src/database/migration/create/MigrationCreateCommand.d.ts.map +1 -0
  112. package/dist/src/database/migration/create/MigrationCreateCommand.js +106 -0
  113. package/dist/src/database/migration/create/MigrationCreateCommand.js.map +1 -0
  114. package/dist/src/database/migration/create/comparator.d.ts +3 -0
  115. package/dist/src/database/migration/create/comparator.d.ts.map +1 -0
  116. package/dist/src/database/migration/create/comparator.js +408 -0
  117. package/dist/src/database/migration/create/comparator.js.map +1 -0
  118. package/dist/src/database/migration/create/db-reader.d.ts +5 -0
  119. package/dist/src/database/migration/create/db-reader.d.ts.map +1 -0
  120. package/dist/src/database/migration/create/db-reader.js +473 -0
  121. package/dist/src/database/migration/create/db-reader.js.map +1 -0
  122. package/dist/src/database/migration/create/ddl-generator.d.ts +3 -0
  123. package/dist/src/database/migration/create/ddl-generator.d.ts.map +1 -0
  124. package/dist/src/database/migration/create/ddl-generator.js +725 -0
  125. package/dist/src/database/migration/create/ddl-generator.js.map +1 -0
  126. package/dist/src/database/migration/create/entity-reader.d.ts +4 -0
  127. package/dist/src/database/migration/create/entity-reader.d.ts.map +1 -0
  128. package/dist/src/database/migration/create/entity-reader.js +417 -0
  129. package/dist/src/database/migration/create/entity-reader.js.map +1 -0
  130. package/dist/src/database/migration/create/file-generator.d.ts +3 -0
  131. package/dist/src/database/migration/create/file-generator.d.ts.map +1 -0
  132. package/dist/src/database/migration/create/file-generator.js +62 -0
  133. package/dist/src/database/migration/create/file-generator.js.map +1 -0
  134. package/dist/src/database/migration/create/prompt.d.ts +4 -0
  135. package/dist/src/database/migration/create/prompt.d.ts.map +1 -0
  136. package/dist/src/database/migration/create/prompt.js +55 -0
  137. package/dist/src/database/migration/create/prompt.js.map +1 -0
  138. package/dist/src/database/migration/create/schema-model.d.ts +109 -0
  139. package/dist/src/database/migration/create/schema-model.d.ts.map +1 -0
  140. package/dist/src/database/migration/create/schema-model.js +24 -0
  141. package/dist/src/database/migration/create/schema-model.js.map +1 -0
  142. package/dist/src/database/migration/helpers.d.ts +3 -0
  143. package/dist/src/database/migration/helpers.d.ts.map +1 -0
  144. package/dist/src/database/migration/helpers.js +13 -0
  145. package/dist/src/database/migration/helpers.js.map +1 -0
  146. package/dist/src/database/migration/index.d.ts +9 -0
  147. package/dist/src/database/migration/index.d.ts.map +1 -0
  148. package/dist/src/database/migration/index.js +43 -0
  149. package/dist/src/database/migration/index.js.map +1 -0
  150. package/dist/src/database/migration/migration.entity.d.ts +8 -0
  151. package/dist/src/database/migration/migration.entity.d.ts.map +1 -0
  152. package/dist/src/database/migration/migration.entity.js +16 -0
  153. package/dist/src/database/migration/migration.entity.js.map +1 -0
  154. package/dist/src/database/mysql.d.ts +16 -0
  155. package/dist/src/database/mysql.d.ts.map +1 -0
  156. package/dist/src/database/mysql.js +140 -0
  157. package/dist/src/database/mysql.js.map +1 -0
  158. package/dist/src/database/postgres.d.ts +16 -0
  159. package/dist/src/database/postgres.d.ts.map +1 -0
  160. package/dist/src/database/postgres.js +91 -0
  161. package/dist/src/database/postgres.js.map +1 -0
  162. package/dist/src/database/types.d.ts +21 -0
  163. package/dist/src/database/types.d.ts.map +1 -0
  164. package/dist/src/database/types.js +27 -0
  165. package/dist/src/database/types.js.map +1 -0
  166. package/dist/src/devconsole/devconsole.controller.d.ts +7 -0
  167. package/dist/src/devconsole/devconsole.controller.d.ts.map +1 -0
  168. package/dist/src/devconsole/devconsole.controller.js +82 -0
  169. package/dist/src/devconsole/devconsole.controller.js.map +1 -0
  170. package/dist/src/devconsole/devconsole.middleware.d.ts +12 -0
  171. package/dist/src/devconsole/devconsole.middleware.d.ts.map +1 -0
  172. package/dist/src/devconsole/devconsole.middleware.js +28 -0
  173. package/dist/src/devconsole/devconsole.middleware.js.map +1 -0
  174. package/dist/src/devconsole/devconsole.srpc.d.ts +14 -0
  175. package/dist/src/devconsole/devconsole.srpc.d.ts.map +1 -0
  176. package/dist/src/devconsole/devconsole.srpc.js +94 -0
  177. package/dist/src/devconsole/devconsole.srpc.js.map +1 -0
  178. package/dist/src/devconsole/devconsole.store.d.ts +101 -0
  179. package/dist/src/devconsole/devconsole.store.d.ts.map +1 -0
  180. package/dist/src/devconsole/devconsole.store.js +125 -0
  181. package/dist/src/devconsole/devconsole.store.js.map +1 -0
  182. package/dist/src/devconsole/devconsole.ws.d.ts +18 -0
  183. package/dist/src/devconsole/devconsole.ws.d.ts.map +1 -0
  184. package/dist/src/devconsole/devconsole.ws.js +470 -0
  185. package/dist/src/devconsole/devconsole.ws.js.map +1 -0
  186. package/dist/src/devconsole/index.d.ts +2 -0
  187. package/dist/src/devconsole/index.d.ts.map +1 -0
  188. package/dist/src/devconsole/index.js +6 -0
  189. package/dist/src/devconsole/index.js.map +1 -0
  190. package/dist/src/devconsole/patches.d.ts +6 -0
  191. package/dist/src/devconsole/patches.d.ts.map +1 -0
  192. package/dist/src/devconsole/patches.js +397 -0
  193. package/dist/src/devconsole/patches.js.map +1 -0
  194. package/dist/src/health/health.module.d.ts +6 -0
  195. package/dist/src/health/health.module.d.ts.map +1 -0
  196. package/dist/src/health/health.module.js +32 -0
  197. package/dist/src/health/health.module.js.map +1 -0
  198. package/dist/src/health/healthcheck.controller.d.ts +10 -0
  199. package/dist/src/health/healthcheck.controller.d.ts.map +1 -0
  200. package/dist/src/health/healthcheck.controller.js +30 -0
  201. package/dist/src/health/healthcheck.controller.js.map +1 -0
  202. package/dist/src/health/healthcheck.service.d.ts +13 -0
  203. package/dist/src/health/healthcheck.service.d.ts.map +1 -0
  204. package/dist/src/health/healthcheck.service.js +33 -0
  205. package/dist/src/health/healthcheck.service.js.map +1 -0
  206. package/dist/src/health/index.d.ts +3 -0
  207. package/dist/src/health/index.d.ts.map +1 -0
  208. package/dist/src/health/index.js +6 -0
  209. package/dist/src/health/index.js.map +1 -0
  210. package/dist/src/helpers/async/context.d.ts +11 -0
  211. package/dist/src/helpers/async/context.d.ts.map +1 -0
  212. package/dist/src/helpers/async/context.js +75 -0
  213. package/dist/src/helpers/async/context.js.map +1 -0
  214. package/dist/src/helpers/async/process.d.ts +16 -0
  215. package/dist/src/helpers/async/process.d.ts.map +1 -0
  216. package/dist/src/helpers/async/process.js +44 -0
  217. package/dist/src/helpers/async/process.js.map +1 -0
  218. package/dist/src/helpers/async/promise.d.ts +5 -0
  219. package/dist/src/helpers/async/promise.d.ts.map +1 -0
  220. package/dist/src/helpers/async/promise.js +27 -0
  221. package/dist/src/helpers/async/promise.js.map +1 -0
  222. package/dist/src/helpers/data/array.d.ts +3 -0
  223. package/dist/src/helpers/data/array.d.ts.map +1 -0
  224. package/dist/src/helpers/data/array.js +17 -0
  225. package/dist/src/helpers/data/array.js.map +1 -0
  226. package/dist/src/helpers/data/objects.d.ts +12 -0
  227. package/dist/src/helpers/data/objects.d.ts.map +1 -0
  228. package/dist/src/helpers/data/objects.js +75 -0
  229. package/dist/src/helpers/data/objects.js.map +1 -0
  230. package/dist/src/helpers/data/serialization.d.ts +4 -0
  231. package/dist/src/helpers/data/serialization.d.ts.map +1 -0
  232. package/dist/src/helpers/data/serialization.js +15 -0
  233. package/dist/src/helpers/data/serialization.js.map +1 -0
  234. package/dist/src/helpers/data/transformer.d.ts +13 -0
  235. package/dist/src/helpers/data/transformer.d.ts.map +1 -0
  236. package/dist/src/helpers/data/transformer.js +55 -0
  237. package/dist/src/helpers/data/transformer.js.map +1 -0
  238. package/dist/src/helpers/framework/decorators.d.ts +5 -0
  239. package/dist/src/helpers/framework/decorators.d.ts.map +1 -0
  240. package/dist/src/helpers/framework/decorators.js +39 -0
  241. package/dist/src/helpers/framework/decorators.js.map +1 -0
  242. package/dist/src/helpers/framework/event.d.ts +3 -0
  243. package/dist/src/helpers/framework/event.d.ts.map +1 -0
  244. package/dist/src/helpers/framework/event.js +20 -0
  245. package/dist/src/helpers/framework/event.js.map +1 -0
  246. package/dist/src/helpers/framework/injection.d.ts +7 -0
  247. package/dist/src/helpers/framework/injection.d.ts.map +1 -0
  248. package/dist/src/helpers/framework/injection.js +52 -0
  249. package/dist/src/helpers/framework/injection.js.map +1 -0
  250. package/dist/src/helpers/index.d.ts +22 -0
  251. package/dist/src/helpers/index.d.ts.map +1 -0
  252. package/dist/src/helpers/index.js +32 -0
  253. package/dist/src/helpers/index.js.map +1 -0
  254. package/dist/src/helpers/io/package.d.ts +5 -0
  255. package/dist/src/helpers/io/package.d.ts.map +1 -0
  256. package/dist/src/helpers/io/package.js +31 -0
  257. package/dist/src/helpers/io/package.js.map +1 -0
  258. package/dist/src/helpers/io/stream.d.ts +18 -0
  259. package/dist/src/helpers/io/stream.d.ts.map +1 -0
  260. package/dist/src/helpers/io/stream.js +91 -0
  261. package/dist/src/helpers/io/stream.js.map +1 -0
  262. package/dist/src/helpers/redis/broadcast.d.ts +13 -0
  263. package/dist/src/helpers/redis/broadcast.d.ts.map +1 -0
  264. package/dist/src/helpers/redis/broadcast.js +100 -0
  265. package/dist/src/helpers/redis/broadcast.js.map +1 -0
  266. package/dist/src/helpers/redis/cache.d.ts +7 -0
  267. package/dist/src/helpers/redis/cache.d.ts.map +1 -0
  268. package/dist/src/helpers/redis/cache.js +28 -0
  269. package/dist/src/helpers/redis/cache.js.map +1 -0
  270. package/dist/src/helpers/redis/mutex.d.ts +24 -0
  271. package/dist/src/helpers/redis/mutex.d.ts.map +1 -0
  272. package/dist/src/helpers/redis/mutex.js +240 -0
  273. package/dist/src/helpers/redis/mutex.js.map +1 -0
  274. package/dist/src/helpers/redis/redis.d.ts +11 -0
  275. package/dist/src/helpers/redis/redis.d.ts.map +1 -0
  276. package/dist/src/helpers/redis/redis.js +59 -0
  277. package/dist/src/helpers/redis/redis.js.map +1 -0
  278. package/dist/src/helpers/security/crypto.d.ts +26 -0
  279. package/dist/src/helpers/security/crypto.d.ts.map +1 -0
  280. package/dist/src/helpers/security/crypto.js +121 -0
  281. package/dist/src/helpers/security/crypto.js.map +1 -0
  282. package/dist/src/helpers/security/validation.d.ts +4 -0
  283. package/dist/src/helpers/security/validation.d.ts.map +1 -0
  284. package/dist/src/helpers/security/validation.js +25 -0
  285. package/dist/src/helpers/security/validation.js.map +1 -0
  286. package/dist/src/helpers/utils/date.d.ts +4 -0
  287. package/dist/src/helpers/utils/date.d.ts.map +1 -0
  288. package/dist/src/helpers/utils/date.js +23 -0
  289. package/dist/src/helpers/utils/date.js.map +1 -0
  290. package/dist/src/helpers/utils/error.d.ts +24 -0
  291. package/dist/src/helpers/utils/error.d.ts.map +1 -0
  292. package/dist/src/helpers/utils/error.js +168 -0
  293. package/dist/src/helpers/utils/error.js.map +1 -0
  294. package/dist/src/helpers/utils/jsx.d.ts +3 -0
  295. package/dist/src/helpers/utils/jsx.d.ts.map +1 -0
  296. package/dist/src/helpers/utils/jsx.js +13 -0
  297. package/dist/src/helpers/utils/jsx.js.map +1 -0
  298. package/dist/src/helpers/utils/uuid.d.ts +3 -0
  299. package/dist/src/helpers/utils/uuid.d.ts.map +1 -0
  300. package/dist/src/helpers/utils/uuid.js +14 -0
  301. package/dist/src/helpers/utils/uuid.js.map +1 -0
  302. package/dist/src/http/auth.d.ts +46 -0
  303. package/dist/src/http/auth.d.ts.map +1 -0
  304. package/dist/src/http/auth.js +162 -0
  305. package/dist/src/http/auth.js.map +1 -0
  306. package/dist/src/http/context.d.ts +5 -0
  307. package/dist/src/http/context.d.ts.map +1 -0
  308. package/dist/src/http/context.js +22 -0
  309. package/dist/src/http/context.js.map +1 -0
  310. package/dist/src/http/cors.d.ts +36 -0
  311. package/dist/src/http/cors.d.ts.map +1 -0
  312. package/dist/src/http/cors.js +171 -0
  313. package/dist/src/http/cors.js.map +1 -0
  314. package/dist/src/http/errors.d.ts +3 -0
  315. package/dist/src/http/errors.d.ts.map +1 -0
  316. package/dist/src/http/errors.js +10 -0
  317. package/dist/src/http/errors.js.map +1 -0
  318. package/dist/src/http/index.d.ts +24 -0
  319. package/dist/src/http/index.d.ts.map +1 -0
  320. package/dist/src/http/index.js +25 -0
  321. package/dist/src/http/index.js.map +1 -0
  322. package/dist/src/http/kernel.d.ts +17 -0
  323. package/dist/src/http/kernel.d.ts.map +1 -0
  324. package/dist/src/http/kernel.js +133 -0
  325. package/dist/src/http/kernel.js.map +1 -0
  326. package/dist/src/http/middleware.d.ts +12 -0
  327. package/dist/src/http/middleware.d.ts.map +1 -0
  328. package/dist/src/http/middleware.js +61 -0
  329. package/dist/src/http/middleware.js.map +1 -0
  330. package/dist/src/http/overrides.d.ts +2 -0
  331. package/dist/src/http/overrides.d.ts.map +1 -0
  332. package/dist/src/http/overrides.js +19 -0
  333. package/dist/src/http/overrides.js.map +1 -0
  334. package/dist/src/http/store.d.ts +33 -0
  335. package/dist/src/http/store.d.ts.map +1 -0
  336. package/dist/src/http/store.js +102 -0
  337. package/dist/src/http/store.js.map +1 -0
  338. package/dist/src/http/uploads.d.ts +7 -0
  339. package/dist/src/http/uploads.d.ts.map +1 -0
  340. package/dist/src/http/uploads.js +8 -0
  341. package/dist/src/http/uploads.js.map +1 -0
  342. package/dist/src/http/workflow.d.ts +18 -0
  343. package/dist/src/http/workflow.d.ts.map +1 -0
  344. package/dist/src/http/workflow.js +181 -0
  345. package/dist/src/http/workflow.js.map +1 -0
  346. package/dist/src/index.d.ts +13 -0
  347. package/dist/src/index.d.ts.map +1 -0
  348. package/dist/src/index.js +25 -0
  349. package/dist/src/index.js.map +1 -0
  350. package/dist/src/services/cli/invoke.d.ts +5 -0
  351. package/dist/src/services/cli/invoke.d.ts.map +1 -0
  352. package/dist/src/services/cli/invoke.js +45 -0
  353. package/dist/src/services/cli/invoke.js.map +1 -0
  354. package/dist/src/services/cli/repl-context.d.ts +13 -0
  355. package/dist/src/services/cli/repl-context.d.ts.map +1 -0
  356. package/dist/src/services/cli/repl-context.js +60 -0
  357. package/dist/src/services/cli/repl-context.js.map +1 -0
  358. package/dist/src/services/cli/repl.d.ts +5 -0
  359. package/dist/src/services/cli/repl.d.ts.map +1 -0
  360. package/dist/src/services/cli/repl.js +32 -0
  361. package/dist/src/services/cli/repl.js.map +1 -0
  362. package/dist/src/services/cli.d.ts +12 -0
  363. package/dist/src/services/cli.d.ts.map +1 -0
  364. package/dist/src/services/cli.js +76 -0
  365. package/dist/src/services/cli.js.map +1 -0
  366. package/dist/src/services/index.d.ts +7 -0
  367. package/dist/src/services/index.d.ts.map +1 -0
  368. package/dist/src/services/index.js +10 -0
  369. package/dist/src/services/index.js.map +1 -0
  370. package/dist/src/services/leader.d.ts +32 -0
  371. package/dist/src/services/leader.d.ts.map +1 -0
  372. package/dist/src/services/leader.js +174 -0
  373. package/dist/src/services/leader.js.map +1 -0
  374. package/dist/src/services/logger.d.ts +35 -0
  375. package/dist/src/services/logger.d.ts.map +1 -0
  376. package/dist/src/services/logger.js +245 -0
  377. package/dist/src/services/logger.js.map +1 -0
  378. package/dist/src/services/mail/index.d.ts +61 -0
  379. package/dist/src/services/mail/index.d.ts.map +1 -0
  380. package/dist/src/services/mail/index.js +90 -0
  381. package/dist/src/services/mail/index.js.map +1 -0
  382. package/dist/src/services/mail/postmark.d.ts +11 -0
  383. package/dist/src/services/mail/postmark.d.ts.map +1 -0
  384. package/dist/src/services/mail/postmark.js +42 -0
  385. package/dist/src/services/mail/postmark.js.map +1 -0
  386. package/dist/src/services/mail/smtp.d.ts +11 -0
  387. package/dist/src/services/mail/smtp.d.ts.map +1 -0
  388. package/dist/src/services/mail/smtp.js +61 -0
  389. package/dist/src/services/mail/smtp.js.map +1 -0
  390. package/dist/src/services/mesh.d.ts +65 -0
  391. package/dist/src/services/mesh.d.ts.map +1 -0
  392. package/dist/src/services/mesh.js +422 -0
  393. package/dist/src/services/mesh.js.map +1 -0
  394. package/dist/src/services/worker/bootstrap.d.ts +3 -0
  395. package/dist/src/services/worker/bootstrap.d.ts.map +1 -0
  396. package/dist/src/services/worker/bootstrap.js +64 -0
  397. package/dist/src/services/worker/bootstrap.js.map +1 -0
  398. package/dist/src/services/worker/cli.d.ts +11 -0
  399. package/dist/src/services/worker/cli.d.ts.map +1 -0
  400. package/dist/src/services/worker/cli.js +43 -0
  401. package/dist/src/services/worker/cli.js.map +1 -0
  402. package/dist/src/services/worker/entity.d.ts +18 -0
  403. package/dist/src/services/worker/entity.d.ts.map +1 -0
  404. package/dist/src/services/worker/entity.js +16 -0
  405. package/dist/src/services/worker/entity.js.map +1 -0
  406. package/dist/src/services/worker/index.d.ts +9 -0
  407. package/dist/src/services/worker/index.d.ts.map +1 -0
  408. package/dist/src/services/worker/index.js +40 -0
  409. package/dist/src/services/worker/index.js.map +1 -0
  410. package/dist/src/services/worker/queue.d.ts +8 -0
  411. package/dist/src/services/worker/queue.d.ts.map +1 -0
  412. package/dist/src/services/worker/queue.js +32 -0
  413. package/dist/src/services/worker/queue.js.map +1 -0
  414. package/dist/src/services/worker/recorder.d.ts +16 -0
  415. package/dist/src/services/worker/recorder.d.ts.map +1 -0
  416. package/dist/src/services/worker/recorder.js +168 -0
  417. package/dist/src/services/worker/recorder.js.map +1 -0
  418. package/dist/src/services/worker/runner.d.ts +21 -0
  419. package/dist/src/services/worker/runner.d.ts.map +1 -0
  420. package/dist/src/services/worker/runner.js +156 -0
  421. package/dist/src/services/worker/runner.js.map +1 -0
  422. package/dist/src/services/worker/types.d.ts +26 -0
  423. package/dist/src/services/worker/types.d.ts.map +1 -0
  424. package/dist/src/services/worker/types.js +29 -0
  425. package/dist/src/services/worker/types.js.map +1 -0
  426. package/dist/src/srpc/SrpcByteStream.d.ts +67 -0
  427. package/dist/src/srpc/SrpcByteStream.d.ts.map +1 -0
  428. package/dist/src/srpc/SrpcByteStream.js +319 -0
  429. package/dist/src/srpc/SrpcByteStream.js.map +1 -0
  430. package/dist/src/srpc/SrpcClient.d.ts +75 -0
  431. package/dist/src/srpc/SrpcClient.d.ts.map +1 -0
  432. package/dist/src/srpc/SrpcClient.js +445 -0
  433. package/dist/src/srpc/SrpcClient.js.map +1 -0
  434. package/dist/src/srpc/SrpcServer.d.ts +80 -0
  435. package/dist/src/srpc/SrpcServer.d.ts.map +1 -0
  436. package/dist/src/srpc/SrpcServer.js +561 -0
  437. package/dist/src/srpc/SrpcServer.js.map +1 -0
  438. package/dist/src/srpc/index.d.ts +7 -0
  439. package/dist/src/srpc/index.d.ts.map +1 -0
  440. package/dist/src/srpc/index.js +12 -0
  441. package/dist/src/srpc/index.js.map +1 -0
  442. package/dist/src/srpc/types.d.ts +131 -0
  443. package/dist/src/srpc/types.d.ts.map +1 -0
  444. package/dist/src/srpc/types.js +65 -0
  445. package/dist/src/srpc/types.js.map +1 -0
  446. package/dist/src/telemetry/index.d.ts +2 -0
  447. package/dist/src/telemetry/index.d.ts.map +1 -0
  448. package/dist/src/telemetry/index.js +5 -0
  449. package/dist/src/telemetry/index.js.map +1 -0
  450. package/dist/src/telemetry/otel/MariaDBInstrumentation.d.ts +22 -0
  451. package/dist/src/telemetry/otel/MariaDBInstrumentation.d.ts.map +1 -0
  452. package/dist/src/telemetry/otel/MariaDBInstrumentation.js +248 -0
  453. package/dist/src/telemetry/otel/MariaDBInstrumentation.js.map +1 -0
  454. package/dist/src/telemetry/otel/helpers.d.ts +27 -0
  455. package/dist/src/telemetry/otel/helpers.d.ts.map +1 -0
  456. package/dist/src/telemetry/otel/helpers.js +126 -0
  457. package/dist/src/telemetry/otel/helpers.js.map +1 -0
  458. package/dist/src/telemetry/otel/index.d.ts +14 -0
  459. package/dist/src/telemetry/otel/index.d.ts.map +1 -0
  460. package/dist/src/telemetry/otel/index.js +132 -0
  461. package/dist/src/telemetry/otel/index.js.map +1 -0
  462. package/dist/src/telemetry/otel/metrics.controller.d.ts +6 -0
  463. package/dist/src/telemetry/otel/metrics.controller.d.ts.map +1 -0
  464. package/dist/src/telemetry/otel/metrics.controller.js +63 -0
  465. package/dist/src/telemetry/otel/metrics.controller.js.map +1 -0
  466. package/dist/src/telemetry/sentry.d.ts +9 -0
  467. package/dist/src/telemetry/sentry.d.ts.map +1 -0
  468. package/dist/src/telemetry/sentry.js +62 -0
  469. package/dist/src/telemetry/sentry.js.map +1 -0
  470. package/dist/src/testing/expect.d.ts +25 -0
  471. package/dist/src/testing/expect.d.ts.map +1 -0
  472. package/dist/src/testing/expect.js +151 -0
  473. package/dist/src/testing/expect.js.map +1 -0
  474. package/dist/src/testing/fixtures.d.ts +19 -0
  475. package/dist/src/testing/fixtures.d.ts.map +1 -0
  476. package/dist/src/testing/fixtures.js +69 -0
  477. package/dist/src/testing/fixtures.js.map +1 -0
  478. package/dist/src/testing/index.d.ts +260 -0
  479. package/dist/src/testing/index.d.ts.map +1 -0
  480. package/dist/src/testing/index.js +345 -0
  481. package/dist/src/testing/index.js.map +1 -0
  482. package/dist/src/testing/requests.d.ts +10 -0
  483. package/dist/src/testing/requests.d.ts.map +1 -0
  484. package/dist/src/testing/requests.js +56 -0
  485. package/dist/src/testing/requests.js.map +1 -0
  486. package/dist/src/testing/sql.d.ts +11 -0
  487. package/dist/src/testing/sql.d.ts.map +1 -0
  488. package/dist/src/testing/sql.js +55 -0
  489. package/dist/src/testing/sql.js.map +1 -0
  490. package/dist/src/types/index.d.ts +57 -0
  491. package/dist/src/types/index.d.ts.map +1 -0
  492. package/dist/src/types/index.js +73 -0
  493. package/dist/src/types/index.js.map +1 -0
  494. package/dist/src/types/phone.d.ts +11 -0
  495. package/dist/src/types/phone.d.ts.map +1 -0
  496. package/dist/src/types/phone.js +73 -0
  497. package/dist/src/types/phone.js.map +1 -0
  498. package/docs/.vitepress/config.mts +79 -0
  499. package/docs/.yarnrc.yml +1 -0
  500. package/docs/content/CONTRIBUTING.md +140 -0
  501. package/docs/content/README-DEV.md +142 -0
  502. package/docs/content/README.md +39 -0
  503. package/docs/content/authentication.md +215 -0
  504. package/docs/content/cli.md +335 -0
  505. package/docs/content/configuration.md +175 -0
  506. package/docs/content/database.md +422 -0
  507. package/docs/content/devconsole.md +123 -0
  508. package/docs/content/getting-started.md +154 -0
  509. package/docs/content/guides/test-migration-guide.md +351 -0
  510. package/docs/content/health.md +54 -0
  511. package/docs/content/helpers.md +322 -0
  512. package/docs/content/http.md +253 -0
  513. package/docs/content/index.md +147 -0
  514. package/docs/content/leader-service.md +98 -0
  515. package/docs/content/logging.md +150 -0
  516. package/docs/content/mail.md +161 -0
  517. package/docs/content/mesh-service.md +204 -0
  518. package/docs/content/public/images/devconsole/01-dashboard.png +0 -0
  519. package/docs/content/public/images/devconsole/02-routes.png +0 -0
  520. package/docs/content/public/images/devconsole/03-openapi.png +0 -0
  521. package/docs/content/public/images/devconsole/04-requests.png +0 -0
  522. package/docs/content/public/images/devconsole/05-srpc.png +0 -0
  523. package/docs/content/public/images/devconsole/06-database.png +0 -0
  524. package/docs/content/public/images/devconsole/07-health.png +0 -0
  525. package/docs/content/public/images/devconsole/08-mutex.png +0 -0
  526. package/docs/content/public/images/devconsole/09-repl.png +0 -0
  527. package/docs/content/public/images/devconsole/10-workers.png +0 -0
  528. package/docs/content/redis.md +168 -0
  529. package/docs/content/srpc.md +261 -0
  530. package/docs/content/telemetry.md +166 -0
  531. package/docs/content/testing.md +222 -0
  532. package/docs/content/types.md +215 -0
  533. package/docs/content/worker.md +177 -0
  534. package/docs/package.json +16 -0
  535. package/docs/scripts/README-SCREENSHOTS.md +145 -0
  536. package/docs/scripts/capture-devconsole-screenshots.js +184 -0
  537. package/docs/yarn.lock +2408 -0
  538. package/package.json +144 -0
  539. package/patches/@deepkit+type+1.0.19.patch +38 -0
  540. package/patches/deepkit-openapi-core+0.0.9.patch +62 -0
  541. package/src/app/base.ts +253 -0
  542. package/src/app/config.loader.ts +66 -0
  543. package/src/app/config.ts +119 -0
  544. package/src/app/const.ts +4 -0
  545. package/src/app/dev.ts +92 -0
  546. package/src/app/index.ts +6 -0
  547. package/src/app/openapi.ts +3 -0
  548. package/src/app/resolver.ts +49 -0
  549. package/src/app/shutdown.ts +55 -0
  550. package/src/app/state.ts +19 -0
  551. package/src/auth/index.ts +2 -0
  552. package/src/auth/jwt.ts +275 -0
  553. package/src/auth/provider.ts +57 -0
  554. package/src/cli/dksf-dev.ts +416 -0
  555. package/src/cli/dksf-gen-proto.ts +176 -0
  556. package/src/cli/dksf-install.ts +11 -0
  557. package/src/cli/dksf-test.ts +84 -0
  558. package/src/cli/dksf-update.ts +101 -0
  559. package/src/database/common.ts +385 -0
  560. package/src/database/dialect.ts +43 -0
  561. package/src/database/entity.ts +285 -0
  562. package/src/database/index.ts +7 -0
  563. package/src/database/migration/MigrationResetCommand.ts +72 -0
  564. package/src/database/migration/MigrationRunCommand.ts +118 -0
  565. package/src/database/migration/characters.ts +53 -0
  566. package/src/database/migration/create/MigrationCreateCommand.ts +96 -0
  567. package/src/database/migration/create/comparator.ts +467 -0
  568. package/src/database/migration/create/db-reader.ts +510 -0
  569. package/src/database/migration/create/ddl-generator.ts +755 -0
  570. package/src/database/migration/create/entity-reader.ts +471 -0
  571. package/src/database/migration/create/file-generator.ts +57 -0
  572. package/src/database/migration/create/prompt.ts +49 -0
  573. package/src/database/migration/create/schema-model.ts +102 -0
  574. package/src/database/migration/helpers.ts +7 -0
  575. package/src/database/migration/index.ts +35 -0
  576. package/src/database/migration/migration.entity.ts +10 -0
  577. package/src/database/mysql.ts +140 -0
  578. package/src/database/postgres.ts +97 -0
  579. package/src/database/types.ts +18 -0
  580. package/src/devconsole/devconsole.controller.ts +59 -0
  581. package/src/devconsole/devconsole.middleware.ts +23 -0
  582. package/src/devconsole/devconsole.srpc.ts +94 -0
  583. package/src/devconsole/devconsole.store.ts +190 -0
  584. package/src/devconsole/devconsole.ws.ts +491 -0
  585. package/src/devconsole/index.ts +1 -0
  586. package/src/devconsole/patches.ts +428 -0
  587. package/src/health/health.module.ts +30 -0
  588. package/src/health/healthcheck.controller.ts +17 -0
  589. package/src/health/healthcheck.service.ts +28 -0
  590. package/src/health/index.ts +2 -0
  591. package/src/helpers/async/context.ts +67 -0
  592. package/src/helpers/async/process.ts +49 -0
  593. package/src/helpers/async/promise.ts +16 -0
  594. package/src/helpers/data/array.ts +11 -0
  595. package/src/helpers/data/objects.ts +64 -0
  596. package/src/helpers/data/serialization.ts +11 -0
  597. package/src/helpers/data/transformer.ts +54 -0
  598. package/src/helpers/framework/decorators.ts +27 -0
  599. package/src/helpers/framework/event.ts +11 -0
  600. package/src/helpers/framework/injection.ts +47 -0
  601. package/src/helpers/index.ts +34 -0
  602. package/src/helpers/io/package.ts +26 -0
  603. package/src/helpers/io/stream.ts +79 -0
  604. package/src/helpers/redis/broadcast.ts +96 -0
  605. package/src/helpers/redis/cache.ts +28 -0
  606. package/src/helpers/redis/mutex.ts +260 -0
  607. package/src/helpers/redis/redis.ts +60 -0
  608. package/src/helpers/security/crypto.ts +133 -0
  609. package/src/helpers/security/validation.ts +16 -0
  610. package/src/helpers/utils/date.ts +13 -0
  611. package/src/helpers/utils/error.ts +155 -0
  612. package/src/helpers/utils/jsx.ts +8 -0
  613. package/src/helpers/utils/uuid.ts +8 -0
  614. package/src/http/auth.ts +156 -0
  615. package/src/http/context.ts +15 -0
  616. package/src/http/cors.ts +159 -0
  617. package/src/http/errors.ts +9 -0
  618. package/src/http/index.ts +19 -0
  619. package/src/http/kernel.ts +138 -0
  620. package/src/http/middleware.ts +59 -0
  621. package/src/http/overrides.ts +20 -0
  622. package/src/http/store.ts +86 -0
  623. package/src/http/uploads.ts +6 -0
  624. package/src/http/workflow.ts +167 -0
  625. package/src/index.ts +19 -0
  626. package/src/services/cli/invoke.ts +39 -0
  627. package/src/services/cli/repl-context.ts +63 -0
  628. package/src/services/cli/repl.ts +22 -0
  629. package/src/services/cli.ts +74 -0
  630. package/src/services/index.ts +6 -0
  631. package/src/services/leader.ts +201 -0
  632. package/src/services/logger.ts +258 -0
  633. package/src/services/mail/index.ts +117 -0
  634. package/src/services/mail/postmark.ts +37 -0
  635. package/src/services/mail/smtp.ts +46 -0
  636. package/src/services/mesh.ts +508 -0
  637. package/src/services/worker/bootstrap.ts +53 -0
  638. package/src/services/worker/cli.ts +32 -0
  639. package/src/services/worker/entity.ts +22 -0
  640. package/src/services/worker/index.ts +30 -0
  641. package/src/services/worker/queue.ts +35 -0
  642. package/src/services/worker/recorder.ts +172 -0
  643. package/src/services/worker/runner.ts +179 -0
  644. package/src/services/worker/types.ts +32 -0
  645. package/src/srpc/SrpcByteStream.ts +382 -0
  646. package/src/srpc/SrpcClient.ts +512 -0
  647. package/src/srpc/SrpcServer.ts +681 -0
  648. package/src/srpc/index.ts +15 -0
  649. package/src/srpc/types.ts +146 -0
  650. package/src/telemetry/index.ts +1 -0
  651. package/src/telemetry/otel/MariaDBInstrumentation.ts +297 -0
  652. package/src/telemetry/otel/helpers.ts +117 -0
  653. package/src/telemetry/otel/index.ts +150 -0
  654. package/src/telemetry/otel/metrics.controller.ts +50 -0
  655. package/src/telemetry/sentry.ts +58 -0
  656. package/src/testing/expect.ts +148 -0
  657. package/src/testing/fixtures.ts +62 -0
  658. package/src/testing/index.ts +355 -0
  659. package/src/testing/requests.ts +68 -0
  660. package/src/testing/sql.ts +50 -0
  661. package/src/types/index.ts +64 -0
  662. package/src/types/phone.ts +64 -0
  663. package/types.d.ts +20 -0
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.__ΩEmailAddress = exports.EMAIL_REGEX = exports.__ΩNonEmptyTrimmedString = exports.__ΩTrimmedString = exports.__ΩValidDate = exports.__ΩOnUpdate = exports.__ΩDateString = exports.__ΩMethodKeys = exports.__ΩMethodsOf = exports.__ΩVoidFunction = exports.__ΩArrowFunctionNoArgs = exports.__ΩArrowFunction = exports.__ΩObjectKeysMatching = exports.__ΩRequireFields = exports.__ΩSerializable = exports.__ΩNestedKVObject = exports.__ΩKVObject = exports.__ΩStrictBool = exports.__ΩPrimitive = exports.__ΩDefinedPrimitive = exports.__ΩConcretePrimitive = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const __ΩRecord = ['K', 'T', 'Record', 'l\'e#"Rb!b"Pde"!N#!w#y'];
6
+ function __assignType(fn, args) {
7
+ fn.__type = args;
8
+ return fn;
9
+ }
10
+ /*@ts-ignore*/
11
+ var { __ΩTypeAnnotation } = require('@deepkit/core');
12
+ /*@ts-ignore*/
13
+ var { __ΩPattern, __ΩDatabaseField, __ΩValidate, __ΩMinLength } = require('@deepkit/type');
14
+ const type_1 = require("@deepkit/type");
15
+ tslib_1.__exportStar(require("./phone"), exports);
16
+ const __ΩConcretePrimitive = ['ConcretePrimitive', 'P&\')Jw!y'];
17
+ exports.__ΩConcretePrimitive = __ΩConcretePrimitive;
18
+ const __ΩDefinedPrimitive = [() => __ΩConcretePrimitive, 'DefinedPrimitive', 'Pn!,Jw"y'];
19
+ exports.__ΩDefinedPrimitive = __ΩDefinedPrimitive;
20
+ const __ΩPrimitive = [() => __ΩDefinedPrimitive, 'Primitive', 'Pn!-Jw"y'];
21
+ exports.__ΩPrimitive = __ΩPrimitive;
22
+ const __ΩStrictBool = [true, false, 'StrictBool', 'P.!."Jw#y'];
23
+ exports.__ΩStrictBool = __ΩStrictBool;
24
+ const __ΩKVObject = ['T', () => __ΩRecord, 'KVObject', '"c!&e!!o"#w#y'];
25
+ exports.__ΩKVObject = __ΩKVObject;
26
+ const __ΩNestedKVObject = ['T', () => __ΩKVObject, () => __ΩKVObject, 'NestedKVObject', '"c!Pe"!e"!Fe"!o#"Jo""w$y'];
27
+ exports.__ΩNestedKVObject = __ΩNestedKVObject;
28
+ const __ΩSerializable = [() => __ΩConcretePrimitive, 'T', () => __ΩNestedKVObject, () => __ΩNestedKVObject, 'Serializable', 'n!c"Pe"!e"!Fe"!o#"e"!o$"FJw%y'];
29
+ exports.__ΩSerializable = __ΩSerializable;
30
+ const __ΩRequireFields = ['T', 'K', 'RequireFields', 'l+e$!e"!fRb!b"Pe"!Pde#"N##Kw#y'];
31
+ exports.__ΩRequireFields = __ΩRequireFields;
32
+ const __ΩObjectKeysMatching = ['O', 'V', 'ObjectKeysMatching', 'lWe$!Re(!R!RPe#!e(!e\'!fqk\'+QRPde&"p-RPe$!e#!fe$"qk#>QRb!b"Pde"!gNF!e!!gfw#y'];
33
+ exports.__ΩObjectKeysMatching = __ΩObjectKeysMatching;
34
+ const __ΩArrowFunction = ['args', '', 'ArrowFunction', 'P"@2!"/"w#y'];
35
+ exports.__ΩArrowFunction = __ΩArrowFunction;
36
+ const __ΩArrowFunctionNoArgs = ['', 'ArrowFunctionNoArgs', 'P"/!w"y'];
37
+ exports.__ΩArrowFunctionNoArgs = __ΩArrowFunctionNoArgs;
38
+ const __ΩVoidFunction = ['', 'VoidFunction', 'P$/!w"y'];
39
+ exports.__ΩVoidFunction = __ΩVoidFunction;
40
+ const __ΩIfAny = ['T', 'Y', 'N', 0, 1, 'IfAny', 'l+e#"Re##Rb!b"b#P.$P.%e#!Kqk#\'Qw&y'];
41
+ const __ΩDefinitelyFunction = ['T', () => __ΩIfAny, 'args', '', 'DefinitelyFunction', 'l;e$!R!RPe#!P"@2#"/$qk#\'QRb!e!!!Pde"!p)o"$w%y'];
42
+ const __ΩMethodsOf = ['T', () => __ΩDefinitelyFunction, 'MethodsOf', 'lL!Re\'!RPe#!!qk#%QRPe$!e#!fPde%!e$!fo""p)GRb!Pde"!gt4!w#y'];
43
+ exports.__ΩMethodsOf = __ΩMethodsOf;
44
+ const __ΩMethodKeys = ['T', () => __ΩMethodsOf, 'MethodKeys', 'b!e!!o""gw#y'];
45
+ exports.__ΩMethodKeys = __ΩMethodKeys;
46
+ const _dateStringPattern = /^\d{4}-\d{2}-\d{2}$/;
47
+ const __ΩDateString = [() => __ΩPattern, () => _dateStringPattern, () => __ΩDatabaseField, "DATE", 'type', () => __ΩTypeAnnotation, "dksf:type", "date", 'DateString', 'P&i"o!"P.$4%Mo#".\'.(o&#Kw)y'];
48
+ exports.__ΩDateString = __ΩDateString;
49
+ const __ΩOnUpdate = ['T', () => __ΩTypeAnnotation, "dksf:onUpdate", 'OnUpdate', 'b!.#e!!o"#w$y'];
50
+ exports.__ΩOnUpdate = __ΩOnUpdate;
51
+ const __ΩValidDate = [() => __ΩValidate, () => _validateDate, 'ValidDate', 'PTi"o!"Kw#y'];
52
+ exports.__ΩValidDate = __ΩValidDate;
53
+ function _validateDate(value) {
54
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
+ if (!(value instanceof Date) || isNaN(value)) {
56
+ return new type_1.ValidatorError('invalidDate', 'The date invalid.');
57
+ }
58
+ }
59
+ _validateDate.__type = ['value', '_validateDate', 'P#2!"/"'];
60
+ const __ΩTrimmedString = [() => __ΩTypeAnnotation, "dksf:trim", 'TrimmedString', 'P&."o!"Kw#y'];
61
+ exports.__ΩTrimmedString = __ΩTrimmedString;
62
+ const __ΩNonEmptyTrimmedString = [() => __ΩTrimmedString, () => __ΩMinLength, 1, 'NonEmptyTrimmedString', 'Pn!.#o""Kw$y'];
63
+ exports.__ΩNonEmptyTrimmedString = __ΩNonEmptyTrimmedString;
64
+ type_1.serializer.deserializeRegistry.addDecorator(__assignType(t => type_1.typeAnnotation.getType(t, 'dksf:trim') !== undefined, ['t', '', 'P"2!"/"']), __assignType((_type, state) => {
65
+ state.addSetter(`${state.accessor}.trim()`);
66
+ }, ['_type', 'state', '', 'P"2!"2""/#']));
67
+ // email
68
+ // DK's doesn't do a full FQDN w/TLD check
69
+ // https://github.com/deepkit/deepkit-framework/pull/558
70
+ exports.EMAIL_REGEX = /^[a-z0-9_+.-]+@[a-z0-9-.]+\.[a-z]+$/i;
71
+ const __ΩEmailAddress = [() => __ΩPattern, () => exports.EMAIL_REGEX, 'EmailAddress', 'P&i"o!"Kw#y'];
72
+ exports.__ΩEmailAddress = __ΩEmailAddress;
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;oCAA+B,eAAe;;0EAC0D,eAAe;AAAvH,wCAAwH;AAExH,kDAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCxB,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;;;;;;;AAMjD,SAAS,aAAa,CAAC,KAAc;IACjC,8DAA8D;IAC9D,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,IAAI,KAAK,CAAC,KAAY,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,qBAAc,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAClE,CAAC;AACL,CAAC;;;;;;AAKD,iBAAU,CAAC,mBAAmB,CAAC,YAAY,cACvC,CAAC,CAAC,EAAE,CAAC,qBAAc,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,SAAS,sCACzD,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IACb,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,SAAS,CAAC,CAAC;AAChD,CAAC,wCACJ,CAAC;AAEF,QAAQ;AACR,0CAA0C;AAC1C,wDAAwD;AAC3C,QAAA,WAAW,GAAG,sCAAsC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { TypeAnnotation } from '@deepkit/core';
2
+ import { Validate, ValidatorError } from '@deepkit/type';
3
+ export declare function cleanPhone(value: string, country?: string): string | null;
4
+ export declare function formatPhoneFriendly(value: string, country?: string): string | null;
5
+ declare function _validatePhone(value: unknown): ValidatorError | undefined;
6
+ export type PhoneNumber = string & Validate<typeof _validatePhone> & TypeAnnotation<'dksf:type', 'phone'>;
7
+ export type PhoneNumberNANP = string & Validate<typeof _validatePhone> & TypeAnnotation<'dksf:type', 'phoneNanp'>;
8
+ export {};
9
+ export declare type __ΩPhoneNumber = any[];
10
+ export declare type __ΩPhoneNumberNANP = any[];
11
+ //# sourceMappingURL=phone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../../src/types/phone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAA8C,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAQrG,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAa,GAAG,MAAM,GAAG,IAAI,CAG/E;AAWD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKlF;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,8BAIrC;AA4BD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC1G,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.__ΩPhoneNumberNANP = exports.__ΩPhoneNumber = void 0;
4
+ exports.cleanPhone = cleanPhone;
5
+ exports.formatPhoneFriendly = formatPhoneFriendly;
6
+ function __assignType(fn, args) {
7
+ fn.__type = args;
8
+ return fn;
9
+ }
10
+ /*@ts-ignore*/
11
+ var { __ΩTypeAnnotation } = require('@deepkit/core');
12
+ /*@ts-ignore*/
13
+ var { __ΩValidate } = require('@deepkit/type');
14
+ const type_1 = require("@deepkit/type");
15
+ const google_libphonenumber_1 = require("google-libphonenumber");
16
+ const helpers_1 = require("../helpers");
17
+ const PhoneFormatter = google_libphonenumber_1.PhoneNumberUtil.getInstance();
18
+ const InvalidPhoneSymbol = '¡InvalidPhone¡'; //Symbol('InvalidPhone');
19
+ function cleanPhone(value, country = 'US') {
20
+ const cleaned = cleanPhoneInternal(value, country);
21
+ return cleaned === InvalidPhoneSymbol ? null : cleaned;
22
+ }
23
+ cleanPhone.__type = ['value', 'country', () => "US", 'cleanPhone', 'P&2!&2">#P&,J/$'];
24
+ function cleanPhoneInternal(value, country = 'US', stripUSPrefix = false) {
25
+ if (typeof value !== 'string')
26
+ return InvalidPhoneSymbol;
27
+ const number = (0, helpers_1.tryOrErrorSync)(() => PhoneFormatter.parseAndKeepRawInput(value, country));
28
+ if (number instanceof Error)
29
+ return InvalidPhoneSymbol;
30
+ if (!PhoneFormatter.isValidNumber(number))
31
+ return InvalidPhoneSymbol;
32
+ const result = PhoneFormatter.format(number, google_libphonenumber_1.PhoneNumberFormat.E164);
33
+ return stripUSPrefix ? result.replace(/^\+1/, '') : result;
34
+ }
35
+ cleanPhoneInternal.__type = ['value', 'country', () => "US", 'stripUSPrefix', 'cleanPhoneInternal', 'P&2!&2">#"2$&/%'];
36
+ function formatPhoneFriendly(value, country) {
37
+ const number = (0, helpers_1.tryOrErrorSync)(() => PhoneFormatter.parse(value, country));
38
+ if (number instanceof Error)
39
+ return null;
40
+ if (!PhoneFormatter.isValidNumber(number))
41
+ return null;
42
+ return PhoneFormatter.format(number, google_libphonenumber_1.PhoneNumberFormat.NATIONAL);
43
+ }
44
+ formatPhoneFriendly.__type = ['value', 'country', 'formatPhoneFriendly', 'P&2!&2"8P&,J/#'];
45
+ function _validatePhone(value) {
46
+ if (value === InvalidPhoneSymbol) {
47
+ return new type_1.ValidatorError('invalidPhone', 'The phone number is invalid.');
48
+ }
49
+ }
50
+ _validatePhone.__type = ['value', '_validatePhone', 'P#2!"/"'];
51
+ type_1.serializer.deserializeRegistry.addDecorator(__assignType(t => {
52
+ const typeType = type_1.typeAnnotation.getType(t, 'dksf:type');
53
+ return typeType?.kind === type_1.ReflectionKind.literal && typeType.literal === 'phone';
54
+ }, ['t', '', 'P"2!"/"']), __assignType((_type, state) => {
55
+ state.setContext({ cleanPhoneInternal });
56
+ state.addCodeForSetter(`
57
+ ${state.setter} = cleanPhoneInternal(${state.accessor});
58
+ `);
59
+ }, ['_type', 'state', '', 'P"2!"2""/#']));
60
+ type_1.serializer.deserializeRegistry.addDecorator(__assignType(t => {
61
+ const typeType = type_1.typeAnnotation.getType(t, 'dksf:type');
62
+ return typeType?.kind === type_1.ReflectionKind.literal && typeType.literal === 'phoneNanp';
63
+ }, ['t', '', 'P"2!"/"']), __assignType((_type, state) => {
64
+ state.setContext({ cleanPhoneInternal });
65
+ state.addCodeForSetter(`
66
+ ${state.setter} = cleanPhoneInternal(${state.accessor}, 'US', true);
67
+ `);
68
+ }, ['_type', 'state', '', 'P"2!"2""/#']));
69
+ const __ΩPhoneNumber = [() => __ΩValidate, () => _validatePhone, () => __ΩTypeAnnotation, "dksf:type", "phone", 'PhoneNumber', 'P&i"o!".$.%o##Kw&y'];
70
+ exports.__ΩPhoneNumber = __ΩPhoneNumber;
71
+ const __ΩPhoneNumberNANP = [() => __ΩValidate, () => _validatePhone, () => __ΩTypeAnnotation, "dksf:type", "phoneNanp", 'PhoneNumberNANP', 'P&i"o!".$.%o##Kw&y'];
72
+ exports.__ΩPhoneNumberNANP = __ΩPhoneNumberNANP;
73
+ //# sourceMappingURL=phone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone.js","sourceRoot":"","sources":["../../../src/types/phone.ts"],"names":[],"mappings":";;;AASA,gCAGC;AAWD,kDAKC;;;;;;oCA5B8B,eAAe;;8BACuC,eAAe;AAApG,wCAAqG;AACrG,iEAA2E;AAE3E,wCAA4C;AAE5C,MAAM,cAAc,GAAG,uCAAe,CAAC,WAAW,EAAE,CAAC;AACrD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,yBAAyB;AAEtE,SAAgB,UAAU,CAAC,KAAa,EAAE,UAAkB,IAAI;IAC5D,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,OAAO,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3D,CAAC;;AAED,SAAS,kBAAkB,CAAC,KAAa,EAAE,UAAkB,IAAI,EAAE,aAAa,GAAG,KAAK;IACpF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,kBAAkB,CAAC;IACzD,MAAM,MAAM,GAAG,IAAA,wBAAc,EAAC,GAAG,EAAE,CAAC,cAAc,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACzF,IAAI,MAAM,YAAY,KAAK;QAAE,OAAO,kBAAkB,CAAC;IACvD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,kBAAkB,CAAC;IACrE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,yCAAiB,CAAC,IAAI,CAAC,CAAC;IACrE,OAAO,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/D,CAAC;;AAED,SAAgB,mBAAmB,CAAC,KAAa,EAAE,OAAgB;IAC/D,MAAM,MAAM,GAAG,IAAA,wBAAc,EAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,IAAI,MAAM,YAAY,KAAK;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,yCAAiB,CAAC,QAAQ,CAAC,CAAC;AACrE,CAAC;;AAED,SAAS,cAAc,CAAC,KAAc;IAClC,IAAI,KAAK,KAAK,kBAAkB,EAAE,CAAC;QAC/B,OAAO,IAAI,qBAAc,CAAC,cAAc,EAAE,8BAA8B,CAAC,CAAC;IAC9E,CAAC;AACL,CAAC;;AAED,iBAAU,CAAC,mBAAmB,CAAC,YAAY,cACvC,CAAC,CAAC,EAAE;IACA,MAAM,QAAQ,GAAG,qBAAc,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACxD,OAAO,QAAQ,EAAE,IAAI,KAAK,qBAAc,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC;AACrF,CAAC,sCACD,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IACb,KAAK,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC,gBAAgB,CAAC;cACjB,KAAK,CAAC,MAAM,yBAAyB,KAAK,CAAC,QAAQ;SACxD,CAAC,CAAC;AACP,CAAC,wCACJ,CAAC;AAEF,iBAAU,CAAC,mBAAmB,CAAC,YAAY,cACvC,CAAC,CAAC,EAAE;IACA,MAAM,QAAQ,GAAG,qBAAc,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACxD,OAAO,QAAQ,EAAE,IAAI,KAAK,qBAAc,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,CAAC;AACzF,CAAC,sCACD,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IACb,KAAK,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACzC,KAAK,CAAC,gBAAgB,CAAC;cACjB,KAAK,CAAC,MAAM,yBAAyB,KAAK,CAAC,QAAQ;SACxD,CAAC,CAAC;AACP,CAAC,wCACJ,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { defineConfig } from 'vitepress'
2
+
3
+ // https://vitepress.dev/reference/site-config
4
+ export default defineConfig({
5
+ srcDir: 'content',
6
+ title: "@signal24/dk-server-foundation",
7
+ description: "TypeScript foundation library built on Deepkit for building server applications",
8
+ base: '/dk-server-foundation/',
9
+
10
+ themeConfig: {
11
+ // https://vitepress.dev/reference/default-theme-config
12
+ nav: [
13
+ { text: 'Home', link: '/' },
14
+ { text: 'Getting Started', link: '/getting-started' },
15
+ { text: 'Guide', link: '/guide/' }
16
+ ],
17
+
18
+ sidebar: [
19
+ {
20
+ text: 'Introduction',
21
+ items: [
22
+ { text: 'Getting Started', link: '/getting-started' },
23
+ { text: 'Configuration', link: '/configuration' }
24
+ ]
25
+ },
26
+ {
27
+ text: 'Core',
28
+ items: [
29
+ { text: 'Database', link: '/database' },
30
+ { text: 'HTTP', link: '/http' },
31
+ { text: 'Authentication', link: '/authentication' },
32
+ { text: 'Logging', link: '/logging' },
33
+ { text: 'Health Checks', link: '/health' },
34
+ { text: 'Types', link: '/types' }
35
+ ]
36
+ },
37
+ {
38
+ text: 'Services',
39
+ items: [
40
+ { text: 'Workers', link: '/worker' },
41
+ { text: 'SRPC', link: '/srpc' },
42
+ { text: 'Leader Service', link: '/leader-service' },
43
+ { text: 'Mesh Service', link: '/mesh-service' },
44
+ { text: 'Mail', link: '/mail' }
45
+ ]
46
+ },
47
+ {
48
+ text: 'Utilities',
49
+ items: [
50
+ { text: 'Redis', link: '/redis' },
51
+ { text: 'Helpers', link: '/helpers' },
52
+ { text: 'Telemetry', link: '/telemetry' },
53
+ { text: 'Testing', link: '/testing' },
54
+ { text: 'DevConsole', link: '/devconsole' },
55
+ { text: 'CLI Tools', link: '/cli' }
56
+ ]
57
+ },
58
+ {
59
+ text: 'Guides',
60
+ items: [
61
+ { text: 'Test Migration Guide', link: '/guides/test-migration-guide' }
62
+ ]
63
+ }
64
+ ],
65
+
66
+ socialLinks: [
67
+ { icon: 'github', link: 'https://github.com/signal24/dk-server-foundation' }
68
+ ],
69
+
70
+ search: {
71
+ provider: 'local'
72
+ },
73
+
74
+ footer: {
75
+ message: 'Released under the MIT License.',
76
+ copyright: 'Copyright © 2024-present Signal 24'
77
+ }
78
+ }
79
+ })
@@ -0,0 +1 @@
1
+ nodeLinker: node-modules
@@ -0,0 +1,140 @@
1
+ # Contributing to Documentation
2
+
3
+ Thank you for contributing to the dk-server-foundation documentation!
4
+
5
+ ## Quick Start
6
+
7
+ 1. **Install dependencies**:
8
+ ```bash
9
+ yarn install
10
+ ```
11
+
12
+ 2. **Start the development server**:
13
+ ```bash
14
+ yarn docs:dev
15
+ ```
16
+
17
+ This will start a local server with hot reload.
18
+
19
+ 3. **Make your changes** to the Markdown files in the `docs/` directory.
20
+
21
+ 4. **Preview your changes** in the browser - they'll update automatically.
22
+
23
+ 5. **Build to verify** (optional):
24
+ ```bash
25
+ yarn docs:build
26
+ ```
27
+
28
+ ## Adding a New Page
29
+
30
+ 1. Create a new Markdown file in the `docs/` directory (e.g., `docs/my-feature.md`)
31
+
32
+ 2. Add frontmatter if needed:
33
+ ```markdown
34
+ ---
35
+ title: My Feature
36
+ description: Description for SEO
37
+ ---
38
+
39
+ # My Feature
40
+
41
+ Content here...
42
+ ```
43
+
44
+ 3. Update the sidebar in `docs/.vitepress/config.mts`:
45
+ ```typescript
46
+ sidebar: [
47
+ {
48
+ text: 'My Section',
49
+ items: [
50
+ { text: 'My Feature', link: '/my-feature' }
51
+ ]
52
+ }
53
+ ]
54
+ ```
55
+
56
+ ## Adding Images
57
+
58
+ 1. Place images in `docs/public/images/` (organize in subdirectories as needed)
59
+
60
+ 2. Reference them in Markdown with an absolute path:
61
+ ```markdown
62
+ ![Alt text](/images/subfolder/image.png)
63
+ ```
64
+
65
+ ## Markdown Features
66
+
67
+ VitePress supports standard Markdown plus these enhancements:
68
+
69
+ ### Code Blocks with Syntax Highlighting
70
+
71
+ \```typescript
72
+ const app = createApp({
73
+ config: AppConfig
74
+ });
75
+ \```
76
+
77
+ ### Custom Containers
78
+
79
+ ```markdown
80
+ ::: tip
81
+ This is a tip
82
+ :::
83
+
84
+ ::: warning
85
+ This is a warning
86
+ :::
87
+
88
+ ::: danger
89
+ This is a dangerous warning
90
+ :::
91
+
92
+ ::: info
93
+ This is an info box
94
+ :::
95
+ ```
96
+
97
+ ### Links
98
+
99
+ - Internal links: `[Getting Started](/getting-started)`
100
+ - External links: `[Deepkit](https://deepkit.io)`
101
+
102
+ ### Tables
103
+
104
+ ```markdown
105
+ | Feature | Description |
106
+ | ------- | ----------- |
107
+ | Fast | Built on Vite |
108
+ | Simple | Just Markdown |
109
+ ```
110
+
111
+ ## Deployment
112
+
113
+ Documentation is automatically deployed to GitHub Pages when changes are merged to the `main` branch. The deployment workflow is in `.github/workflows/deploy-docs.yml`.
114
+
115
+ ## Testing Before Commit
116
+
117
+ 1. Build the docs: `yarn docs:build`
118
+ 2. Preview the build: `yarn docs:preview`
119
+ 3. Check for:
120
+ - Broken links
121
+ - Missing images
122
+ - Formatting issues
123
+ - Spelling/grammar
124
+
125
+ ## Style Guide
126
+
127
+ - Use clear, concise language
128
+ - Include code examples where helpful
129
+ - Add links to related documentation
130
+ - Use proper Markdown headings (# for h1, ## for h2, etc.)
131
+ - Keep line length reasonable for readability
132
+ - Use fenced code blocks with language specifiers
133
+
134
+ ## Questions?
135
+
136
+ - Check the [VitePress documentation](https://vitepress.dev/)
137
+ - Look at existing pages for examples
138
+ - Open an issue on GitHub for questions
139
+
140
+ Thank you for improving our documentation! 🎉
@@ -0,0 +1,142 @@
1
+ # Documentation Site Development
2
+
3
+ This directory contains the VitePress-based documentation site for @zyno-io/dk-server-foundation.
4
+
5
+ ## Local Development
6
+
7
+ ### Prerequisites
8
+
9
+ - Node.js 18+
10
+ - Yarn package manager
11
+
12
+ ### Install Dependencies
13
+
14
+ From the repository root:
15
+
16
+ ```bash
17
+ yarn install
18
+ ```
19
+
20
+ ### Development Server
21
+
22
+ Start the VitePress development server with hot reload:
23
+
24
+ ```bash
25
+ yarn docs:dev
26
+ ```
27
+
28
+ The site will be available at `http://localhost:5173`
29
+
30
+ ### Build
31
+
32
+ Build the static site for production:
33
+
34
+ ```bash
35
+ yarn docs:build
36
+ ```
37
+
38
+ The built site will be in `docs/.vitepress/dist`
39
+
40
+ ### Preview
41
+
42
+ Preview the production build locally:
43
+
44
+ ```bash
45
+ yarn docs:preview
46
+ ```
47
+
48
+ ## Structure
49
+
50
+ ```
51
+ docs/
52
+ ├── .vitepress/
53
+ │ ├── config.mts # VitePress configuration
54
+ │ └── dist/ # Build output (generated)
55
+ ├── public/
56
+ │ └── images/
57
+ │ └── devconsole/ # DevConsole screenshots
58
+ ├── guides/ # Guide documents
59
+ ├── index.md # Home page (hero layout)
60
+ ├── getting-started.md # Getting started guide
61
+ ├── configuration.md # Configuration reference
62
+ ├── database.md # Database documentation
63
+ ├── http.md # HTTP documentation
64
+ ├── authentication.md # Authentication documentation
65
+ ├── worker.md # Workers documentation
66
+ ├── srpc.md # SRPC documentation
67
+ ├── devconsole.md # DevConsole documentation
68
+ └── ... # Other documentation files
69
+ ```
70
+
71
+ ## Adding Documentation
72
+
73
+ 1. Create or edit Markdown files in `docs/`
74
+ 2. Update the sidebar in `.vitepress/config.mts` if adding new pages
75
+ 3. Use standard Markdown with VitePress enhancements
76
+
77
+ ## Adding Images
78
+
79
+ Place images in `docs/public/images/` and reference them with `/images/...` in Markdown:
80
+
81
+ ```markdown
82
+ ![Alt text](/images/example.png)
83
+ ```
84
+
85
+ ## Capturing DevConsole Screenshots
86
+
87
+ To update the DevConsole screenshots used in the documentation:
88
+
89
+ ### Prerequisites
90
+
91
+ 1. Install Playwright:
92
+
93
+ ```bash
94
+ npm install -D @playwright/test
95
+ npx playwright install chromium
96
+ ```
97
+
98
+ 2. Ensure MySQL and Redis are running
99
+
100
+ ### Capture Screenshots
101
+
102
+ 1. In one terminal, start the demo app:
103
+
104
+ ```bash
105
+ yarn demoapp
106
+ ```
107
+
108
+ 2. Wait for the server to start (you'll see "Server started" message)
109
+
110
+ 3. In another terminal, run the screenshot capture script:
111
+ ```bash
112
+ yarn docs:screenshots
113
+ ```
114
+
115
+ This will automatically:
116
+
117
+ - Navigate through all 10 DevConsole views
118
+ - Wait for each page to load completely
119
+ - Capture full-page screenshots
120
+ - Save them to `docs/content/public/images/devconsole/`
121
+
122
+ For headless mode (faster, no visible browser):
123
+
124
+ ```bash
125
+ yarn docs:screenshots:headless
126
+ ```
127
+
128
+ See `scripts/README-SCREENSHOTS.md` for detailed instructions and troubleshooting.
129
+
130
+ ## Deployment
131
+
132
+ The documentation is automatically deployed to GitHub Pages when changes are pushed to the `main` branch. The workflow is defined in `.github/workflows/deploy-docs.yml`.
133
+
134
+ ### Manual Deployment
135
+
136
+ To trigger a manual deployment, go to the Actions tab in GitHub and run the "Deploy Documentation" workflow.
137
+
138
+ ## Links
139
+
140
+ - [VitePress Documentation](https://vitepress.dev/)
141
+ - [Main Repository](https://github.com/zyno-io/dk-server-foundation)
142
+ - [Published Documentation](https://zyno-io.github.io/dk-server-foundation/)
@@ -0,0 +1,39 @@
1
+ # Documentation
2
+
3
+ ## Getting Started
4
+
5
+ | Document | Description |
6
+ | --------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
7
+ | [Getting Started](./getting-started.md) | Installation, app creation with `createApp()`, AutoStart, dependency resolution, and environment detection. |
8
+ | [Configuration](./configuration.md) | Full reference for all built-in environment variables: database, auth, Redis, mail, telemetry, and more. |
9
+
10
+ ## Core
11
+
12
+ | Document | Description |
13
+ | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
14
+ | [Database](./database.md) | MySQL/MariaDB ORM with transactions, hooks, session locks, raw queries, entity creation, dirty tracking, relationship resolution, and migrations. |
15
+ | [HTTP](./http.md) | Custom HTTP kernel, middleware, CORS, error handling, file uploads, response helpers, and request-scoped caching. |
16
+ | [Authentication](./authentication.md) | JWT (HS256/EdDSA) and HTTP Basic Auth with entity resolution, password hashing, and reset tokens. |
17
+ | [Logging](./logging.md) | Scoped Pino logger with async context tracking, structured data, and error reporting integration. |
18
+ | [Health Checks](./health.md) | Extensible health check service with `/healthz` endpoint and automatic database health monitoring. |
19
+ | [Types](./types.md) | Custom validated types: phone numbers, dates, coordinates, emails, trimmed strings, and utility types. |
20
+
21
+ ## Services
22
+
23
+ | Document | Description |
24
+ | ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
25
+ | [Workers](./worker.md) | BullMQ background job processing with `@WorkerJob()` decorator, cron scheduling, and leader-elected job recording. |
26
+ | [SRPC](./srpc.md) | Bidirectional WebSocket RPC with HMAC auth, ts-proto code generation, multiplexed binary streams, and tracing. |
27
+ | [Leader Service](./leader-service.md) | Distributed leader election via Redis. One instance holds the lock at a time, with TTL-based expiry, automatic renewal, and callbacks for leadership transitions. |
28
+ | [Mesh Service](./mesh-service.md) | Typed RPC between distributed instances. Nodes register handlers and invoke them across the mesh by instance ID, with automatic heartbeats, timeout management, and dead-node cleanup. |
29
+ | [Mail](./mail.md) | Email sending via Postmark or SMTP with a template system. |
30
+
31
+ ## Utilities
32
+
33
+ | Document | Description |
34
+ | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
35
+ | [Helpers](./helpers.md) | Async context, Redis cache/mutex/broadcast, cryptography, data manipulation, transformers, process execution, and more. |
36
+ | [Telemetry](./telemetry.md) | OpenTelemetry auto-instrumentation for HTTP, database, Redis, DNS, BullMQ, and Sentry error tracking. |
37
+ | [Testing](./testing.md) | Test facades with per-test database isolation, entity fixtures, mock requests, and SQL mocking. |
38
+ | [DevConsole](./devconsole.md) | Built-in web dashboard for development: HTTP inspector, SRPC monitor, database browser, REPL, worker/mutex/health views, and more. |
39
+ | [CLI Tools](./cli.md) | `dksf-dev` workflow (clean/build/run/migrate/test), REPL, provider invoke, migration commands, proto generation, and standalone tools. |