@futdevpro/nts-dynamo 1.15.11 → 1.15.14

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 (356) 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/.vscode/settings.json +10 -10
  17. package/HOWTO.md +15 -15
  18. package/LICENSE +21 -21
  19. package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
  20. package/_specifications/BACKLOG.md +50 -15
  21. package/_specifications/TODO.md +15 -15
  22. package/_specifications/agent.md +138 -138
  23. package/build/_collections/global-settings.const.d.ts.map +1 -1
  24. package/build/_collections/global-settings.const.js +4 -0
  25. package/build/_collections/global-settings.const.js.map +1 -1
  26. package/build/_models/interfaces/global-log-settings.interface.d.ts +11 -0
  27. package/build/_models/interfaces/global-log-settings.interface.d.ts.map +1 -1
  28. package/build/_modules/logs/get-logs-routing-module.util.d.ts +19 -0
  29. package/build/_modules/logs/get-logs-routing-module.util.d.ts.map +1 -0
  30. package/build/_modules/logs/get-logs-routing-module.util.js +32 -0
  31. package/build/_modules/logs/get-logs-routing-module.util.js.map +1 -0
  32. package/build/_modules/logs/index.d.ts +4 -0
  33. package/build/_modules/logs/index.d.ts.map +1 -0
  34. package/build/_modules/logs/index.js +10 -0
  35. package/build/_modules/logs/index.js.map +1 -0
  36. package/build/_modules/logs/log-buffer.service.d.ts +38 -0
  37. package/build/_modules/logs/log-buffer.service.d.ts.map +1 -0
  38. package/build/_modules/logs/log-buffer.service.js +97 -0
  39. package/build/_modules/logs/log-buffer.service.js.map +1 -0
  40. package/build/_modules/logs/logs.controller.d.ts +27 -0
  41. package/build/_modules/logs/logs.controller.d.ts.map +1 -0
  42. package/build/_modules/logs/logs.controller.js +90 -0
  43. package/build/_modules/logs/logs.controller.js.map +1 -0
  44. package/build/_modules/logs/logs.service.d.ts +40 -0
  45. package/build/_modules/logs/logs.service.d.ts.map +1 -0
  46. package/build/_modules/logs/logs.service.js +97 -0
  47. package/build/_modules/logs/logs.service.js.map +1 -0
  48. package/build/_modules/server/errors/errors.data-service.d.ts.map +1 -1
  49. package/build/_modules/server/errors/errors.data-service.js +2 -1
  50. package/build/_modules/server/errors/errors.data-service.js.map +1 -1
  51. package/build/_services/server/app.server.d.ts.map +1 -1
  52. package/build/_services/server/app.server.js +19 -6
  53. package/build/_services/server/app.server.js.map +1 -1
  54. package/eslint.config.js +3 -3
  55. package/nodemon.json +24 -24
  56. package/package.json +359 -353
  57. package/scripts/run-coverage-tests.js +28 -28
  58. package/spec/support/helpers/spec-reporter-loader.js +359 -359
  59. package/spec/support/helpers/ts-node-helper.js +93 -93
  60. package/spec/support/jasmine.coverage.json +24 -24
  61. package/spec/support/jasmine.json +24 -24
  62. package/src/_collections/archive.util.spec.ts +57 -57
  63. package/src/_collections/archive.util.ts +18 -18
  64. package/src/_collections/atlas-default-db-options.const.ts +9 -9
  65. package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -11
  66. package/src/_collections/default-fallback-cache-max-age.const.ts +2 -2
  67. package/src/_collections/default-not-found-page.const.spec.ts +19 -19
  68. package/src/_collections/default-not-found-page.const.ts +22 -22
  69. package/src/_collections/default-socket-path.const.spec.ts +12 -12
  70. package/src/_collections/default-socket-path.const.ts +2 -2
  71. package/src/_collections/get-environment-settings.util.spec.ts +210 -210
  72. package/src/_collections/get-environment-settings.util.ts +48 -48
  73. package/src/_collections/global-settings.const.ts +5 -0
  74. package/src/_collections/sample.env +21 -21
  75. package/src/_collections/star.controller.spec.ts +224 -224
  76. package/src/_collections/star.controller.ts +129 -129
  77. package/src/_enums/data-model-type.enum.ts +14 -14
  78. package/src/_enums/data-service-function.enum.ts +24 -24
  79. package/src/_enums/predefined-data-types.enum.ts +16 -16
  80. package/src/_enums/route-security.enum.ts +12 -12
  81. package/src/_models/control-models/api-call-params.control-model.spec.ts +152 -152
  82. package/src/_models/control-models/api-call-params.control-model.ts +142 -142
  83. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -52
  84. package/src/_models/control-models/app-ext-system-controls.control-model.ts +9 -9
  85. package/src/_models/control-models/app-params.control-model.spec.ts +225 -225
  86. package/src/_models/control-models/app-params.control-model.ts +136 -136
  87. package/src/_models/control-models/app-system-controls.control-model.spec.ts +31 -31
  88. package/src/_models/control-models/app-system-controls.control-model.ts +9 -9
  89. package/src/_models/control-models/endpoint-params.control-model.spec.ts +578 -578
  90. package/src/_models/control-models/endpoint-params.control-model.ts +526 -526
  91. package/src/_models/control-models/http-settings.control-model.spec.ts +77 -77
  92. package/src/_models/control-models/http-settings.control-model.ts +37 -37
  93. package/src/_models/control-models/system-control.control-model.spec.ts +27 -27
  94. package/src/_models/control-models/system-control.control-model.ts +12 -12
  95. package/src/_models/interfaces/certification-settings.interface.ts +7 -7
  96. package/src/_models/interfaces/environment-settings.interface.ts +59 -59
  97. package/src/_models/interfaces/global-log-settings.interface.ts +108 -96
  98. package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
  99. package/src/_models/interfaces/routing-module-settings.interface.ts +21 -21
  100. package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -29
  101. package/src/_models/interfaces/static-client-settings.interface.ts +28 -28
  102. package/src/_models/types/db-update.type.ts +100 -100
  103. package/src/_modules/ai/_models/ai-input-interfaces.ts +117 -117
  104. package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -16
  105. package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -138
  106. package/src/_modules/ai/_modules/anthropic/index.ts +5 -5
  107. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -242
  108. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +639 -639
  109. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -209
  110. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +85 -85
  111. package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +7 -7
  112. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +146 -146
  113. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +162 -162
  114. package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +99 -99
  115. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +18 -18
  116. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +19 -19
  117. package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +25 -25
  118. package/src/_modules/ai/_modules/document-ai/index.ts +28 -28
  119. package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -189
  120. package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -5
  121. package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -9
  122. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +82 -82
  123. package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +75 -75
  124. package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -45
  125. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +7 -7
  126. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -7
  127. package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -57
  128. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +292 -292
  129. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -342
  130. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -550
  131. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +630 -630
  132. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +240 -240
  133. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +98 -98
  134. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -462
  135. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +615 -615
  136. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +437 -437
  137. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +833 -833
  138. package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
  139. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -98
  140. package/src/_modules/ai/_services/ai-embedding.service-base.ts +48 -48
  141. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -229
  142. package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +68 -68
  143. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -250
  144. package/src/_modules/ai/_services/ai-llm.service-base.ts +332 -332
  145. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +79 -79
  146. package/src/_modules/ai/_services/ai-provider.service-base.ts +29 -29
  147. package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
  148. package/src/_modules/ai/index.ts +13 -13
  149. package/src/_modules/assistant/_collections/ass-global-settings.const.ts +13 -13
  150. package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -176
  151. package/src/_modules/assistant/_collections/ass.util.ts +50 -50
  152. package/src/_modules/assistant/_models/ass-global-settings.interface.ts +15 -15
  153. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -140
  154. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -192
  155. package/src/_modules/assistant/_services/ass-main.control-service.ts +107 -107
  156. package/src/_modules/bot/_collections/bot-default-commands.const.ts +12 -12
  157. package/src/_modules/bot/_collections/bot-global-settings.const.ts +39 -39
  158. package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +62 -62
  159. package/src/_modules/bot/_models/bot-command.interface.ts +8 -8
  160. package/src/_modules/bot/_models/bot-global-settings.interface.ts +96 -96
  161. package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +6 -6
  162. package/src/_modules/bot/_models/bot-last-message-date.interface.ts +5 -5
  163. package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +41 -41
  164. package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +9 -9
  165. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -431
  166. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -160
  167. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +55 -55
  168. package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +15 -15
  169. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -374
  170. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +447 -447
  171. package/src/_modules/bot/_modules/dynamo-bot/index.ts +15 -15
  172. package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +9 -9
  173. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -344
  174. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +197 -197
  175. package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +9 -9
  176. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -345
  177. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +197 -197
  178. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -116
  179. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -285
  180. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -208
  181. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -349
  182. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -111
  183. package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -49
  184. package/src/_modules/custom-data/custom-data.controller.ts +67 -67
  185. package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -54
  186. package/src/_modules/custom-data/custom-data.data-service.ts +21 -21
  187. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -28
  188. package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +24 -24
  189. package/src/_modules/custom-data/index.ts +9 -9
  190. package/src/_modules/defaults/_collections/default-endpoints.util.ts +487 -487
  191. package/src/_modules/defaults/_models/default-user.data-model.ts +72 -72
  192. package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -269
  193. package/src/_modules/defaults/_services/default-auth.service.ts +177 -177
  194. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -42
  195. package/src/_modules/defaults/_services/default-socket-events.service.ts +61 -61
  196. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -187
  197. package/src/_modules/defaults/_services/default-user.data-service.ts +98 -98
  198. package/src/_modules/defaults/index.ts +17 -17
  199. package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -19
  200. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -366
  201. package/src/_modules/discord-assistant/_collections/dias.util.ts +132 -132
  202. package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +19 -19
  203. package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +52 -52
  204. package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +177 -177
  205. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -108
  206. package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +69 -69
  207. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -22
  208. package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +27 -27
  209. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -195
  210. package/src/_modules/discord-assistant/_services/dias.service-base.ts +76 -76
  211. package/src/_modules/discord-assistant/index.ts +38 -38
  212. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -34
  213. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -11
  214. package/src/_modules/discord-assistant-voiced/index.ts +36 -36
  215. package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +16 -16
  216. package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +55 -55
  217. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -214
  218. package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +387 -387
  219. package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -12
  220. package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +98 -98
  221. package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +7 -7
  222. package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -6
  223. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -154
  224. package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +153 -153
  225. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -264
  226. package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +306 -306
  227. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -408
  228. package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +487 -487
  229. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -105
  230. package/src/_modules/discord-bot/index.ts +36 -36
  231. package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +19 -19
  232. package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +17 -17
  233. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -418
  234. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +276 -276
  235. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +345 -345
  236. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +330 -330
  237. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +393 -393
  238. package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +220 -220
  239. package/src/_modules/local-vector-search/index.ts +11 -11
  240. package/src/_modules/logs/get-logs-routing-module.util.ts +36 -0
  241. package/src/_modules/logs/index.ts +3 -0
  242. package/src/_modules/logs/log-buffer.service.ts +101 -0
  243. package/src/_modules/logs/logs.controller.ts +109 -0
  244. package/src/_modules/logs/logs.service.ts +100 -0
  245. package/src/_modules/messaging/README.md +354 -354
  246. package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +26 -26
  247. package/src/_modules/messaging/_collections/msg-global-settings.const.ts +22 -22
  248. package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -226
  249. package/src/_modules/messaging/_models/msg-global-settings.interface.ts +37 -37
  250. package/src/_modules/messaging/_services/msg-conversation.data-service.ts +146 -146
  251. package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -219
  252. package/src/_modules/messaging/_services/msg-events.service.ts +267 -267
  253. package/src/_modules/messaging/_services/msg-integration.control-service.ts +179 -179
  254. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -147
  255. package/src/_modules/messaging/_services/msg-main.control-service.ts +571 -571
  256. package/src/_modules/messaging/_services/msg-message.data-service.ts +129 -129
  257. package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -201
  258. package/src/_modules/messaging/index.ts +30 -30
  259. package/src/_modules/mock/app-extended-server.mock.ts +201 -201
  260. package/src/_modules/mock/app-integration-test.mock.ts +51 -51
  261. package/src/_modules/mock/app-params.mock.spec.ts +21 -21
  262. package/src/_modules/mock/app-params.mock.ts +9 -9
  263. package/src/_modules/mock/app-server.mock.ts +188 -188
  264. package/src/_modules/mock/auth-service.mock.spec.ts +47 -47
  265. package/src/_modules/mock/auth-service.mock.ts +28 -28
  266. package/src/_modules/mock/controller.mock.spec.ts +26 -26
  267. package/src/_modules/mock/controller.mock.ts +16 -16
  268. package/src/_modules/mock/data-model.mock.spec.ts +111 -111
  269. package/src/_modules/mock/data-model.mock.ts +82 -82
  270. package/src/_modules/mock/email-service-collection.mock.spec.ts +24 -24
  271. package/src/_modules/mock/email-service-collection.mock.ts +15 -15
  272. package/src/_modules/mock/email-service.mock.spec.ts +17 -17
  273. package/src/_modules/mock/email-service.mock.ts +20 -20
  274. package/src/_modules/mock/email-template.mock.html +14 -14
  275. package/src/_modules/mock/endpoint.mock.ts +91 -91
  276. package/src/_modules/mock/socket-client.mock.spec.ts +40 -40
  277. package/src/_modules/mock/socket-client.mock.ts +45 -45
  278. package/src/_modules/mock/socket-server.mock.spec.ts +44 -44
  279. package/src/_modules/mock/socket-server.mock.ts +46 -46
  280. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -107
  281. package/src/_modules/oauth2/_routes/oauth2.controller.ts +98 -98
  282. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -254
  283. package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -232
  284. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -585
  285. package/src/_modules/oauth2/_services/oauth2.control-service.ts +653 -653
  286. package/src/_modules/oauth2/index.ts +17 -17
  287. package/src/_modules/server/errors/errors.control-service.spec.ts +230 -230
  288. package/src/_modules/server/errors/errors.control-service.ts +69 -69
  289. package/src/_modules/server/errors/errors.controller.spec.ts +165 -165
  290. package/src/_modules/server/errors/errors.controller.ts +270 -270
  291. package/src/_modules/server/errors/errors.data-service.spec.ts +355 -355
  292. package/src/_modules/server/errors/errors.data-service.ts +2 -1
  293. package/src/_modules/server/index.ts +30 -30
  294. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -70
  295. package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -17
  296. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -77
  297. package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +37 -37
  298. package/src/_modules/server/server-status/server-status.control-service.spec.ts +516 -516
  299. package/src/_modules/server/server-status/server-status.control-service.ts +336 -336
  300. package/src/_modules/server/server-status/server-status.controller.spec.ts +156 -156
  301. package/src/_modules/server/server-status/server-status.controller.ts +131 -131
  302. package/src/_modules/socket/_enums/socket-security.enum.ts +11 -11
  303. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +32 -32
  304. package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +22 -22
  305. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -164
  306. package/src/_modules/socket/_models/socket-presence.control-model.ts +210 -210
  307. package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +46 -46
  308. package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +22 -22
  309. package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -15
  310. package/src/_modules/socket/_services/socket-client.service.ts +260 -260
  311. package/src/_modules/socket/_services/socket-server.service.spec.ts +11 -11
  312. package/src/_modules/socket/app-extended.integration.spec.ts +85 -85
  313. package/src/_modules/socket/app-extended.server.ts +630 -630
  314. package/src/_modules/socket/index.ts +42 -42
  315. package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -28
  316. package/src/_modules/test/get-test-routing-module.util.ts +23 -23
  317. package/src/_modules/test/index.ts +11 -11
  318. package/src/_modules/test/test.controller.spec.ts +72 -72
  319. package/src/_modules/test/test.controller.ts +115 -115
  320. package/src/_modules/usage/get-usage-routing-module.util.ts +22 -22
  321. package/src/_modules/usage/index.ts +15 -15
  322. package/src/_modules/usage/usage.controller.spec.ts +81 -81
  323. package/src/_modules/usage/usage.controller.ts +126 -126
  324. package/src/_modules/usage/usage.data-service.spec.ts +332 -332
  325. package/src/_modules/usage/usage.data-service.ts +185 -185
  326. package/src/_services/base/api.service-base.spec.ts +125 -125
  327. package/src/_services/base/api.service-base.ts +74 -74
  328. package/src/_services/base/archive-data.service.spec.ts +196 -196
  329. package/src/_services/base/archive-data.service.ts +216 -216
  330. package/src/_services/base/data.service.spec.ts +493 -493
  331. package/src/_services/base/data.service.ts +2525 -2525
  332. package/src/_services/base/db.service.spec.ts +73 -73
  333. package/src/_services/base/db.service.ts +1575 -1575
  334. package/src/_services/base/singleton.service-base.spec.ts +28 -28
  335. package/src/_services/base/singleton.service-base.ts +24 -24
  336. package/src/_services/base/singleton.service.spec.ts +114 -114
  337. package/src/_services/base/singleton.service.ts +38 -38
  338. package/src/_services/core/api.service.spec.ts +140 -140
  339. package/src/_services/core/auth.service.spec.ts +159 -159
  340. package/src/_services/core/auth.service.ts +174 -174
  341. package/src/_services/core/email.service.spec.ts +85 -85
  342. package/src/_services/core/email.service.ts +742 -742
  343. package/src/_services/core/global.service.spec.ts +275 -275
  344. package/src/_services/core/global.service.ts +461 -461
  345. package/src/_services/core/service-collection.service.spec.ts +46 -46
  346. package/src/_services/core/service-collection.service.ts +6 -6
  347. package/src/_services/route/controller.service.spec.ts +53 -53
  348. package/src/_services/route/controller.service.ts +148 -148
  349. package/src/_services/route/routing-module.service.spec.ts +98 -98
  350. package/src/_services/route/routing-module.service.ts +330 -330
  351. package/src/_services/server/app.server.ts +25 -9
  352. package/src/_services/shared.static-service.spec.ts +99 -99
  353. package/src/_services/shared.static-service.ts +78 -78
  354. package/src/index.ts +94 -94
  355. package/tsconfig.app.json +12 -12
  356. package/tsconfig.json +42 -42
@@ -1,40 +1,40 @@
1
- # Error Code Pattern [FDP-Dev-Error]
2
-
3
- ## Format
4
- ```
5
- [PROJ]-[SERV]-[FUNC]
6
- ```
7
-
8
- ## Components
9
- - PROJ: 3 character project code
10
- - FMP: FDP Master Prompter
11
- - CUR: Cursor
12
- - DYN: Dynamo
13
- - etc.
14
- - SERV: 3-4 character service code (abbreviated from service name)
15
- - DTS: _DataService
16
- - CTR: _Controller
17
- - SSS: _SocketServerService
18
- - SCS: _SocketClientService
19
- - EMS: _EmailService
20
- - etc.
21
- - FUNC: 3-4 character function code (derived from function name + index)
22
- - NC2: newChange (second throw)
23
- - GF1: getFile (first throw)
24
- - etc.
25
-
26
- ## Examples
27
- - FMP-DTS-NC2: Second error in newChange function of TokenHistory_DataService
28
- - FMP-CTR-GF1: First error in getFile function of User_Controller
29
- - CUR-SSS-UP3: Third error in updateProfile function of Chat_SocketServerService
30
- - DYN-SCS-EM1: First error in sendMessage function of Chat_SocketClientService
31
- - FMP-EMS-NT1: First error in sendNotification function of Notification_EmailService
32
- - ASD-SSS-ST0: The function's main try and catch rewrap error point.
33
-
34
- ## Usage
35
- - Use in all backend error responses
36
- - Include in error logs
37
- - Reference in documentation
38
- - Keep error codes consistent
39
- - Document all error codes
1
+ # Error Code Pattern [FDP-Dev-Error]
2
+
3
+ ## Format
4
+ ```
5
+ [PROJ]-[SERV]-[FUNC]
6
+ ```
7
+
8
+ ## Components
9
+ - PROJ: 3 character project code
10
+ - FMP: FDP Master Prompter
11
+ - CUR: Cursor
12
+ - DYN: Dynamo
13
+ - etc.
14
+ - SERV: 3-4 character service code (abbreviated from service name)
15
+ - DTS: _DataService
16
+ - CTR: _Controller
17
+ - SSS: _SocketServerService
18
+ - SCS: _SocketClientService
19
+ - EMS: _EmailService
20
+ - etc.
21
+ - FUNC: 3-4 character function code (derived from function name + index)
22
+ - NC2: newChange (second throw)
23
+ - GF1: getFile (first throw)
24
+ - etc.
25
+
26
+ ## Examples
27
+ - FMP-DTS-NC2: Second error in newChange function of TokenHistory_DataService
28
+ - FMP-CTR-GF1: First error in getFile function of User_Controller
29
+ - CUR-SSS-UP3: Third error in updateProfile function of Chat_SocketServerService
30
+ - DYN-SCS-EM1: First error in sendMessage function of Chat_SocketClientService
31
+ - FMP-EMS-NT1: First error in sendNotification function of Notification_EmailService
32
+ - ASD-SSS-ST0: The function's main try and catch rewrap error point.
33
+
34
+ ## Usage
35
+ - Use in all backend error responses
36
+ - Include in error logs
37
+ - Reference in documentation
38
+ - Keep error codes consistent
39
+ - Document all error codes
40
40
  - All error codes should be unique in the entire system across all projects.
@@ -1,16 +1,16 @@
1
-
2
- Always use the CCAP MCP Server search tools (grep_search, codebase_search) for any code or text search, whenever they are available.
3
- Only use other search tools if the CCAP MCP Server is unavailable or returns an error.
4
- If a search is performed with a non-CCAP tool, always explain the reason (e.g., CCAP was not available or failed).
5
- When both local and CCAP search tools are available, always choose the CCAP MCP Server version.
6
- If the user asks for a search, always default to the CCAP MCP Server, unless explicitly instructed otherwise.
7
- If the CCAP MCP Server is temporarily unavailable, notify the user and fall back to the local search tool, but try the CCAP MCP Server again as soon as possible.
8
- Document in your responses which tool was used for the search, and confirm if it was the CCAP MCP Server.
9
- If the user wants to change this behavior, only do so if they explicitly request it.
10
- If you are unsure which tool to use, always ask the user, but default to CCAP MCP Server.
11
- Always follow all other workspace and user rules in addition to these preferences.
12
- In addition to the above, before and during any code writing, modification, or implementation, you must always:
13
- Use the CCAP MCP Server's dedicated tools (related_code_search, related_coding_policy_search) to search for related code examples, existing implementations, and relevant coding policies or guidelines in the workspace and documentation.
14
- Apply any relevant patterns, examples, or policies found via these tools to ensure consistency and best practices in all new code.
15
- If no clear example or policy is found, use the closest relevant pattern and document this choice in the development process (e.g., in commit messages or PR descriptions).
1
+
2
+ Always use the CCAP MCP Server search tools (grep_search, codebase_search) for any code or text search, whenever they are available.
3
+ Only use other search tools if the CCAP MCP Server is unavailable or returns an error.
4
+ If a search is performed with a non-CCAP tool, always explain the reason (e.g., CCAP was not available or failed).
5
+ When both local and CCAP search tools are available, always choose the CCAP MCP Server version.
6
+ If the user asks for a search, always default to the CCAP MCP Server, unless explicitly instructed otherwise.
7
+ If the CCAP MCP Server is temporarily unavailable, notify the user and fall back to the local search tool, but try the CCAP MCP Server again as soon as possible.
8
+ Document in your responses which tool was used for the search, and confirm if it was the CCAP MCP Server.
9
+ If the user wants to change this behavior, only do so if they explicitly request it.
10
+ If you are unsure which tool to use, always ask the user, but default to CCAP MCP Server.
11
+ Always follow all other workspace and user rules in addition to these preferences.
12
+ In addition to the above, before and during any code writing, modification, or implementation, you must always:
13
+ Use the CCAP MCP Server's dedicated tools (related_code_search, related_coding_policy_search) to search for related code examples, existing implementations, and relevant coding policies or guidelines in the workspace and documentation.
14
+ Apply any relevant patterns, examples, or policies found via these tools to ensure consistency and best practices in all new code.
15
+ If no clear example or policy is found, use the closest relevant pattern and document this choice in the development process (e.g., in commit messages or PR descriptions).
16
16
  If the CCAP MCP Server or these tools are unavailable, follow the fallback and documentation rules above, and notify the user.
@@ -1,11 +1,11 @@
1
- {
2
- "eslint.run": "onSave",
3
- "eslint.workingDirectories": [{ "mode": "auto" }],
4
- "editor.codeActionsOnSave": {
5
- "source.fixAll.eslint": "explicit"
6
- },
7
- "eslint.validate": [
8
- "javascript",
9
- "typescript"
10
- ]
1
+ {
2
+ "eslint.run": "onSave",
3
+ "eslint.workingDirectories": [{ "mode": "auto" }],
4
+ "editor.codeActionsOnSave": {
5
+ "source.fixAll.eslint": "explicit"
6
+ },
7
+ "eslint.validate": [
8
+ "javascript",
9
+ "typescript"
10
+ ]
11
11
  }
package/HOWTO.md CHANGED
@@ -1,15 +1,15 @@
1
-
2
-
3
-
4
- build n deploy:
5
-
6
- (npm login)
7
- npm run build
8
-
9
-
10
-
11
- build n deploy OLD:
12
-
13
- npx tsc
14
- npm login
15
- npm publish
1
+
2
+
3
+
4
+ build n deploy:
5
+
6
+ (npm login)
7
+ npm run build
8
+
9
+
10
+
11
+ build n deploy OLD:
12
+
13
+ npx tsc
14
+ npm login
15
+ npm publish
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- FDP License
2
-
3
- Copyright (c) Future Development Program Ltd. (HU)
4
-
5
- Permission is not granted, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE
1
+ FDP License
2
+
3
+ Copyright (c) Future Development Program Ltd. (HU)
4
+
5
+ Permission is not granted, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE
@@ -1,26 +1,26 @@
1
- # NTS integration tests (unified host)
2
-
3
- **Date:** 2026-03-17
4
-
5
- ## Summary
6
-
7
- First integration tests for dynamo-nts were added to cover the unified host behaviour (static client, API base path, socket path, default 404 page).
8
-
9
- ## Additions
10
-
11
- - **Integration mock:** [src/_modules/mock/app-integration-test.mock.ts](../src/_modules/mock/app-integration-test.mock.ts)
12
- `DyNTS_AppIntegrationTest_Mock` extends `DyNTS_AppWbMock_Mock`, runs without DB, and provides:
13
- - `getAppParams()` with no `dbName`/`dbUri`
14
- - `getPortSettings()` with `httpPort: 54536`, `socketPath: '/socket'`
15
- - `getApiBasePath()` returning `'/api'`
16
- - `getStaticClientSettings()` returning `root` from static property `integrationStaticRoot` (set by the spec), no `fallbackPath` (so 404 uses default HTML)
17
-
18
- - **Integration spec:** [src/_modules/socket/app-extended.integration.spec.ts](../src/_modules/socket/app-extended.integration.spec.ts)
19
- - Uses a temp dir for static files and starts the app in `beforeAll`; stops app and removes temp dir in `afterAll`.
20
- - Timeout set to 15s for this suite.
21
- - Tests: app starts (`started === true`), GET non-existent path → 404 + default “Page not found” HTML, GET `/index.html` → 200 + static content, GET `/api/test-0/test-base` and `/api/test-0/test-simple` → 200 with expected body.
22
-
23
- ## Conventions
24
-
25
- - Same test style as existing NTS specs: Jasmine, `*.spec.ts`, run via `pnpm test` (build + jasmine).
26
- - Port **54536** must be free when the integration spec runs (used by the mock app).
1
+ # NTS integration tests (unified host)
2
+
3
+ **Date:** 2026-03-17
4
+
5
+ ## Summary
6
+
7
+ First integration tests for dynamo-nts were added to cover the unified host behaviour (static client, API base path, socket path, default 404 page).
8
+
9
+ ## Additions
10
+
11
+ - **Integration mock:** [src/_modules/mock/app-integration-test.mock.ts](../src/_modules/mock/app-integration-test.mock.ts)
12
+ `DyNTS_AppIntegrationTest_Mock` extends `DyNTS_AppWbMock_Mock`, runs without DB, and provides:
13
+ - `getAppParams()` with no `dbName`/`dbUri`
14
+ - `getPortSettings()` with `httpPort: 54536`, `socketPath: '/socket'`
15
+ - `getApiBasePath()` returning `'/api'`
16
+ - `getStaticClientSettings()` returning `root` from static property `integrationStaticRoot` (set by the spec), no `fallbackPath` (so 404 uses default HTML)
17
+
18
+ - **Integration spec:** [src/_modules/socket/app-extended.integration.spec.ts](../src/_modules/socket/app-extended.integration.spec.ts)
19
+ - Uses a temp dir for static files and starts the app in `beforeAll`; stops app and removes temp dir in `afterAll`.
20
+ - Timeout set to 15s for this suite.
21
+ - Tests: app starts (`started === true`), GET non-existent path → 404 + default “Page not found” HTML, GET `/index.html` → 200 + static content, GET `/api/test-0/test-base` and `/api/test-0/test-simple` → 200 with expected body.
22
+
23
+ ## Conventions
24
+
25
+ - Same test style as existing NTS specs: Jasmine, `*.spec.ts`, run via `pnpm test` (build + jasmine).
26
+ - Port **54536** must be free when the integration spec runs (used by the mock app).
@@ -1,15 +1,50 @@
1
- # BACKLOG.md
2
-
3
- > STRICT PATTERN (MUST FOLLOW EXACTLY)
4
- > - Entry header: "- [TYPE] (BL-YYYYMMDD-###) TITLE"
5
- > - Immediately followed by (exact keys, colon-space, indented 2 spaces):
6
- > - " status: <EMOJI status-key>"
7
- > - " priority: <low|medium|high|urgent>"
8
- > - " source: <user|system|assistant>"
9
- > - " area: <ui|backend|infra|docs|tests|ux|general>"
10
- > - " details: <single-line summary>"
11
- > - NO blank line between header and fields (parser reads i+1..i+5).
12
- > - One blank line between entries (readability).
13
- > - TYPE values: FEATURE, BUG, IMPROVEMENT, QUESTION, RESEARCH, TASK
14
- > - STATUS EMOJI: ❌ ⏳ 🔄 ✅ ⚠️ ❓
15
- > - IDs: unique, format BL-YYYYMMDD-### (increment ###).
1
+ # BACKLOG.md
2
+
3
+ > STRICT PATTERN (MUST FOLLOW EXACTLY)
4
+ > - Entry header: "- [TYPE] (BL-YYYYMMDD-###) TITLE"
5
+ > - Immediately followed by (exact keys, colon-space, indented 2 spaces):
6
+ > - " status: <EMOJI status-key>"
7
+ > - " priority: <low|medium|high|urgent>"
8
+ > - " source: <user|system|assistant>"
9
+ > - " area: <ui|backend|infra|docs|tests|ux|general>"
10
+ > - " details: <single-line summary>"
11
+ > - NO blank line between header and fields (parser reads i+1..i+5).
12
+ > - One blank line between entries (readability).
13
+ > - TYPE values: FEATURE, BUG, IMPROVEMENT, QUESTION, RESEARCH, TASK
14
+ > - STATUS EMOJI: ❌ ⏳ 🔄 ✅ ⚠️ ❓
15
+ > - IDs: unique, format BL-YYYYMMDD-### (increment ###).
16
+
17
+ - [FEATURE] (BL-20260417-001) Dynamo NTS kliens kiszolgálás képesség
18
+ status: ⏳ pending
19
+ priority: medium
20
+ source: user
21
+ area: backend
22
+ details: Alkalmassá kell tenni a Dynamo NTS-t, hogy kiszolgálja a klienst (frontend/client-side serving)
23
+
24
+ - [FEATURE] (BL-20260420-001) Átfogó file-based log kezelési rendszer
25
+ status: ⏳ pending
26
+ priority: medium
27
+ source: user
28
+ area: backend
29
+ details: Config-vezérelt log rendszer, ahol egy boolean flag-gel be lehet kapcsolni a file-ba történő log írást, és további config opciókkal lehet állítani a maximum tárolt log mennyiséget (file size / rotation / retention) és egyéb log kezelési paramétereket
30
+
31
+ - [FEATURE] (BL-20260420-002) Admin API key alapú authentikációs réteg (env-ből)
32
+ status: ⏳ pending
33
+ priority: high
34
+ source: user
35
+ area: backend
36
+ details: Új admin authentikációs mechanizmus bevezetése, ahol az admin API key-t environment variable-ből olvassuk (pl. DYNTS_ADMIN_API_KEY), és ezzel lehet védeni az érzékeny / admin endpointokat. Alaposan át kell tervezni, hogy hogyan integrálódjon a meglévő DyNTS auth rendszerekbe (controller / endpoint params szinten reusable guard / middleware), opcionálisan alkalmazható legyen meglévő endpointokra is (pl. errors controller endpointjaira). Előfeltétele a BL-20260420-003 log lekérő endpointnak
37
+
38
+ - [FEATURE] (BL-20260420-003) Server log file-ok lekérése admin endpointon keresztül
39
+ status: ⏳ pending
40
+ priority: medium
41
+ source: user
42
+ area: backend
43
+ details: A BL-20260420-001 file-based log rendszerre épülve egy új endpoint, amin keresztül le lehet kérni a szerverről a kiírt log file-ok tartalmát (pl. paged / range / tail módon). Az endpointot a BL-20260420-002 admin API key auth-tal kell védeni
44
+
45
+ - [IMPROVEMENT] (BL-20260420-004) Errors endpointok opcionális admin API key védelme
46
+ status: ⏳ pending
47
+ priority: medium
48
+ source: user
49
+ area: backend
50
+ details: A BL-20260420-002 admin API key auth réteget opcionálisan rá kell tudni húzni a meglévő DyNTS_Errors_Controller endpointjaira (errors.controller.ts) is, hogy érzékeny error-listázó / kezelő endpointok admin auth mögé kerülhessenek. Opt-in legyen, ne törje a meglévő integrációkat
@@ -1,15 +1,15 @@
1
- # TODO.md
2
-
3
- > STRICT PATTERN (MUST FOLLOW EXACTLY)
4
- > - Entry header: "- EMOJI (TD-YYYYMMDD-###) TITLE"
5
- > - Immediately followed by (exact keys, colon-space, indented 2 spaces):
6
- > - " priority: <low|medium|high|urgent>"
7
- > - " area: <ui|backend|infra|docs|tests|ux|general>"
8
- > - " source: <user|system|assistant|spec-file.md>"
9
- > - " details: <single-line description>"
10
- > - NO blank line between header and fields (parser reads i+1..i+4).
11
- > - One blank line between entries (readability).
12
- > - EMOJI values: ❌ ⏳ 🔄 🔍 ✅ ⚠️ ❓
13
- > - IDs: unique per project, format TD-YYYYMMDD-### (increment ###).
14
- > - Group entries by ## headings (spec file / feature area).
15
- > - One deliverable per entry (atomic tasks).
1
+ # TODO.md
2
+
3
+ > STRICT PATTERN (MUST FOLLOW EXACTLY)
4
+ > - Entry header: "- EMOJI (TD-YYYYMMDD-###) TITLE"
5
+ > - Immediately followed by (exact keys, colon-space, indented 2 spaces):
6
+ > - " priority: <low|medium|high|urgent>"
7
+ > - " area: <ui|backend|infra|docs|tests|ux|general>"
8
+ > - " source: <user|system|assistant|spec-file.md>"
9
+ > - " details: <single-line description>"
10
+ > - NO blank line between header and fields (parser reads i+1..i+4).
11
+ > - One blank line between entries (readability).
12
+ > - EMOJI values: ❌ ⏳ 🔄 🔍 ✅ ⚠️ ❓
13
+ > - IDs: unique per project, format TD-YYYYMMDD-### (increment ###).
14
+ > - Group entries by ## headings (spec file / feature area).
15
+ > - One deliverable per entry (atomic tasks).
@@ -1,138 +1,138 @@
1
-
2
-
3
-
4
-
5
- ## Agent
6
-
7
- 0. A conversation listát megvágjuk, hogy beleférjen a chat-LLM hívásba (maxTokens)
8
-
9
- 1. Egy elő LLM kérdésben beköthetjük a Routine-okat (a routinok afféle felülírók, megelőzik az utolsó üzenetet, de közben meg kell oldjuk valahogy, hogy az üzenet is feldolgozásra kerüljön, és a routine is érvényesüljön ha kell (van, hogy csak hozzá kell adjunk valamit a parancshoz))
10
- - mik alapján keresünk routine-okat:
11
- - session doing/goal/intent alapú micro routine-ok (vektor keresés; mindig amikor...)
12
- - egyéb micro routine-ok (vektor keresés; mindig amikor...)
13
- - idő alapú triggering
14
- - ???
15
-
16
- 2. Egy nagy LLM kérdésben megkérdezzük, hogy az utolsó user message teljesítéséhez...
17
- - milyen operation-ök kellenek
18
- - itt felsoroljuk az elérhető operation-öket
19
- - Ez lehet több is.
20
- - A: NONE | (operation-with-intent or get-operation-group-with-intent) list
21
- - kell-e a kódbázisban keresni
22
- - itt felsoroljuk az elérhető projekt-eket
23
- - ha igen, mire kell vektorkeressünk
24
- - A: NONE | vektor search keywords
25
- - kell-e a dokumentumok között keresni keresni
26
- - itt felsoroljuk az elérhető dokumentumokat/dokumentum tárakat (attól függően, hogy ne legyen túl sok opció)
27
- - ha igen, mire kell vektorkeressünk
28
- - A: NONE | vektor search keywords
29
- - kell-e a DB context-ben keresni
30
- - ha igen, mire kell vektorkeressünk
31
- - A: NONE | vektor search keywords
32
- - kell-e valamilyen specifikus context adat
33
- - itt felsoroljuk az elérhető specifikus context adatokat
34
- - ezek olyan speciális adatok amik fixek, és direkt method-okkal adjuk meg őket,
35
- - pontos dátum-idő
36
- - user neve/nickneve/amin szólítsa a bot
37
- - user data
38
- - user settings
39
- - ... TODO: add more special context data keys
40
- - A: NONE | special context data key
41
- Mindegyik input lehet NONE, ami azt jelzi, hogy nincs rá szükség
42
-
43
- 3. Ha kell, bármilyen info, akkor először azokat gyűjtjük össze
44
- - a talált info-kat beletesszük a beszélgetésbe mint assistant message-ek
45
- (ezek valójában nem kerülnek elküldésre, a következő üzenet érkezésekkor nem fognak rendelkezésre állni, de elmentjük a db-be az egész conversation listát)
46
-
47
- 4. Ha kell, akkor lekérjük a kért operation-group-okat és abból újabb LLM kérdéssel összeszedjük a szükséges operation-öket
48
- - az operation-group-okat különféle módon szerezhetjük be
49
- - Group-olt operation-ök listázása
50
- - MCP Server-ről kérés
51
- - ... TODO: is there any more operation-group sources?
52
-
53
- 4. Ha kell, akkor végrehajtjuk a kért operation-öket
54
- - a végrehajtás eredményéről röviden beszámolunk/értesítjük a user-t, hogy mit sikerült és nem sikerült csinálni
55
- (nem csak a jelenlegi conversation listába tesszük be, hanem tényleg el is küldjük a user-nek egy message-et)
56
-
57
- 5. Egy újabb LLM kérdéssel kiszedjük az új context-et aminek be kell kerülnie a DB context-be
58
- - ha kell akkor a mentendő context-et kell visszaadja, ha nem akkor a NONE
59
-
60
- 6. Megválaszoljuk a user üzenetét
61
-
62
- 7. A végeredményt elmentjük a DB-be
63
- - minden llm kérdés-választ,
64
- - és a result-okkal feltáplált conversation listát
65
- - a vektor keresések eredményeit
66
- - (not yet): ha nem messaging platformon vagyunk (discord/slack/teams), akkor chat session-ökbe mentjük az adatokat
67
- - ebben az esetben külön kell válogatni azokat a message-eket amiket elküldtünk a user-nek (conversation) attól amik az operation-ök végrehajtása során keletkeznek (logs)
68
-
69
-
70
- ## Operation-ök
71
- - az operation-ök lista kérésekor hangsúlyozzuk az LLM-nek, hogy mindig próbáljuk a leg apróbb lépésekből összeállítani a listát
72
- - minden operation úgy működik mint egy MCP Server kérés, adott egy input schema
73
- - az input-ot a conversation alapján állítjuk össze, úgy hogy az operation intent kerül bele a conversation-be mielőtt egy LLM hívással megpróbáljuk összeállítani az inputot
74
- - az input-ok összeállításakor felhívjuk az LLM figyelmét, hogy a mentendő módosítandó adatokat csak akkor manipulálja, ha azt a user kérte, egyébként használjuk a user szava járását
75
- - az operation-ok mindig string-et kell visszaadjanak ami szintén a conversation-be kerül bele (ha obj-et kapunk vissza, akkor azt egyszerűen string-gé alakítjuk)
76
- - egyes operation-ök több lépéses operation-routine-okként hajtandóak végre (az LLM csak egy operation-t választ ki, de ha az egy operation-routine, akkor azokat hajtjuk végre sorban)
77
-
78
- ## Routine-ok
79
-
80
- ### Időalapú és Triggered routine-ok
81
- - olyan routine-ok amiket egy adott időpontban/idő után/időközönként hajtunk végre
82
- - ezek lehetnek olyan routine-ok is amiket nem egy felhasználói üzenet indít, hanem egy időpont, és ez után automatikusan üzenetet küld egy beállított default csatornára
83
- - lehetnek webhook trigger alapúak is
84
- - ezek lehetnek továbbá complex rutine-ok amik feladat folyamatokat indukálnak
85
- pl.:
86
- - minden reggel nézd át az email-eket és az üzeneteket és amire tudsz válaszolj, amire pedig nem, azt beszéljük át
87
- - minden reggel gyűjtsd össze az aktuális top prio feladatokat és segíts megtervezni a napomat
88
- - ha új task kerül a rendszerbe, tervezd meg a megvalósítást (de mindenképpen egyeztess róla a PO-val)
89
- - az új task resolution plan-eket mindig validáltatssuk le a PO-val
90
- - mindig amikor új PR kerül fel az xy repo-ba akkor review-zz
91
-
92
-
93
-
94
- ### Micro routine-ok
95
- - olyan routine-ok amiket módosítanak a user input-on,
96
- pl: mindig amikor kódokat generálunk, akkor figyeljünk oda, a hosszú sorok mindig törve legyenek (ilyenkor ezt mindig hozzáfűzzük a user message-hez)
97
- - a micro routine-okat a DB-be mentjük, a kulcs adatokat vektorizálva
98
- Adatok:
99
- - goal: mindig amikor...
100
-
101
- ### Egyéb
102
- - meg kell keresnünk azt a pontot és értelmezést, hogy hogyan tudunk segíteni a user-nek a gondolatai megfogalmazásában
103
- (talán a "2. Egy nagy LLM kérdés"-be bele vehetnénk, hogy ha a user bizonytalannak tűnik, vagy nem összeszedettnek akkor javaslunk egy összeszedettebb inputot, amit ha elfogad, akkor úgy kezeljük mintha a user küldte volna)
104
-
105
-
106
-
107
-
108
-
109
-
110
- PROMPT
111
- Az NTS-be szeretnénk implementálni egy Operation Handler Agent-öt, ami ugye az NTS package-be fog bekerülni egy saját modulba, és ezt a modult fogjuk használni a projektek implementálásakor úgy, hogy az IO-Control-ba handleMessage-be kötjük be.
112
-
113
- Úgy kéne beépíteni ezt az Agent-öt, ahogy most is be van építve. Szóval ez az Agent modul, ez magában lesz. Megcsinál mindent, amit leírtunk ebbe a dokumentumban, specifikációba. Azt már a projekt implementálásnál kell majd megadni, hogy a socket.io-ból behívjuk az agent-öt.
114
-
115
-
116
-
117
- ezt a CCAP-ba az agent-2 module-ba fejlesztjük le mint POC/prototípus (not like agent module)
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
- // TODO: we need to create a solution to create a maxed LLM call with 50-50% of the logs and the conversation
128
- // the logs will go to the userPrompt, after the conversation, but we will need to cut them equally beside the system and control prompt (last user prompt)
129
- // for the part that is before (both in log and conversation) we will need to be merged to a summary that is added as first (oldest element)
130
-
131
-
132
-
133
-
134
-
135
-
136
-
137
-
138
-
1
+
2
+
3
+
4
+
5
+ ## Agent
6
+
7
+ 0. A conversation listát megvágjuk, hogy beleférjen a chat-LLM hívásba (maxTokens)
8
+
9
+ 1. Egy elő LLM kérdésben beköthetjük a Routine-okat (a routinok afféle felülírók, megelőzik az utolsó üzenetet, de közben meg kell oldjuk valahogy, hogy az üzenet is feldolgozásra kerüljön, és a routine is érvényesüljön ha kell (van, hogy csak hozzá kell adjunk valamit a parancshoz))
10
+ - mik alapján keresünk routine-okat:
11
+ - session doing/goal/intent alapú micro routine-ok (vektor keresés; mindig amikor...)
12
+ - egyéb micro routine-ok (vektor keresés; mindig amikor...)
13
+ - idő alapú triggering
14
+ - ???
15
+
16
+ 2. Egy nagy LLM kérdésben megkérdezzük, hogy az utolsó user message teljesítéséhez...
17
+ - milyen operation-ök kellenek
18
+ - itt felsoroljuk az elérhető operation-öket
19
+ - Ez lehet több is.
20
+ - A: NONE | (operation-with-intent or get-operation-group-with-intent) list
21
+ - kell-e a kódbázisban keresni
22
+ - itt felsoroljuk az elérhető projekt-eket
23
+ - ha igen, mire kell vektorkeressünk
24
+ - A: NONE | vektor search keywords
25
+ - kell-e a dokumentumok között keresni keresni
26
+ - itt felsoroljuk az elérhető dokumentumokat/dokumentum tárakat (attól függően, hogy ne legyen túl sok opció)
27
+ - ha igen, mire kell vektorkeressünk
28
+ - A: NONE | vektor search keywords
29
+ - kell-e a DB context-ben keresni
30
+ - ha igen, mire kell vektorkeressünk
31
+ - A: NONE | vektor search keywords
32
+ - kell-e valamilyen specifikus context adat
33
+ - itt felsoroljuk az elérhető specifikus context adatokat
34
+ - ezek olyan speciális adatok amik fixek, és direkt method-okkal adjuk meg őket,
35
+ - pontos dátum-idő
36
+ - user neve/nickneve/amin szólítsa a bot
37
+ - user data
38
+ - user settings
39
+ - ... TODO: add more special context data keys
40
+ - A: NONE | special context data key
41
+ Mindegyik input lehet NONE, ami azt jelzi, hogy nincs rá szükség
42
+
43
+ 3. Ha kell, bármilyen info, akkor először azokat gyűjtjük össze
44
+ - a talált info-kat beletesszük a beszélgetésbe mint assistant message-ek
45
+ (ezek valójában nem kerülnek elküldésre, a következő üzenet érkezésekkor nem fognak rendelkezésre állni, de elmentjük a db-be az egész conversation listát)
46
+
47
+ 4. Ha kell, akkor lekérjük a kért operation-group-okat és abból újabb LLM kérdéssel összeszedjük a szükséges operation-öket
48
+ - az operation-group-okat különféle módon szerezhetjük be
49
+ - Group-olt operation-ök listázása
50
+ - MCP Server-ről kérés
51
+ - ... TODO: is there any more operation-group sources?
52
+
53
+ 4. Ha kell, akkor végrehajtjuk a kért operation-öket
54
+ - a végrehajtás eredményéről röviden beszámolunk/értesítjük a user-t, hogy mit sikerült és nem sikerült csinálni
55
+ (nem csak a jelenlegi conversation listába tesszük be, hanem tényleg el is küldjük a user-nek egy message-et)
56
+
57
+ 5. Egy újabb LLM kérdéssel kiszedjük az új context-et aminek be kell kerülnie a DB context-be
58
+ - ha kell akkor a mentendő context-et kell visszaadja, ha nem akkor a NONE
59
+
60
+ 6. Megválaszoljuk a user üzenetét
61
+
62
+ 7. A végeredményt elmentjük a DB-be
63
+ - minden llm kérdés-választ,
64
+ - és a result-okkal feltáplált conversation listát
65
+ - a vektor keresések eredményeit
66
+ - (not yet): ha nem messaging platformon vagyunk (discord/slack/teams), akkor chat session-ökbe mentjük az adatokat
67
+ - ebben az esetben külön kell válogatni azokat a message-eket amiket elküldtünk a user-nek (conversation) attól amik az operation-ök végrehajtása során keletkeznek (logs)
68
+
69
+
70
+ ## Operation-ök
71
+ - az operation-ök lista kérésekor hangsúlyozzuk az LLM-nek, hogy mindig próbáljuk a leg apróbb lépésekből összeállítani a listát
72
+ - minden operation úgy működik mint egy MCP Server kérés, adott egy input schema
73
+ - az input-ot a conversation alapján állítjuk össze, úgy hogy az operation intent kerül bele a conversation-be mielőtt egy LLM hívással megpróbáljuk összeállítani az inputot
74
+ - az input-ok összeállításakor felhívjuk az LLM figyelmét, hogy a mentendő módosítandó adatokat csak akkor manipulálja, ha azt a user kérte, egyébként használjuk a user szava járását
75
+ - az operation-ok mindig string-et kell visszaadjanak ami szintén a conversation-be kerül bele (ha obj-et kapunk vissza, akkor azt egyszerűen string-gé alakítjuk)
76
+ - egyes operation-ök több lépéses operation-routine-okként hajtandóak végre (az LLM csak egy operation-t választ ki, de ha az egy operation-routine, akkor azokat hajtjuk végre sorban)
77
+
78
+ ## Routine-ok
79
+
80
+ ### Időalapú és Triggered routine-ok
81
+ - olyan routine-ok amiket egy adott időpontban/idő után/időközönként hajtunk végre
82
+ - ezek lehetnek olyan routine-ok is amiket nem egy felhasználói üzenet indít, hanem egy időpont, és ez után automatikusan üzenetet küld egy beállított default csatornára
83
+ - lehetnek webhook trigger alapúak is
84
+ - ezek lehetnek továbbá complex rutine-ok amik feladat folyamatokat indukálnak
85
+ pl.:
86
+ - minden reggel nézd át az email-eket és az üzeneteket és amire tudsz válaszolj, amire pedig nem, azt beszéljük át
87
+ - minden reggel gyűjtsd össze az aktuális top prio feladatokat és segíts megtervezni a napomat
88
+ - ha új task kerül a rendszerbe, tervezd meg a megvalósítást (de mindenképpen egyeztess róla a PO-val)
89
+ - az új task resolution plan-eket mindig validáltatssuk le a PO-val
90
+ - mindig amikor új PR kerül fel az xy repo-ba akkor review-zz
91
+
92
+
93
+
94
+ ### Micro routine-ok
95
+ - olyan routine-ok amiket módosítanak a user input-on,
96
+ pl: mindig amikor kódokat generálunk, akkor figyeljünk oda, a hosszú sorok mindig törve legyenek (ilyenkor ezt mindig hozzáfűzzük a user message-hez)
97
+ - a micro routine-okat a DB-be mentjük, a kulcs adatokat vektorizálva
98
+ Adatok:
99
+ - goal: mindig amikor...
100
+
101
+ ### Egyéb
102
+ - meg kell keresnünk azt a pontot és értelmezést, hogy hogyan tudunk segíteni a user-nek a gondolatai megfogalmazásában
103
+ (talán a "2. Egy nagy LLM kérdés"-be bele vehetnénk, hogy ha a user bizonytalannak tűnik, vagy nem összeszedettnek akkor javaslunk egy összeszedettebb inputot, amit ha elfogad, akkor úgy kezeljük mintha a user küldte volna)
104
+
105
+
106
+
107
+
108
+
109
+
110
+ PROMPT
111
+ Az NTS-be szeretnénk implementálni egy Operation Handler Agent-öt, ami ugye az NTS package-be fog bekerülni egy saját modulba, és ezt a modult fogjuk használni a projektek implementálásakor úgy, hogy az IO-Control-ba handleMessage-be kötjük be.
112
+
113
+ Úgy kéne beépíteni ezt az Agent-öt, ahogy most is be van építve. Szóval ez az Agent modul, ez magában lesz. Megcsinál mindent, amit leírtunk ebbe a dokumentumban, specifikációba. Azt már a projekt implementálásnál kell majd megadni, hogy a socket.io-ból behívjuk az agent-öt.
114
+
115
+
116
+
117
+ ezt a CCAP-ba az agent-2 module-ba fejlesztjük le mint POC/prototípus (not like agent module)
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+ // TODO: we need to create a solution to create a maxed LLM call with 50-50% of the logs and the conversation
128
+ // the logs will go to the userPrompt, after the conversation, but we will need to cut them equally beside the system and control prompt (last user prompt)
129
+ // for the part that is before (both in log and conversation) we will need to be merged to a summary that is added as first (oldest element)
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+