@futdevpro/nts-dynamo 1.15.15 โ†’ 1.15.17

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 (348) hide show
  1. package/.c8rc.json +26 -26
  2. package/.copilot/patterns.json +7 -7
  3. package/.cursor/rules/__assistant_guide.mdc +30 -30
  4. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  5. package/.cursor/rules/_ag_backend.mdc +16 -16
  6. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  7. package/.cursor/rules/_ag_frontend.mdc +39 -39
  8. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  9. package/.cursor/rules/_ag_naming.mdc +115 -115
  10. package/.cursor/rules/_ag_should-be.mdc +6 -6
  11. package/.cursor/rules/ai_development_guide.md +60 -60
  12. package/.cursor/rules/cursor-rules.md +160 -160
  13. package/.cursor/rules/default-command.mdc +464 -464
  14. package/.cursor/rules/error_code_pattern.md +39 -39
  15. package/.cursor/rules/saved rule mcp server use.md +15 -15
  16. package/.dynamo/version-bump.config.json +5 -0
  17. package/.github/workflows/main.yml +426 -393
  18. package/.husky/pre-commit +1 -0
  19. package/.vscode/settings.json +10 -10
  20. package/HOWTO.md +15 -15
  21. package/LICENSE +21 -21
  22. package/__documentations/2026-04-28-logs-module.md +49 -0
  23. package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
  24. package/_specifications/BACKLOG.md +50 -50
  25. package/_specifications/TODO.md +15 -15
  26. package/_specifications/agent.md +138 -138
  27. package/eslint.config.js +3 -3
  28. package/nodemon.json +24 -24
  29. package/package.json +343 -362
  30. package/pipeline.cicd.config.json +152 -0
  31. package/pnpm-workspace.yaml +2 -0
  32. package/scripts/run-coverage-tests.js +28 -28
  33. package/spec/support/helpers/spec-reporter-loader.js +359 -359
  34. package/spec/support/helpers/ts-node-helper.js +93 -93
  35. package/spec/support/jasmine.coverage.json +24 -24
  36. package/spec/support/jasmine.json +24 -24
  37. package/src/_collections/archive.util.spec.ts +57 -57
  38. package/src/_collections/archive.util.ts +18 -18
  39. package/src/_collections/atlas-default-db-options.const.ts +9 -9
  40. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -11
  41. package/src/_collections/default-fallback-cache-max-age.const.ts +2 -2
  42. package/src/_collections/default-not-found-page.const.spec.ts +19 -19
  43. package/src/_collections/default-not-found-page.const.ts +22 -22
  44. package/src/_collections/default-socket-path.const.spec.ts +12 -12
  45. package/src/_collections/default-socket-path.const.ts +2 -2
  46. package/src/_collections/get-environment-settings.util.spec.ts +210 -210
  47. package/src/_collections/get-environment-settings.util.ts +48 -48
  48. package/src/_collections/sample.env +21 -21
  49. package/src/_collections/star.controller.spec.ts +224 -224
  50. package/src/_collections/star.controller.ts +129 -129
  51. package/src/_enums/data-model-type.enum.ts +14 -14
  52. package/src/_enums/data-service-function.enum.ts +24 -24
  53. package/src/_enums/predefined-data-types.enum.ts +16 -16
  54. package/src/_enums/route-security.enum.ts +12 -12
  55. package/src/_models/control-models/api-call-params.control-model.spec.ts +152 -152
  56. package/src/_models/control-models/api-call-params.control-model.ts +142 -142
  57. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -52
  58. package/src/_models/control-models/app-ext-system-controls.control-model.ts +9 -9
  59. package/src/_models/control-models/app-params.control-model.spec.ts +225 -225
  60. package/src/_models/control-models/app-params.control-model.ts +136 -136
  61. package/src/_models/control-models/app-system-controls.control-model.spec.ts +31 -31
  62. package/src/_models/control-models/app-system-controls.control-model.ts +9 -9
  63. package/src/_models/control-models/endpoint-params.control-model.spec.ts +578 -578
  64. package/src/_models/control-models/endpoint-params.control-model.ts +526 -526
  65. package/src/_models/control-models/http-settings.control-model.spec.ts +77 -77
  66. package/src/_models/control-models/http-settings.control-model.ts +37 -37
  67. package/src/_models/control-models/system-control.control-model.spec.ts +27 -27
  68. package/src/_models/control-models/system-control.control-model.ts +12 -12
  69. package/src/_models/interfaces/certification-settings.interface.ts +7 -7
  70. package/src/_models/interfaces/environment-settings.interface.ts +59 -59
  71. package/src/_models/interfaces/global-log-settings.interface.ts +108 -108
  72. package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
  73. package/src/_models/interfaces/routing-module-settings.interface.ts +21 -21
  74. package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -29
  75. package/src/_models/interfaces/static-client-settings.interface.ts +28 -28
  76. package/src/_models/types/db-update.type.ts +100 -100
  77. package/src/_modules/ai/_models/ai-input-interfaces.ts +117 -117
  78. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -16
  79. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -138
  80. package/src/_modules/ai/_modules/anthropic/index.ts +5 -5
  81. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -242
  82. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +639 -639
  83. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -209
  84. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +85 -85
  85. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +7 -7
  86. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +146 -146
  87. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +162 -162
  88. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +99 -99
  89. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +18 -18
  90. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +19 -19
  91. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +25 -25
  92. package/src/_modules/ai/_modules/document-ai/index.ts +28 -28
  93. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -189
  94. package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -5
  95. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -9
  96. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +82 -82
  97. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +75 -75
  98. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -45
  99. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +7 -7
  100. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -7
  101. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -57
  102. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +292 -292
  103. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -342
  104. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -550
  105. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +630 -630
  106. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +240 -240
  107. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +98 -98
  108. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -462
  109. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +615 -615
  110. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +437 -437
  111. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +833 -833
  112. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
  113. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -98
  114. package/src/_modules/ai/_services/ai-embedding.service-base.ts +48 -48
  115. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -229
  116. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +68 -68
  117. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -250
  118. package/src/_modules/ai/_services/ai-llm.service-base.ts +332 -332
  119. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +79 -79
  120. package/src/_modules/ai/_services/ai-provider.service-base.ts +29 -29
  121. package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
  122. package/src/_modules/ai/index.ts +13 -13
  123. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +13 -13
  124. package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -176
  125. package/src/_modules/assistant/_collections/ass.util.ts +50 -50
  126. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +15 -15
  127. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -140
  128. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -192
  129. package/src/_modules/assistant/_services/ass-main.control-service.ts +107 -107
  130. package/src/_modules/bot/_collections/bot-default-commands.const.ts +12 -12
  131. package/src/_modules/bot/_collections/bot-global-settings.const.ts +39 -39
  132. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +62 -62
  133. package/src/_modules/bot/_models/bot-command.interface.ts +8 -8
  134. package/src/_modules/bot/_models/bot-global-settings.interface.ts +96 -96
  135. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +6 -6
  136. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +5 -5
  137. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +41 -41
  138. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +9 -9
  139. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -431
  140. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -160
  141. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +55 -55
  142. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +15 -15
  143. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -374
  144. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +447 -447
  145. package/src/_modules/bot/_modules/dynamo-bot/index.ts +15 -15
  146. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +9 -9
  147. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -344
  148. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +197 -197
  149. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +9 -9
  150. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -345
  151. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +197 -197
  152. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -116
  153. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -285
  154. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -208
  155. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -349
  156. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -111
  157. package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -49
  158. package/src/_modules/custom-data/custom-data.controller.ts +67 -67
  159. package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -54
  160. package/src/_modules/custom-data/custom-data.data-service.ts +21 -21
  161. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -28
  162. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +24 -24
  163. package/src/_modules/custom-data/index.ts +9 -9
  164. package/src/_modules/defaults/_collections/default-endpoints.util.ts +487 -487
  165. package/src/_modules/defaults/_models/default-user.data-model.ts +72 -72
  166. package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -269
  167. package/src/_modules/defaults/_services/default-auth.service.ts +177 -177
  168. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -42
  169. package/src/_modules/defaults/_services/default-socket-events.service.ts +61 -61
  170. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -187
  171. package/src/_modules/defaults/_services/default-user.data-service.ts +98 -98
  172. package/src/_modules/defaults/index.ts +17 -17
  173. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -19
  174. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -366
  175. package/src/_modules/discord-assistant/_collections/dias.util.ts +132 -132
  176. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +19 -19
  177. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +52 -52
  178. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +177 -177
  179. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -108
  180. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +69 -69
  181. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -22
  182. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +27 -27
  183. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -195
  184. package/src/_modules/discord-assistant/_services/dias.service-base.ts +76 -76
  185. package/src/_modules/discord-assistant/index.ts +38 -38
  186. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -34
  187. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -11
  188. package/src/_modules/discord-assistant-voiced/index.ts +36 -36
  189. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +16 -16
  190. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +55 -55
  191. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -214
  192. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +387 -387
  193. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -12
  194. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +98 -98
  195. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +7 -7
  196. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -6
  197. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -154
  198. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +153 -153
  199. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -264
  200. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +306 -306
  201. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -408
  202. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +487 -487
  203. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -105
  204. package/src/_modules/discord-bot/index.ts +36 -36
  205. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +19 -19
  206. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +17 -17
  207. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -418
  208. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +276 -276
  209. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +345 -345
  210. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +330 -330
  211. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +393 -393
  212. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +220 -220
  213. package/src/_modules/local-vector-search/index.ts +11 -11
  214. package/src/_modules/messaging/README.md +354 -354
  215. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +26 -26
  216. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +22 -22
  217. package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -226
  218. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +37 -37
  219. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +146 -146
  220. package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -219
  221. package/src/_modules/messaging/_services/msg-events.service.ts +267 -267
  222. package/src/_modules/messaging/_services/msg-integration.control-service.ts +179 -179
  223. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -147
  224. package/src/_modules/messaging/_services/msg-main.control-service.ts +571 -571
  225. package/src/_modules/messaging/_services/msg-message.data-service.ts +129 -129
  226. package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -201
  227. package/src/_modules/messaging/index.ts +30 -30
  228. package/src/_modules/mock/app-extended-server.mock.ts +201 -201
  229. package/src/_modules/mock/app-integration-test.mock.ts +51 -51
  230. package/src/_modules/mock/app-params.mock.spec.ts +21 -21
  231. package/src/_modules/mock/app-params.mock.ts +9 -9
  232. package/src/_modules/mock/app-server.mock.ts +188 -188
  233. package/src/_modules/mock/auth-service.mock.spec.ts +47 -47
  234. package/src/_modules/mock/auth-service.mock.ts +28 -28
  235. package/src/_modules/mock/controller.mock.spec.ts +26 -26
  236. package/src/_modules/mock/controller.mock.ts +16 -16
  237. package/src/_modules/mock/data-model.mock.spec.ts +111 -111
  238. package/src/_modules/mock/data-model.mock.ts +82 -82
  239. package/src/_modules/mock/email-service-collection.mock.spec.ts +24 -24
  240. package/src/_modules/mock/email-service-collection.mock.ts +15 -15
  241. package/src/_modules/mock/email-service.mock.spec.ts +17 -17
  242. package/src/_modules/mock/email-service.mock.ts +20 -20
  243. package/src/_modules/mock/email-template.mock.html +14 -14
  244. package/src/_modules/mock/endpoint.mock.ts +91 -91
  245. package/src/_modules/mock/socket-client.mock.spec.ts +40 -40
  246. package/src/_modules/mock/socket-client.mock.ts +45 -45
  247. package/src/_modules/mock/socket-server.mock.spec.ts +44 -44
  248. package/src/_modules/mock/socket-server.mock.ts +46 -46
  249. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -107
  250. package/src/_modules/oauth2/_routes/oauth2.controller.ts +98 -98
  251. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -254
  252. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -232
  253. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -585
  254. package/src/_modules/oauth2/_services/oauth2.control-service.ts +653 -653
  255. package/src/_modules/oauth2/index.ts +17 -17
  256. package/src/_modules/server/errors/errors.control-service.spec.ts +230 -230
  257. package/src/_modules/server/errors/errors.control-service.ts +69 -69
  258. package/src/_modules/server/errors/errors.controller.spec.ts +165 -165
  259. package/src/_modules/server/errors/errors.controller.ts +270 -270
  260. package/src/_modules/server/errors/errors.data-service.spec.ts +355 -355
  261. package/src/_modules/server/index.ts +30 -30
  262. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -70
  263. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -17
  264. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -77
  265. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +37 -37
  266. package/src/_modules/server/server-status/server-status.control-service.spec.ts +516 -516
  267. package/src/_modules/server/server-status/server-status.control-service.ts +336 -336
  268. package/src/_modules/server/server-status/server-status.controller.spec.ts +156 -156
  269. package/src/_modules/server/server-status/server-status.controller.ts +131 -131
  270. package/src/_modules/socket/_enums/socket-security.enum.ts +11 -11
  271. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +32 -32
  272. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +22 -22
  273. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -164
  274. package/src/_modules/socket/_models/socket-presence.control-model.ts +210 -210
  275. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +46 -46
  276. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +22 -22
  277. package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -15
  278. package/src/_modules/socket/_services/socket-client.service.ts +260 -260
  279. package/src/_modules/socket/_services/socket-server.service.spec.ts +11 -11
  280. package/src/_modules/socket/app-extended.integration.spec.ts +85 -85
  281. package/src/_modules/socket/app-extended.server.ts +630 -630
  282. package/src/_modules/socket/index.ts +42 -42
  283. package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -28
  284. package/src/_modules/test/get-test-routing-module.util.ts +23 -23
  285. package/src/_modules/test/index.ts +11 -11
  286. package/src/_modules/test/test.controller.spec.ts +72 -72
  287. package/src/_modules/test/test.controller.ts +115 -115
  288. package/src/_modules/usage/get-usage-routing-module.util.ts +22 -22
  289. package/src/_modules/usage/index.ts +15 -15
  290. package/src/_modules/usage/usage.controller.spec.ts +81 -81
  291. package/src/_modules/usage/usage.controller.ts +126 -126
  292. package/src/_modules/usage/usage.data-service.spec.ts +332 -332
  293. package/src/_modules/usage/usage.data-service.ts +185 -185
  294. package/src/_services/base/api.service-base.spec.ts +125 -125
  295. package/src/_services/base/api.service-base.ts +74 -74
  296. package/src/_services/base/archive-data.service.spec.ts +196 -196
  297. package/src/_services/base/archive-data.service.ts +216 -216
  298. package/src/_services/base/data.service.spec.ts +493 -493
  299. package/src/_services/base/data.service.ts +2525 -2525
  300. package/src/_services/base/db.service.spec.ts +73 -73
  301. package/src/_services/base/db.service.ts +1575 -1575
  302. package/src/_services/base/singleton.service-base.spec.ts +28 -28
  303. package/src/_services/base/singleton.service-base.ts +24 -24
  304. package/src/_services/base/singleton.service.spec.ts +114 -114
  305. package/src/_services/base/singleton.service.ts +38 -38
  306. package/src/_services/core/api.service.spec.ts +140 -140
  307. package/src/_services/core/auth.service.spec.ts +159 -159
  308. package/src/_services/core/auth.service.ts +174 -174
  309. package/src/_services/core/email.service.spec.ts +85 -85
  310. package/src/_services/core/email.service.ts +742 -742
  311. package/src/_services/core/global.service.spec.ts +275 -275
  312. package/src/_services/core/global.service.ts +461 -461
  313. package/src/_services/core/service-collection.service.spec.ts +46 -46
  314. package/src/_services/core/service-collection.service.ts +6 -6
  315. package/src/_services/route/controller.service.spec.ts +53 -53
  316. package/src/_services/route/controller.service.ts +148 -148
  317. package/src/_services/route/routing-module.service.spec.ts +98 -98
  318. package/src/_services/route/routing-module.service.ts +330 -330
  319. package/src/_services/shared.static-service.spec.ts +99 -99
  320. package/src/_services/shared.static-service.ts +78 -78
  321. package/src/index.ts +94 -94
  322. package/tsconfig.app.json +12 -12
  323. package/tsconfig.json +42 -42
  324. package/build/_modules/logs/get-logs-routing-module.util.d.ts +0 -19
  325. package/build/_modules/logs/get-logs-routing-module.util.d.ts.map +0 -1
  326. package/build/_modules/logs/get-logs-routing-module.util.js +0 -32
  327. package/build/_modules/logs/get-logs-routing-module.util.js.map +0 -1
  328. package/build/_modules/logs/index.d.ts +0 -4
  329. package/build/_modules/logs/index.d.ts.map +0 -1
  330. package/build/_modules/logs/index.js +0 -10
  331. package/build/_modules/logs/index.js.map +0 -1
  332. package/build/_modules/logs/log-buffer.service.d.ts +0 -38
  333. package/build/_modules/logs/log-buffer.service.d.ts.map +0 -1
  334. package/build/_modules/logs/log-buffer.service.js +0 -97
  335. package/build/_modules/logs/log-buffer.service.js.map +0 -1
  336. package/build/_modules/logs/logs.controller.d.ts +0 -27
  337. package/build/_modules/logs/logs.controller.d.ts.map +0 -1
  338. package/build/_modules/logs/logs.controller.js +0 -90
  339. package/build/_modules/logs/logs.controller.js.map +0 -1
  340. package/build/_modules/logs/logs.service.d.ts +0 -40
  341. package/build/_modules/logs/logs.service.d.ts.map +0 -1
  342. package/build/_modules/logs/logs.service.js +0 -97
  343. package/build/_modules/logs/logs.service.js.map +0 -1
  344. package/src/_modules/logs/get-logs-routing-module.util.ts +0 -36
  345. package/src/_modules/logs/index.ts +0 -3
  346. package/src/_modules/logs/log-buffer.service.ts +0 -101
  347. package/src/_modules/logs/logs.controller.ts +0 -109
  348. package/src/_modules/logs/logs.service.ts +0 -100
@@ -1,399 +1,432 @@
1
- name: Test and Deploy
2
- on:
3
- push:
4
- branches:
5
- - '**'
6
- permissions:
7
- actions: read
8
- id-token: write
9
- contents: read
10
- checks: write
11
- issues: read
12
- pull-requests: write
13
- env:
14
- PACKAGE_NAME: ''
15
- THIS_VERSION: 0.0.0
16
- LATEST_VERSION: 0.0.0
17
- VERSION_PUBLISHED: true
1
+ # =============================================================================
2
+ # Dynamo-NTS CI/CD โ€” Overseer Pipeline Trigger
3
+ # =============================================================================
4
+ # Ez a workflow CSAK egy webhook-ot kuld az Overseer-nek es AZONNAL kilep.
5
+ # A pipeline-t az Overseer FDP Runner-ek futtatjak (nem a GitHub Actions).
6
+ #
7
+ # A regi workflow a fajl vegen kommentben megtalalhato (fallback).
8
+ # =============================================================================
9
+
10
+ name: Trigger Pipeline
11
+ on:
12
+ workflow_dispatch:
13
+ # Az org-szintu GitHub webhook kozvetlenul triggereli az Overseer-t.
14
+ # Ez a workflow csak manualis fallback (workflow_dispatch).
18
15
 
19
16
  jobs:
20
- notification0:
21
- name: ๐Ÿน Discord start Notification
22
- #runs-on: ubuntu-latest
23
- runs-on: plo-koon
24
- timeout-minutes: 20
25
- outputs:
26
- start: ${{ steps.mark_start.outputs.started }}
27
- steps:
28
- - uses: actions/checkout@v4
29
- - id: mark_start
30
- run: echo "started=$(date +%s)" >> "$GITHUB_OUTPUT"
31
- - name: Send Discord start notification
32
- uses: futdevpro/fdp-github-actions/discord-start-notification@latest
33
- with:
34
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
35
- APPLICATION_NAME: "Dynamo-NTS"
36
- APPLICATION_EMOJI: "๐Ÿ’ฝ"
37
- COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
38
- EVENT_DATETIME: ${{ github.event.head_commit.timestamp }}
39
- DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
40
- DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
41
-
42
- notification0_fail_report:
43
- name: ๐Ÿ’ฃ Discord Start Notification Fail Report
44
- runs-on: ubuntu-latest
45
- #runs-on: plo-koon
46
- timeout-minutes: 20
47
- if: always() && needs.notification0.result == 'failure'
48
- needs: [notification0]
49
- steps:
50
- - name: send custom message with args
51
- uses: appleboy/discord-action@master
52
- with:
53
- webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }}
54
- webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
55
- message: |
56
- โŒโŒโŒ๐Ÿ’ฝ Failed to send Discord start notification for ${{ github.repository }}! [๐Ÿ”—](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
57
-
58
- check_secrets:
59
- name: ๐Ÿ” Check Required Secrets and Variables
60
- #runs-on: ubuntu-latest
61
- runs-on: plo-koon
62
- timeout-minutes: 20
63
- steps:
64
- - name: Check Required Secrets and Variables
65
- uses: futdevpro/fdp-github-actions/check-secrets-and-variables@latest
66
- with:
67
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
68
- ITEMS_TO_CHECK: |
69
- [
70
- {
71
- "valueName": "NPM_TOKEN",
72
- "value": "${{ secrets.NPM_TOKEN }}",
73
- "type": "SECRET"
74
- },
75
- {
76
- "valueName": "DISCORD_WEBHOOK_ID",
77
- "value": "${{ secrets.DISCORD_WEBHOOK_ID }}",
78
- "type": "SECRET"
79
- },
80
- {
81
- "valueName": "DISCORD_WEBHOOK_TOKEN",
82
- "value": "${{ secrets.DISCORD_WEBHOOK_TOKEN }}",
83
- "type": "SECRET"
84
- },
85
- {
86
- "valueName": "OVERSEER_SECRET_KEY",
87
- "value": "${{ secrets.OVERSEER_SECRET_KEY }}",
88
- "type": "SECRET"
89
- },
90
-
91
- {
92
- "valueName": "OVERSEER_URL",
93
- "value": "${{ vars.OVERSEER_URL }}",
94
- "type": "VARIABLE"
95
- }
96
- ]
97
-
98
- check_dev_leftovers:
99
- name: ๐Ÿ” Check Dev leftovers
100
- needs: [check_secrets]
101
- #runs-on: ubuntu-latest
102
- runs-on: plo-koon
103
- timeout-minutes: 20
104
- steps:
105
- - name: Checkout code
106
- uses: actions/checkout@v4
107
-
108
- - name: Check Dev Leftovers
109
- uses: futdevpro/fdp-github-actions/check-dev-leftovers@latest
110
- with:
111
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
112
- CHECKS_TO_PERFORM: |
113
- [
114
- {
115
- "type": "TSCONFIG_PATHS",
116
- "directory": "."
117
- },
118
- {
119
- "type": "PACKAGE_VERSIONS",
120
- "directory": ".",
121
- "packages": [
122
- "@futdevpro/fsm-dynamo"
123
- ]
124
- }
125
- ]
126
-
127
- test:
128
- name: ๐Ÿงช Test Build
129
- needs: [ check_dev_leftovers ]
17
+ trigger:
18
+ name: Overseer Trigger
130
19
  runs-on: ubuntu-latest
131
- timeout-minutes: 20
132
- services:
133
- mongodb:
134
- image: mongo
135
- ports:
136
- - 27017:27017
20
+ timeout-minutes: 1
137
21
  steps:
138
- - name: Checkout code
139
- uses: actions/checkout@v4
140
-
141
- - name: Set NPM RC
142
- run: |
143
- echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
144
-
145
- - name: Get safe-chain version
146
- run: |
147
- VERSION=$(curl -s https://api.github.com/repos/AikidoSec/safe-chain/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's/^v//')
148
- echo "SAFE_CHAIN_VERSION=$VERSION" >> $GITHUB_ENV
149
-
150
- - name: Install safe-chain
151
- run: |
152
- curl -fsSL https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -s -- --ci
153
-
154
- - name: Install pnpm
155
- run: |
156
- npm i -g pnpm
157
-
158
- - name: Install Packages
159
- run: |
160
- pnpm i --safe-chain-skip-minimum-package-age
161
-
162
- - name: Build
163
- run: |
164
- npx tsc
165
-
166
- - name: Install Jasmine
167
- run: |
168
- npm i -g jasmine
169
-
170
- - name: Test
171
- run: |
172
- jasmine
173
-
174
- - name: Test Pack
175
- run: |
176
- pnpm pack
177
-
178
-
179
- check_version:
180
- name: ๐Ÿ” Check Version
181
- needs: [ test ]
182
- #runs-on: ubuntu-latest
183
- runs-on: plo-koon
184
- timeout-minutes: 20
185
- outputs:
186
- version_published: ${{ steps.version_check_results.outputs.version_published }}
187
- steps:
188
- - name: Checkout code
189
- uses: actions/checkout@v4
190
-
191
- - name: Set Package Name
192
- run: |
193
- echo "PACKAGE_NAME=$(node -p -e "require('./package.json').name")" >> $GITHUB_ENV
194
-
195
- - name: Set RC
196
- run: |
197
- echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
198
-
199
- - name: Get This Version
200
- run: |
201
- RAW_THIS_VERSION=$(node -p -e "require('./package.json').version")
202
- # replace ALL: 'v0' with '', '01' with '1', '.0' with '.'
203
- RAW_THIS_VERSION=$(echo $RAW_THIS_VERSION | sed 's:v0::g' | sed 's:01:1:g' | sed -e 's:\.0:\.:g')
204
- echo "THIS_VERSION=$RAW_THIS_VERSION" >> $GITHUB_ENV
205
-
206
- - name: Get Latest Version
207
- run: |
208
- echo "LATEST_VERSION=$(npm view ${{ env.PACKAGE_NAME }} version)" >> $GITHUB_ENV
209
-
210
- - name: Check All Versions
211
- run: |
212
- ALL_VERSIONS=$(npm view ${{ env.PACKAGE_NAME }} versions)
213
- if echo "$ALL_VERSIONS" | grep -q "${{ env.THIS_VERSION }}"; then
214
- echo "VERSION_PUBLISHED=true" >> $GITHUB_ENV
215
- else
216
- echo "VERSION_PUBLISHED=false" >> $GITHUB_ENV
217
- fi
218
-
219
- - name: Version Check Results (and Outputs)
220
- id: version_check_results
221
- run: |
222
- echo package name: "${{ env.PACKAGE_NAME }}"
223
- echo this: "${{ env.THIS_VERSION }}"
224
- echo latest: "${{ env.LATEST_VERSION }}"
225
- echo this is the latest: "${{ env.LATEST_VERSION == env.THIS_VERSION }}"
226
- echo this version is published: "${{ env.VERSION_PUBLISHED }}"
227
- echo all published versions: $(npm view ${{ env.PACKAGE_NAME }} versions)
228
- echo "::set-output name=version_published::${{ env.VERSION_PUBLISHED }}"
229
-
230
-
231
- deploy:
232
- name: ๐Ÿš€ Deploy to NPM
233
- needs: [ check_version ]
234
- if: ${{ needs.check_version.outputs.version_published != 'true' }}
235
- runs-on: ubuntu-latest
236
- timeout-minutes: 20
237
- steps:
238
- - name: Checkout code
239
- uses: actions/checkout@v4
240
-
241
- - name: Set NPM RC
242
- run: |
243
- echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
244
-
245
- - name: Install pnpm
246
- run: |
247
- npm i -g pnpm
248
-
249
- - name: Install Packages
250
- run: |
251
- pnpm i
252
-
253
- - name: Build
254
- run: |
255
- npx tsc
256
-
257
- - name: Pack
258
- run: |
259
- pnpm pack
260
-
261
- - name: Publish
262
- run: |
263
- npm publish
22
+ - uses: actions/checkout@v4
264
23
 
265
- build_report:
266
- name: ๐Ÿ“Š Build Report
267
- needs: [
268
- notification0,
269
- check_dev_leftovers,
270
- test,
271
- check_version,
272
- deploy
273
- ]
274
- #runs-on: ubuntu-latest
275
- runs-on: plo-koon
276
- timeout-minutes: 20
277
- if: always()
278
- steps:
279
-
280
- # NEW IMPLEMENTATION using futdevpro/fdp-github-actions/send-build-report@master:
281
- - name: Checkout code
282
- uses: actions/checkout@v4
283
-
284
- - name: Send Build Report
285
- uses: futdevpro/fdp-github-actions/send-build-report@master
24
+ - name: Trigger Overseer Pipeline
25
+ uses: futdevpro/fdp-github-actions/overseer-trigger@master
286
26
  with:
287
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
288
- SETTINGS: |
289
- {
290
- "overseerUrl": "${{ vars.OVERSEER_URL }}",
291
- "overseerSecret": "${{ secrets.OVERSEER_SECRET_KEY }}",
292
- "branchName": "${{ github.ref_name }}",
293
- "repository": "${{ github.repository }}",
294
- "runId": "${{ github.run_id }}",
295
- "linkToAction": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",
296
- "eventDateTime": "${{ needs.notification0.outputs.start }}",
297
- "projects": [
298
- {
299
- "environment": "prod",
300
- "stepResults": [
301
- {
302
- "stepName": "checkDevLeftovers",
303
- "resultCode": "${{ needs.check_dev_leftovers.result }}",
304
- "requirement": "optional"
305
- },
306
- {
307
- "stepName": "tests",
308
- "resultCode": "${{ needs.test.result }}",
309
- "requirement": "required"
310
- },
311
- {
312
- "stepName": "checkVersion",
313
- "resultCode": "${{ needs.check_version.result }}",
314
- "requirement": "required"
315
- },
316
- {
317
- "stepName": "deploy",
318
- "resultCode": "${{ needs.deploy.result }}",
319
- "requirement": "optional"
320
- }
321
- ]
322
- }
323
- ]
324
- }
325
-
326
- end:
327
- name: ๐ŸŽฏ Discord Results
328
- needs: [
329
- notification0,
330
- check_secrets,
331
- check_dev_leftovers,
332
- test,
333
- check_version,
334
- deploy,
335
- build_report
336
- ]
337
- #runs-on: ubuntu-latest
338
- runs-on: plo-koon
339
- timeout-minutes: 20
340
- if: always()
341
- steps:
342
- - name: Checkout code
343
- uses: actions/checkout@v4
344
-
345
- - name: Send Discord result notification
346
- uses: futdevpro/fdp-github-actions/discord-result-notification@latest
347
- with:
348
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
349
- APPLICATION_NAME: "Dynamo-NTS"
350
- APPLICATION_EMOJI: "๐Ÿ’ฝ"
351
- BRANCH: ${{ github.ref_name }}
352
- RUN_NUMBER: ${{ github.run_number }}
353
- RUN_ID: ${{ github.run_id }}
354
- REPOSITORY: ${{ github.repository }}
355
- START_TIME: ${{ needs.notification0.outputs.start }}
356
- DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
357
- DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
358
- STEPS_CONFIG: |
359
- [
360
- {
361
- "stepName": "Secrets Check",
362
- "stepEmoji": "๐Ÿ”‘",
363
- "resultCode": "${{ needs.check_secrets.result }}"
364
- },
365
- {
366
- "stepName": "Dev Leftovers Check",
367
- "stepEmoji": "๐Ÿ”",
368
- "resultCode": "${{ needs.check_dev_leftovers.result }}"
369
- },
370
- {
371
- "stepName": "Test Build",
372
- "stepEmoji": "๐Ÿงช",
373
- "resultCode": "${{ needs.test.result }}"
374
- },
375
- {
376
- "stepName": "Check Version",
377
- "stepEmoji": "๐Ÿ”",
378
- "resultCode": "${{ needs.check_version.result }}"
379
- },
380
- {
381
- "stepName": "Deploy",
382
- "stepEmoji": "๐Ÿ“ฆ",
383
- "resultCode": "${{ needs.deploy.result }}",
384
- "specialSuccessEmoji": "๐Ÿš€๐Ÿš€๐Ÿš€"
385
- },
386
- {
387
- "stepName": "Build Report",
388
- "stepEmoji": "๐Ÿ“Š",
389
- "resultCode": "${{ needs.build_report.result }}"
390
- }
391
- ]
392
-
393
-
394
-
395
-
396
-
397
-
398
-
399
-
27
+ OVERSEER_WEBHOOK_URL: ${{ vars.OVERSEER_URL }}/pipeline-runner/webhook/github
28
+ OVERSEER_WEBHOOK_SECRET: ${{ secrets.OVERSEER_SECRET_KEY }}
29
+
30
+
31
+ # =============================================================================
32
+ # PREVIOUS: Full GitHub Actions Pipeline (preserved for reference/fallback)
33
+ # =============================================================================
34
+ # name: Test and Deploy
35
+ # on:
36
+ # push:
37
+ # branches:
38
+ # - '**'
39
+ # permissions:
40
+ # actions: read
41
+ # id-token: write
42
+ # contents: read
43
+ # checks: write
44
+ # issues: read
45
+ # pull-requests: write
46
+ # env:
47
+ # PACKAGE_NAME: ''
48
+ # THIS_VERSION: 0.0.0
49
+ # LATEST_VERSION: 0.0.0
50
+ # VERSION_PUBLISHED: true
51
+ #
52
+ # jobs:
53
+ # notification0:
54
+ # name: ๐Ÿน Discord start Notification
55
+ # #runs-on: ubuntu-latest
56
+ # runs-on: plo-koon
57
+ # timeout-minutes: 20
58
+ # outputs:
59
+ # start: ${{ steps.mark_start.outputs.started }}
60
+ # steps:
61
+ # - uses: actions/checkout@v4
62
+ # - id: mark_start
63
+ # run: echo "started=$(date +%s)" >> "$GITHUB_OUTPUT"
64
+ # - name: Send Discord start notification
65
+ # uses: futdevpro/fdp-github-actions/discord-start-notification@latest
66
+ # with:
67
+ # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
68
+ # APPLICATION_NAME: "Dynamo-NTS"
69
+ # APPLICATION_EMOJI: "๐Ÿ’ฝ"
70
+ # COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
71
+ # EVENT_DATETIME: ${{ github.event.head_commit.timestamp }}
72
+ # DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
73
+ # DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
74
+ #
75
+ # notification0_fail_report:
76
+ # name: ๐Ÿ’ฃ Discord Start Notification Fail Report
77
+ # runs-on: ubuntu-latest
78
+ # #runs-on: plo-koon
79
+ # timeout-minutes: 20
80
+ # if: always() && needs.notification0.result == 'failure'
81
+ # needs: [notification0]
82
+ # steps:
83
+ # - name: send custom message with args
84
+ # uses: appleboy/discord-action@master
85
+ # with:
86
+ # webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }}
87
+ # webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
88
+ # message: |
89
+ # โŒโŒโŒ๐Ÿ’ฝ Failed to send Discord start notification for ${{ github.repository }}! [๐Ÿ”—](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
90
+ #
91
+ # check_secrets:
92
+ # name: ๐Ÿ” Check Required Secrets and Variables
93
+ # #runs-on: ubuntu-latest
94
+ # runs-on: plo-koon
95
+ # timeout-minutes: 20
96
+ # steps:
97
+ # - name: Check Required Secrets and Variables
98
+ # uses: futdevpro/fdp-github-actions/check-secrets-and-variables@latest
99
+ # with:
100
+ # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
101
+ # ITEMS_TO_CHECK: |
102
+ # [
103
+ # {
104
+ # "valueName": "NPM_TOKEN",
105
+ # "value": "${{ secrets.NPM_TOKEN }}",
106
+ # "type": "SECRET"
107
+ # },
108
+ # {
109
+ # "valueName": "DISCORD_WEBHOOK_ID",
110
+ # "value": "${{ secrets.DISCORD_WEBHOOK_ID }}",
111
+ # "type": "SECRET"
112
+ # },
113
+ # {
114
+ # "valueName": "DISCORD_WEBHOOK_TOKEN",
115
+ # "value": "${{ secrets.DISCORD_WEBHOOK_TOKEN }}",
116
+ # "type": "SECRET"
117
+ # },
118
+ # {
119
+ # "valueName": "OVERSEER_SECRET_KEY",
120
+ # "value": "${{ secrets.OVERSEER_SECRET_KEY }}",
121
+ # "type": "SECRET"
122
+ # },
123
+ #
124
+ # {
125
+ # "valueName": "OVERSEER_URL",
126
+ # "value": "${{ vars.OVERSEER_URL }}",
127
+ # "type": "VARIABLE"
128
+ # }
129
+ # ]
130
+ #
131
+ # check_dev_leftovers:
132
+ # name: ๐Ÿ” Check Dev leftovers
133
+ # needs: [check_secrets]
134
+ # #runs-on: ubuntu-latest
135
+ # runs-on: plo-koon
136
+ # timeout-minutes: 20
137
+ # steps:
138
+ # - name: Checkout code
139
+ # uses: actions/checkout@v4
140
+ #
141
+ # - name: Check Dev Leftovers
142
+ # uses: futdevpro/fdp-github-actions/check-dev-leftovers@latest
143
+ # with:
144
+ # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
145
+ # CHECKS_TO_PERFORM: |
146
+ # [
147
+ # {
148
+ # "type": "TSCONFIG_PATHS",
149
+ # "directory": "."
150
+ # },
151
+ # {
152
+ # "type": "PACKAGE_VERSIONS",
153
+ # "directory": ".",
154
+ # "packages": [
155
+ # "@futdevpro/fsm-dynamo"
156
+ # ]
157
+ # }
158
+ # ]
159
+ #
160
+ # test:
161
+ # name: ๐Ÿงช Test Build
162
+ # needs: [ check_dev_leftovers ]
163
+ # runs-on: ubuntu-latest
164
+ # timeout-minutes: 20
165
+ # services:
166
+ # mongodb:
167
+ # image: mongo
168
+ # ports:
169
+ # - 27017:27017
170
+ # steps:
171
+ # - name: Checkout code
172
+ # uses: actions/checkout@v4
173
+ #
174
+ # - name: Set NPM RC
175
+ # run: |
176
+ # echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
177
+ #
178
+ # - name: Get safe-chain version
179
+ # run: |
180
+ # VERSION=$(curl -s https://api.github.com/repos/AikidoSec/safe-chain/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's/^v//')
181
+ # echo "SAFE_CHAIN_VERSION=$VERSION" >> $GITHUB_ENV
182
+ #
183
+ # - name: Install safe-chain
184
+ # run: |
185
+ # curl -fsSL https://raw.githubusercontent.com/AikidoSec/safe-chain/main/install-scripts/install-safe-chain.sh | sh -s -- --ci
186
+ #
187
+ # - name: Install pnpm
188
+ # run: |
189
+ # npm i -g pnpm
190
+ #
191
+ # - name: Install Packages
192
+ # run: |
193
+ # pnpm i --safe-chain-skip-minimum-package-age
194
+ #
195
+ # - name: Build
196
+ # run: |
197
+ # npx tsc
198
+ #
199
+ # - name: Install Jasmine
200
+ # run: |
201
+ # npm i -g jasmine
202
+ #
203
+ # - name: Test
204
+ # run: |
205
+ # jasmine
206
+ #
207
+ # - name: Test Pack
208
+ # run: |
209
+ # pnpm pack
210
+ #
211
+ #
212
+ # check_version:
213
+ # name: ๐Ÿ” Check Version
214
+ # needs: [ test ]
215
+ # #runs-on: ubuntu-latest
216
+ # runs-on: plo-koon
217
+ # timeout-minutes: 20
218
+ # outputs:
219
+ # version_published: ${{ steps.version_check_results.outputs.version_published }}
220
+ # steps:
221
+ # - name: Checkout code
222
+ # uses: actions/checkout@v4
223
+ #
224
+ # - name: Set Package Name
225
+ # run: |
226
+ # echo "PACKAGE_NAME=$(node -p -e "require('./package.json').name")" >> $GITHUB_ENV
227
+ #
228
+ # - name: Set RC
229
+ # run: |
230
+ # echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
231
+ #
232
+ # - name: Get This Version
233
+ # run: |
234
+ # RAW_THIS_VERSION=$(node -p -e "require('./package.json').version")
235
+ # # replace ALL: 'v0' with '', '01' with '1', '.0' with '.'
236
+ # RAW_THIS_VERSION=$(echo $RAW_THIS_VERSION | sed 's:v0::g' | sed 's:01:1:g' | sed -e 's:\.0:\.:g')
237
+ # echo "THIS_VERSION=$RAW_THIS_VERSION" >> $GITHUB_ENV
238
+ #
239
+ # - name: Get Latest Version
240
+ # run: |
241
+ # echo "LATEST_VERSION=$(npm view ${{ env.PACKAGE_NAME }} version)" >> $GITHUB_ENV
242
+ #
243
+ # - name: Check All Versions
244
+ # run: |
245
+ # ALL_VERSIONS=$(npm view ${{ env.PACKAGE_NAME }} versions)
246
+ # if echo "$ALL_VERSIONS" | grep -q "${{ env.THIS_VERSION }}"; then
247
+ # echo "VERSION_PUBLISHED=true" >> $GITHUB_ENV
248
+ # else
249
+ # echo "VERSION_PUBLISHED=false" >> $GITHUB_ENV
250
+ # fi
251
+ #
252
+ # - name: Version Check Results (and Outputs)
253
+ # id: version_check_results
254
+ # run: |
255
+ # echo package name: "${{ env.PACKAGE_NAME }}"
256
+ # echo this: "${{ env.THIS_VERSION }}"
257
+ # echo latest: "${{ env.LATEST_VERSION }}"
258
+ # echo this is the latest: "${{ env.LATEST_VERSION == env.THIS_VERSION }}"
259
+ # echo this version is published: "${{ env.VERSION_PUBLISHED }}"
260
+ # echo all published versions: $(npm view ${{ env.PACKAGE_NAME }} versions)
261
+ # echo "::set-output name=version_published::${{ env.VERSION_PUBLISHED }}"
262
+ #
263
+ #
264
+ # deploy:
265
+ # name: ๐Ÿš€ Deploy to NPM
266
+ # needs: [ check_version ]
267
+ # if: ${{ needs.check_version.outputs.version_published != 'true' }}
268
+ # runs-on: ubuntu-latest
269
+ # timeout-minutes: 20
270
+ # steps:
271
+ # - name: Checkout code
272
+ # uses: actions/checkout@v4
273
+ #
274
+ # - name: Set NPM RC
275
+ # run: |
276
+ # echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
277
+ #
278
+ # - name: Install pnpm
279
+ # run: |
280
+ # npm i -g pnpm
281
+ #
282
+ # - name: Install Packages
283
+ # run: |
284
+ # pnpm i
285
+ #
286
+ # - name: Build
287
+ # run: |
288
+ # npx tsc
289
+ #
290
+ # - name: Pack
291
+ # run: |
292
+ # pnpm pack
293
+ #
294
+ # - name: Publish
295
+ # run: |
296
+ # npm publish
297
+ #
298
+ # build_report:
299
+ # name: ๐Ÿ“Š Build Report
300
+ # needs: [
301
+ # notification0,
302
+ # check_dev_leftovers,
303
+ # test,
304
+ # check_version,
305
+ # deploy
306
+ # ]
307
+ # #runs-on: ubuntu-latest
308
+ # runs-on: plo-koon
309
+ # timeout-minutes: 20
310
+ # if: always()
311
+ # steps:
312
+ #
313
+ # # NEW IMPLEMENTATION using futdevpro/fdp-github-actions/send-build-report@master:
314
+ # - name: Checkout code
315
+ # uses: actions/checkout@v4
316
+ #
317
+ # - name: Send Build Report
318
+ # uses: futdevpro/fdp-github-actions/send-build-report@master
319
+ # with:
320
+ # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
321
+ # SETTINGS: |
322
+ # {
323
+ # "overseerUrl": "${{ vars.OVERSEER_URL }}",
324
+ # "overseerSecret": "${{ secrets.OVERSEER_SECRET_KEY }}",
325
+ # "branchName": "${{ github.ref_name }}",
326
+ # "repository": "${{ github.repository }}",
327
+ # "runId": "${{ github.run_id }}",
328
+ # "linkToAction": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",
329
+ # "eventDateTime": "${{ needs.notification0.outputs.start }}",
330
+ # "projects": [
331
+ # {
332
+ # "environment": "prod",
333
+ # "stepResults": [
334
+ # {
335
+ # "stepName": "checkDevLeftovers",
336
+ # "resultCode": "${{ needs.check_dev_leftovers.result }}",
337
+ # "requirement": "optional"
338
+ # },
339
+ # {
340
+ # "stepName": "tests",
341
+ # "resultCode": "${{ needs.test.result }}",
342
+ # "requirement": "required"
343
+ # },
344
+ # {
345
+ # "stepName": "checkVersion",
346
+ # "resultCode": "${{ needs.check_version.result }}",
347
+ # "requirement": "required"
348
+ # },
349
+ # {
350
+ # "stepName": "deploy",
351
+ # "resultCode": "${{ needs.deploy.result }}",
352
+ # "requirement": "optional"
353
+ # }
354
+ # ]
355
+ # }
356
+ # ]
357
+ # }
358
+ #
359
+ # end:
360
+ # name: ๐ŸŽฏ Discord Results
361
+ # needs: [
362
+ # notification0,
363
+ # check_secrets,
364
+ # check_dev_leftovers,
365
+ # test,
366
+ # check_version,
367
+ # deploy,
368
+ # build_report
369
+ # ]
370
+ # #runs-on: ubuntu-latest
371
+ # runs-on: plo-koon
372
+ # timeout-minutes: 20
373
+ # if: always()
374
+ # steps:
375
+ # - name: Checkout code
376
+ # uses: actions/checkout@v4
377
+ #
378
+ # - name: Send Discord result notification
379
+ # uses: futdevpro/fdp-github-actions/discord-result-notification@latest
380
+ # with:
381
+ # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
382
+ # APPLICATION_NAME: "Dynamo-NTS"
383
+ # APPLICATION_EMOJI: "๐Ÿ’ฝ"
384
+ # BRANCH: ${{ github.ref_name }}
385
+ # RUN_NUMBER: ${{ github.run_number }}
386
+ # RUN_ID: ${{ github.run_id }}
387
+ # REPOSITORY: ${{ github.repository }}
388
+ # START_TIME: ${{ needs.notification0.outputs.start }}
389
+ # DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
390
+ # DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
391
+ # STEPS_CONFIG: |
392
+ # [
393
+ # {
394
+ # "stepName": "Secrets Check",
395
+ # "stepEmoji": "๐Ÿ”‘",
396
+ # "resultCode": "${{ needs.check_secrets.result }}"
397
+ # },
398
+ # {
399
+ # "stepName": "Dev Leftovers Check",
400
+ # "stepEmoji": "๐Ÿ”",
401
+ # "resultCode": "${{ needs.check_dev_leftovers.result }}"
402
+ # },
403
+ # {
404
+ # "stepName": "Test Build",
405
+ # "stepEmoji": "๐Ÿงช",
406
+ # "resultCode": "${{ needs.test.result }}"
407
+ # },
408
+ # {
409
+ # "stepName": "Check Version",
410
+ # "stepEmoji": "๐Ÿ”",
411
+ # "resultCode": "${{ needs.check_version.result }}"
412
+ # },
413
+ # {
414
+ # "stepName": "Deploy",
415
+ # "stepEmoji": "๐Ÿ“ฆ",
416
+ # "resultCode": "${{ needs.deploy.result }}",
417
+ # "specialSuccessEmoji": "๐Ÿš€๐Ÿš€๐Ÿš€"
418
+ # },
419
+ # {
420
+ # "stepName": "Build Report",
421
+ # "stepEmoji": "๐Ÿ“Š",
422
+ # "resultCode": "${{ needs.build_report.result }}"
423
+ # }
424
+ # ]
425
+ #
426
+ #
427
+ #
428
+ #
429
+ #
430
+ #
431
+ #
432
+ #