@futdevpro/nts-dynamo 1.15.71 → 1.15.73
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.
- package/.c8rc.json +26 -26
- package/.copilot/patterns.json +7 -7
- package/.cursor/rules/__assistant_guide.mdc +30 -30
- package/.cursor/rules/_ag_backend-structure.mdc +85 -85
- package/.cursor/rules/_ag_backend.mdc +16 -16
- package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
- package/.cursor/rules/_ag_frontend.mdc +39 -39
- package/.cursor/rules/_ag_import-rules.mdc +44 -44
- package/.cursor/rules/_ag_naming.mdc +115 -115
- package/.cursor/rules/_ag_should-be.mdc +6 -6
- package/.cursor/rules/ai_development_guide.md +60 -60
- package/.cursor/rules/cursor-rules.md +160 -160
- package/.cursor/rules/default-command.mdc +464 -464
- package/.cursor/rules/error_code_pattern.md +39 -39
- package/.cursor/rules/saved rule mcp server use.md +15 -15
- package/.vscode/settings.json +10 -10
- package/HOWTO.md +15 -15
- package/LICENSE +21 -21
- package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
- package/__documentations/plans/BEDROCK-HYPERPLAN.md +95 -0
- package/_specifications/BACKLOG.md +92 -92
- package/_specifications/TODO.md +15 -15
- package/_specifications/agent.md +138 -138
- package/build/_collections/global-settings.const.d.ts.map +1 -1
- package/build/_collections/global-settings.const.js +7 -0
- package/build/_collections/global-settings.const.js.map +1 -1
- package/build/_models/interfaces/global-settings.interface.d.ts +24 -0
- package/build/_models/interfaces/global-settings.interface.d.ts.map +1 -1
- package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts +15 -0
- package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts.map +1 -1
- package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js +34 -6
- package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.js.map +1 -1
- package/build/_services/core/memory-guard.service.d.ts +51 -0
- package/build/_services/core/memory-guard.service.d.ts.map +1 -1
- package/build/_services/core/memory-guard.service.js +169 -6
- package/build/_services/core/memory-guard.service.js.map +1 -1
- package/eslint.config.js +3 -3
- package/nodemon.json +24 -24
- package/package.json +1 -1
- package/pnpm-workspace.yaml +5 -5
- package/scripts/run-coverage-tests.js +28 -28
- package/spec/support/helpers/spec-reporter-loader.js +359 -359
- package/spec/support/helpers/ts-node-helper.js +93 -93
- package/spec/support/jasmine.coverage.json +24 -24
- package/spec/support/jasmine.json +24 -24
- package/src/_collections/archive.util.spec.ts +57 -57
- package/src/_collections/archive.util.ts +18 -18
- package/src/_collections/atlas-default-db-options.const.ts +9 -9
- package/src/_collections/default-fallback-cache-max-age.const.spec.ts +11 -11
- package/src/_collections/default-fallback-cache-max-age.const.ts +2 -2
- package/src/_collections/default-not-found-page.const.spec.ts +19 -19
- package/src/_collections/default-not-found-page.const.ts +22 -22
- package/src/_collections/default-socket-path.const.spec.ts +12 -12
- package/src/_collections/default-socket-path.const.ts +2 -2
- package/src/_collections/get-environment-settings.util.spec.ts +210 -210
- package/src/_collections/get-environment-settings.util.ts +48 -48
- package/src/_collections/global-settings.const.ts +96 -89
- package/src/_collections/sample.env +21 -21
- package/src/_collections/star.controller.spec.ts +224 -224
- package/src/_collections/star.controller.ts +129 -129
- package/src/_enums/data-model-type.enum.ts +14 -14
- package/src/_enums/data-service-function.enum.ts +24 -24
- package/src/_enums/predefined-data-types.enum.ts +16 -16
- package/src/_enums/route-security.enum.ts +12 -12
- package/src/_models/control-models/api-call-params.control-model.spec.ts +152 -152
- package/src/_models/control-models/api-call-params.control-model.ts +142 -142
- package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -52
- package/src/_models/control-models/app-ext-system-controls.control-model.ts +9 -9
- package/src/_models/control-models/app-params.control-model.spec.ts +225 -225
- package/src/_models/control-models/app-params.control-model.ts +136 -136
- package/src/_models/control-models/app-system-controls.control-model.spec.ts +31 -31
- package/src/_models/control-models/app-system-controls.control-model.ts +9 -9
- package/src/_models/control-models/endpoint-params.control-model.spec.ts +627 -627
- package/src/_models/control-models/endpoint-params.control-model.ts +627 -627
- package/src/_models/control-models/http-settings.control-model.spec.ts +77 -77
- package/src/_models/control-models/http-settings.control-model.ts +37 -37
- package/src/_models/control-models/system-control.control-model.spec.ts +27 -27
- package/src/_models/control-models/system-control.control-model.ts +12 -12
- package/src/_models/interfaces/certification-settings.interface.ts +7 -7
- package/src/_models/interfaces/environment-settings.interface.ts +59 -59
- package/src/_models/interfaces/global-log-settings.interface.ts +171 -171
- package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
- package/src/_models/interfaces/global-settings.interface.ts +24 -0
- package/src/_models/interfaces/routing-module-settings.interface.ts +21 -21
- package/src/_models/interfaces/static-client-settings.interface.spec.ts +29 -29
- package/src/_models/interfaces/static-client-settings.interface.ts +28 -28
- package/src/_models/types/db-update.type.ts +100 -100
- package/src/_modules/ai/_models/ai-input-interfaces.ts +117 -117
- package/src/_modules/ai/_models/ai-test-generation-result.interface.ts +16 -16
- package/src/_modules/ai/_modules/anthropic/_services/aai-user-key.control-service.ts +138 -138
- package/src/_modules/ai/_modules/anthropic/index.ts +5 -5
- package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -242
- package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.ts +639 -639
- package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.spec.ts +295 -295
- package/src/_modules/ai/_modules/document-ai/_collections/dai-code-chunking.util.ts +518 -518
- package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -209
- package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.ts +85 -85
- package/src/_modules/ai/_modules/document-ai/_enums/dai-compare-result-type.enum.ts +7 -7
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-chunk.data-model.ts +146 -146
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-doc-page.data-model.ts +162 -162
- package/src/_modules/ai/_modules/document-ai/_models/data-models/dai-document.data-model.ts +99 -99
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-code-chunk.interface.ts +68 -68
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-chunk-compare-result.interface.ts +18 -18
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-doc-page-compare-result.interface.ts +19 -19
- package/src/_modules/ai/_modules/document-ai/_models/interfaces/dai-document-compare-result.interface.ts +25 -25
- package/src/_modules/ai/_modules/document-ai/index.ts +30 -30
- package/src/_modules/ai/_modules/fdp-ai/_services/fdpai-user-key.control-service.ts +189 -189
- package/src/_modules/ai/_modules/fdp-ai/index.ts +5 -5
- package/src/_modules/ai/_modules/open-ai/_collections/oai-global-settings.const.ts +9 -9
- package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests-hu.conts.ts +82 -82
- package/src/_modules/ai/_modules/open-ai/_collections/oai-llm-predefined-requests.conts.ts +75 -75
- package/src/_modules/ai/_modules/open-ai/_enums/oai-gpt-message-role.enum.ts +45 -45
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-global-settings.interface.ts +7 -7
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-gpt-message.interface.ts +7 -7
- package/src/_modules/ai/_modules/open-ai/_models/interfaces/oai-llm-predefined-requests.interface.ts +57 -57
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-doc-chunk-data.service.ts +292 -292
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -342
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -550
- package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.ts +630 -630
- package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +332 -332
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -462
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.ts +634 -634
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +489 -489
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.tools.spec.ts +173 -173
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +1033 -1033
- package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
- package/src/_modules/ai/_services/ai-embedding-mock.service.spec.ts +115 -115
- package/src/_modules/ai/_services/ai-embedding-mock.service.ts +212 -212
- package/src/_modules/ai/_services/ai-embedding-provider.registry.spec.ts +110 -110
- package/src/_modules/ai/_services/ai-embedding-provider.registry.ts +110 -110
- package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -98
- package/src/_modules/ai/_services/ai-embedding.service-base.ts +48 -48
- package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -229
- package/src/_modules/ai/_services/ai-llm-chat.service-base.ts +68 -68
- package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -250
- package/src/_modules/ai/_services/ai-llm.service-base.ts +519 -519
- package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +158 -158
- package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
- package/src/_modules/ai/_services/lmstudio-embedding.control-service.spec.ts +197 -197
- package/src/_modules/ai/_services/lmstudio-embedding.control-service.ts +371 -371
- package/src/_modules/ai/index.ts +23 -23
- package/src/_modules/assistant/_collections/ass-global-settings.const.ts +13 -13
- package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -176
- package/src/_modules/assistant/_collections/ass.util.ts +50 -50
- package/src/_modules/assistant/_models/ass-global-settings.interface.ts +15 -15
- package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -140
- package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -192
- package/src/_modules/assistant/_services/ass-main.control-service.ts +107 -107
- package/src/_modules/bot/_collections/bot-default-commands.const.ts +12 -12
- package/src/_modules/bot/_collections/bot-global-settings.const.ts +39 -39
- package/src/_modules/bot/_models/bot-channel-wrapper.interface.ts +62 -62
- package/src/_modules/bot/_models/bot-command.interface.ts +8 -8
- package/src/_modules/bot/_models/bot-global-settings.interface.ts +96 -96
- package/src/_modules/bot/_models/bot-last-mention-date.interface.ts +6 -6
- package/src/_modules/bot/_models/bot-last-message-date.interface.ts +5 -5
- package/src/_modules/bot/_models/bot-user-wrapper.interface.ts +41 -41
- package/src/_modules/bot/_modules/discord-bot/_models/dib-platform.types.ts +9 -9
- package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -431
- package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -160
- package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +55 -55
- package/src/_modules/bot/_modules/dynamo-bot/_models/dyb-platform.types.ts +15 -15
- package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -374
- package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.ts +447 -447
- package/src/_modules/bot/_modules/dynamo-bot/index.ts +15 -15
- package/src/_modules/bot/_modules/slack-bot/_models/slb-platform.types.ts +9 -9
- package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -344
- package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.ts +197 -197
- package/src/_modules/bot/_modules/teams-bot/_models/teb-platform.types.ts +9 -9
- package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -345
- package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.ts +197 -197
- package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -116
- package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -285
- package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -208
- package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -349
- package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -111
- package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -49
- package/src/_modules/custom-data/custom-data.controller.ts +67 -67
- package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -54
- package/src/_modules/custom-data/custom-data.data-service.ts +21 -21
- package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -28
- package/src/_modules/custom-data/get-custom-data-routing-module.util.ts +24 -24
- package/src/_modules/custom-data/index.ts +9 -9
- package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.spec.ts +161 -161
- package/src/_modules/data-readers/_collections/dynts-sqlite-reader.util.ts +203 -203
- package/src/_modules/data-readers/_models/interfaces/dynts-sqlite-reader.interface.ts +33 -33
- package/src/_modules/data-readers/index.ts +11 -11
- package/src/_modules/defaults/_collections/default-endpoints.util.ts +487 -487
- package/src/_modules/defaults/_models/default-user.data-model.ts +72 -72
- package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -269
- package/src/_modules/defaults/_services/default-auth.service.ts +177 -177
- package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -42
- package/src/_modules/defaults/_services/default-socket-events.service.ts +61 -61
- package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -187
- package/src/_modules/defaults/_services/default-user.data-service.ts +98 -98
- package/src/_modules/defaults/index.ts +17 -17
- package/src/_modules/discord-assistant/_collections/dias-global-settings.const.ts +19 -19
- package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -366
- package/src/_modules/discord-assistant/_collections/dias.util.ts +132 -132
- package/src/_modules/discord-assistant/_models/dias-global-settings.interface.ts +19 -19
- package/src/_modules/discord-assistant/_models/dias-knowledge.data-model.ts +52 -52
- package/src/_modules/discord-assistant/_services/dias-chunk.data-service.ts +177 -177
- package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -108
- package/src/_modules/discord-assistant/_services/dias-io.control-service.ts +69 -69
- package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -22
- package/src/_modules/discord-assistant/_services/dias-main.control-service.ts +27 -27
- package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -195
- package/src/_modules/discord-assistant/_services/dias.service-base.ts +76 -76
- package/src/_modules/discord-assistant/index.ts +38 -38
- package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -34
- package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.ts +11 -11
- package/src/_modules/discord-assistant-voiced/index.ts +36 -36
- package/src/_modules/discord-bot/_collections/dibo-default-commands.const.ts +16 -16
- package/src/_modules/discord-bot/_collections/dibo-global-settings.conts.ts +55 -55
- package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -214
- package/src/_modules/discord-bot/_collections/dibo-operations.util.ts +387 -387
- package/src/_modules/discord-bot/_models/dibo-command.interface.ts +12 -12
- package/src/_modules/discord-bot/_models/dibo-global-settings.interface.ts +98 -98
- package/src/_modules/discord-bot/_models/dibo-last-mention-date.inteface.ts +7 -7
- package/src/_modules/discord-bot/_models/dibo-last-message-date.interface.ts +6 -6
- package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -154
- package/src/_modules/discord-bot/_services/dibo-commands.control-service.ts +153 -153
- package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -264
- package/src/_modules/discord-bot/_services/dibo-io.control-service.ts +306 -306
- package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -408
- package/src/_modules/discord-bot/_services/dibo-main.control-service.ts +487 -487
- package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -105
- package/src/_modules/discord-bot/index.ts +36 -36
- package/src/_modules/local-vector-search/_enums/lvs-search-mode.enum.ts +35 -35
- package/src/_modules/local-vector-search/_models/data-models/lvs-vector-persist.data-model.ts +59 -59
- package/src/_modules/local-vector-search/_models/lvs-search-result.interface.ts +17 -17
- package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -418
- package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.ts +276 -276
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +480 -480
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +416 -416
- package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.spec.ts +198 -198
- package/src/_modules/local-vector-search/_services/lvs-persistent-vector-pool.control-service.ts +146 -146
- package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.spec.ts +167 -167
- package/src/_modules/local-vector-search/_services/lvs-vector-persist.data-service.ts +106 -106
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +507 -455
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +272 -239
- package/src/_modules/local-vector-search/index.ts +16 -16
- package/src/_modules/logs/index.ts +11 -11
- package/src/_modules/mcp/_models/interfaces/dynts-mcp.interface.ts +111 -111
- package/src/_modules/mcp/_services/dynts-mcp-server.service-base.spec.ts +142 -142
- package/src/_modules/mcp/_services/dynts-mcp-server.service-base.ts +120 -120
- package/src/_modules/mcp/_services/dynts-mcp.adapter.ts +168 -168
- package/src/_modules/mcp/index.ts +13 -13
- package/src/_modules/messaging/README.md +354 -354
- package/src/_modules/messaging/_collections/get-messaging-routing-module.util.ts +26 -26
- package/src/_modules/messaging/_collections/msg-global-settings.const.ts +22 -22
- package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -226
- package/src/_modules/messaging/_models/msg-global-settings.interface.ts +37 -37
- package/src/_modules/messaging/_services/msg-conversation.data-service.ts +146 -146
- package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -219
- package/src/_modules/messaging/_services/msg-events.service.ts +267 -267
- package/src/_modules/messaging/_services/msg-integration.control-service.ts +179 -179
- package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -147
- package/src/_modules/messaging/_services/msg-main.control-service.ts +571 -571
- package/src/_modules/messaging/_services/msg-message.data-service.ts +129 -129
- package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -201
- package/src/_modules/messaging/index.ts +30 -30
- package/src/_modules/mock/app-extended-server.mock.ts +201 -201
- package/src/_modules/mock/app-integration-test.mock.ts +51 -51
- package/src/_modules/mock/app-params.mock.spec.ts +21 -21
- package/src/_modules/mock/app-params.mock.ts +9 -9
- package/src/_modules/mock/app-server.mock.ts +188 -188
- package/src/_modules/mock/auth-service.mock.spec.ts +47 -47
- package/src/_modules/mock/auth-service.mock.ts +28 -28
- package/src/_modules/mock/controller.mock.spec.ts +26 -26
- package/src/_modules/mock/controller.mock.ts +16 -16
- package/src/_modules/mock/data-model.mock.spec.ts +111 -111
- package/src/_modules/mock/data-model.mock.ts +82 -82
- package/src/_modules/mock/email-service-collection.mock.spec.ts +24 -24
- package/src/_modules/mock/email-service-collection.mock.ts +15 -15
- package/src/_modules/mock/email-service.mock.spec.ts +17 -17
- package/src/_modules/mock/email-service.mock.ts +20 -20
- package/src/_modules/mock/email-template.mock.html +14 -14
- package/src/_modules/mock/endpoint.mock.ts +91 -91
- package/src/_modules/mock/socket-client.mock.spec.ts +40 -40
- package/src/_modules/mock/socket-client.mock.ts +45 -45
- package/src/_modules/mock/socket-server.mock.spec.ts +44 -44
- package/src/_modules/mock/socket-server.mock.ts +46 -46
- package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -107
- package/src/_modules/oauth2/_routes/oauth2.controller.ts +98 -98
- package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -254
- package/src/_modules/oauth2/_services/oauth2.auth-service.ts +232 -232
- package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -585
- package/src/_modules/oauth2/_services/oauth2.control-service.ts +653 -653
- package/src/_modules/oauth2/index.ts +17 -17
- package/src/_modules/scoped-config/_enums/dynts-scoped-config-level.enum.ts +22 -22
- package/src/_modules/scoped-config/_models/data-models/dynts-scoped-config.data-model.ts +81 -81
- package/src/_modules/scoped-config/_models/interfaces/dynts-scoped-config.interface.ts +107 -107
- package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.spec.ts +306 -306
- package/src/_modules/scoped-config/_services/dynts-scoped-config.control-service.ts +295 -295
- package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.spec.ts +118 -118
- package/src/_modules/scoped-config/_services/dynts-scoped-config.data-service.ts +105 -105
- package/src/_modules/scoped-config/index.ts +17 -17
- package/src/_modules/server/errors/errors.control-service.spec.ts +238 -238
- package/src/_modules/server/errors/errors.control-service.ts +100 -100
- package/src/_modules/server/errors/errors.controller.spec.ts +241 -241
- package/src/_modules/server/errors/errors.controller.ts +489 -489
- package/src/_modules/server/errors/errors.data-service.spec.ts +480 -480
- package/src/_modules/server/index.ts +30 -30
- package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -70
- package/src/_modules/server/server-status/server-status-snapshot.control-service.ts +17 -17
- package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -77
- package/src/_modules/server/server-status/server-status-snapshot.data-service.ts +37 -37
- package/src/_modules/server/server-status/server-status.control-service.spec.ts +576 -576
- package/src/_modules/server/server-status/server-status.control-service.ts +396 -396
- package/src/_modules/server/server-status/server-status.controller.spec.ts +240 -240
- package/src/_modules/server/server-status/server-status.controller.ts +253 -253
- package/src/_modules/socket/_enums/socket-security.enum.ts +11 -11
- package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +32 -32
- package/src/_modules/socket/_models/socket-client-service-params.control-model.ts +22 -22
- package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -164
- package/src/_modules/socket/_models/socket-presence.control-model.ts +210 -210
- package/src/_modules/socket/_models/socket-server-service-params.control-model.spec.ts +46 -46
- package/src/_modules/socket/_models/socket-server-service-params.control-model.ts +22 -22
- package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -15
- package/src/_modules/socket/_services/socket-client.service.ts +260 -260
- package/src/_modules/socket/_services/socket-server.service.spec.ts +11 -11
- package/src/_modules/socket/app-extended.integration.spec.ts +85 -85
- package/src/_modules/socket/app-extended.server.ts +630 -630
- package/src/_modules/socket/index.ts +42 -42
- package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -28
- package/src/_modules/test/get-test-routing-module.util.ts +23 -23
- package/src/_modules/test/index.ts +11 -11
- package/src/_modules/test/test.controller.spec.ts +72 -72
- package/src/_modules/test/test.controller.ts +115 -115
- package/src/_modules/usage/get-usage-routing-module.util.ts +22 -22
- package/src/_modules/usage/index.ts +15 -15
- package/src/_modules/usage/usage.controller.spec.ts +81 -81
- package/src/_modules/usage/usage.controller.ts +126 -126
- package/src/_modules/usage/usage.data-service.spec.ts +332 -332
- package/src/_modules/usage/usage.data-service.ts +185 -185
- package/src/_services/base/api.service-base.spec.ts +125 -125
- package/src/_services/base/api.service-base.ts +74 -74
- package/src/_services/base/archive-data.service.spec.ts +196 -196
- package/src/_services/base/archive-data.service.ts +216 -216
- package/src/_services/base/data.service.spec.ts +674 -674
- package/src/_services/base/data.service.ts +2719 -2719
- package/src/_services/base/db.service.spec.ts +73 -73
- package/src/_services/base/db.service.ts +1575 -1575
- package/src/_services/base/singleton.service-base.spec.ts +28 -28
- package/src/_services/base/singleton.service-base.ts +24 -24
- package/src/_services/base/singleton.service.spec.ts +114 -114
- package/src/_services/base/singleton.service.ts +38 -38
- package/src/_services/core/api.service.spec.ts +140 -140
- package/src/_services/core/auth.service.spec.ts +159 -159
- package/src/_services/core/auth.service.ts +174 -174
- package/src/_services/core/email.service.spec.ts +85 -85
- package/src/_services/core/email.service.ts +742 -742
- package/src/_services/core/global.service.spec.ts +292 -292
- package/src/_services/core/global.service.ts +475 -475
- package/src/_services/core/memory-guard.service.spec.ts +62 -0
- package/src/_services/core/memory-guard.service.ts +195 -6
- package/src/_services/core/service-collection.service.spec.ts +46 -46
- package/src/_services/core/service-collection.service.ts +6 -6
- package/src/_services/route/controller.service.spec.ts +53 -53
- package/src/_services/route/controller.service.ts +148 -148
- package/src/_services/route/routing-module.service.spec.ts +98 -98
- package/src/_services/route/routing-module.service.ts +330 -330
- package/src/_services/server/app.server.ts +1747 -1747
- package/src/_services/shared.static-service.spec.ts +99 -99
- package/src/_services/shared.static-service.ts +78 -78
- package/src/index.ts +96 -96
- package/tsconfig.app.json +12 -12
- package/tsconfig.json +42 -42
- package/.dynamo/logs/cicd-pipeline/output.log +0 -2782
- package/.dynamo/logs/cicd-pipeline/status.json +0 -94
package/_specifications/agent.md
CHANGED
|
@@ -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
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-settings.const.d.ts","sourceRoot":"","sources":["../../src/_collections/global-settings.const.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAIxF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"global-settings.const.d.ts","sourceRoot":"","sources":["../../src/_collections/global-settings.const.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAIxF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,qBAmFnC,CAAC"}
|
|
@@ -65,6 +65,13 @@ exports.DyNTS_global_settings = {
|
|
|
65
65
|
heapCriticalThreshold: 95,
|
|
66
66
|
recoveryMargin: 10,
|
|
67
67
|
maxHistoryCount: 100,
|
|
68
|
+
// GC-thrash precursor (a %-küszöb által gyakran KÉSŐN/sosem fogott OOM) + crash-entry + opcionális graceful-exit.
|
|
69
|
+
gcWarningFraction: 0.40,
|
|
70
|
+
gcCriticalFraction: 0.60,
|
|
71
|
+
installCrashHandlers: true,
|
|
72
|
+
exitOnSustainedCritical: false,
|
|
73
|
+
sustainedCriticalPolls: 3,
|
|
74
|
+
exitCode: 137,
|
|
68
75
|
},
|
|
69
76
|
};
|
|
70
77
|
//# sourceMappingURL=global-settings.const.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-settings.const.js","sourceRoot":"","sources":["../../src/_collections/global-settings.const.ts"],"names":[],"mappings":";;;AAEA,uEAAoE;AAEpE,yFAAsF;AACtF,mFAAgF;AAEhF;;;GAGG;AACU,QAAA,qBAAqB,GAA0B;IAC1D,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,iBAAiB;IAChC,oBAAoB,EAAE,yCAAmB,CAAC,IAAI;IAC9C,qBAAqB,EAAE,2CAAoB,CAAC,IAAI;IAEhD,eAAe,EAAE,EAAE;IACnB,gBAAgB,EAAE,GAAG;IACrB,YAAY,EAAE,IAAA,6DAA6B,GAAE;IAE7C,oCAAoC,EAAE,IAAI;IAC1C,oBAAoB,EAAE,IAAI;IAE1B,YAAY,EAAE;QACZ,gBAAgB,EAAE,KAAK;QAEvB,KAAK,EAAE,KAAK;QAEZ,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,KAAK;QACtB,oBAAoB,EAAE,KAAK;QAE3B,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,mBAAmB,EAAE,KAAK;QAE1B,UAAU,EAAE,IAAI;QAChB,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;QAC1B,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE,IAAI;QAEhB,cAAc,EAAE,KAAK;QAErB,YAAY,EAAE,KAAK;QAEnB,aAAa,EAAE;YACb,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,IAAI;SACjB;KACF;IAED,kBAAkB,EAAE,IAAI;IAExB,iFAAiF;IACjF,oFAAoF;IACpF,kEAAkE;IAClE,aAAa,EAAE;QACb,QAAQ,EAAE,KAAK;KAChB;IAED,YAAY,EAAE,IAAI;IAElB,eAAe,EAAE,IAAI;IAErB,aAAa,EAAE,IAAI;IAEnB,kBAAkB,EAAE,IAAI;IAExB,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;KACpB;IAED,yFAAyF;IACzF,yFAAyF;IACzF,uFAAuF;IACvF,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,KAAK;QACrB,oBAAoB,EAAE,EAAE;QACxB,qBAAqB,EAAE,EAAE;QACzB,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"global-settings.const.js","sourceRoot":"","sources":["../../src/_collections/global-settings.const.ts"],"names":[],"mappings":";;;AAEA,uEAAoE;AAEpE,yFAAsF;AACtF,mFAAgF;AAEhF;;;GAGG;AACU,QAAA,qBAAqB,GAA0B;IAC1D,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,iBAAiB;IAChC,oBAAoB,EAAE,yCAAmB,CAAC,IAAI;IAC9C,qBAAqB,EAAE,2CAAoB,CAAC,IAAI;IAEhD,eAAe,EAAE,EAAE;IACnB,gBAAgB,EAAE,GAAG;IACrB,YAAY,EAAE,IAAA,6DAA6B,GAAE;IAE7C,oCAAoC,EAAE,IAAI;IAC1C,oBAAoB,EAAE,IAAI;IAE1B,YAAY,EAAE;QACZ,gBAAgB,EAAE,KAAK;QAEvB,KAAK,EAAE,KAAK;QAEZ,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,KAAK;QACtB,oBAAoB,EAAE,KAAK;QAE3B,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,mBAAmB,EAAE,KAAK;QAE1B,UAAU,EAAE,IAAI;QAChB,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;QAC1B,oBAAoB,EAAE,KAAK;QAC3B,UAAU,EAAE,IAAI;QAEhB,cAAc,EAAE,KAAK;QAErB,YAAY,EAAE,KAAK;QAEnB,aAAa,EAAE;YACb,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,IAAI;SACjB;KACF;IAED,kBAAkB,EAAE,IAAI;IAExB,iFAAiF;IACjF,oFAAoF;IACpF,kEAAkE;IAClE,aAAa,EAAE;QACb,QAAQ,EAAE,KAAK;KAChB;IAED,YAAY,EAAE,IAAI;IAElB,eAAe,EAAE,IAAI;IAErB,aAAa,EAAE,IAAI;IAEnB,kBAAkB,EAAE,IAAI;IAExB,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;KACpB;IAED,yFAAyF;IACzF,yFAAyF;IACzF,uFAAuF;IACvF,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,KAAK;QACrB,oBAAoB,EAAE,EAAE;QACxB,qBAAqB,EAAE,EAAE;QACzB,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,GAAG;QACpB,kHAAkH;QAClH,iBAAiB,EAAE,IAAI;QACvB,kBAAkB,EAAE,IAAI;QACxB,oBAAoB,EAAE,IAAI;QAC1B,uBAAuB,EAAE,KAAK;QAC9B,sBAAsB,EAAE,CAAC;QACzB,QAAQ,EAAE,GAAG;KACd;CACF,CAAC"}
|
|
@@ -157,6 +157,30 @@ export interface DyNTS_Global_Settings {
|
|
|
157
157
|
recoveryMargin?: number;
|
|
158
158
|
/** Megőrzött események max száma (ring-buffer). Default: 100. */
|
|
159
159
|
maxHistoryCount?: number;
|
|
160
|
+
/**
|
|
161
|
+
* GC-hányad (GC-ben töltött idő / poll-ablak) küszöb a `warning`-hoz, a %-küszöb MELLETT. 0..1. Default: 0.40.
|
|
162
|
+
* A „Ineffective mark-compacts near heap limit" OOM gyakran a heap-% kritikus küszöb ALATT üt be (a GC thrash-el,
|
|
163
|
+
* `mutator utilization` lezuhan) — ezt a jelet a puszta % későn/sosem fogja. Ez a GC-jel a valódi OOM-precursor.
|
|
164
|
+
*/
|
|
165
|
+
gcWarningFraction?: number;
|
|
166
|
+
/** GC-hányad küszöb a `critical`-hoz (load-shed + graceful-exit zóna). 0..1. Default: 0.60. */
|
|
167
|
+
gcCriticalFraction?: number;
|
|
168
|
+
/**
|
|
169
|
+
* Process-szintű crash-handler (`uncaughtException`) telepítése — a crash ELŐTT TELJES-RÉSZLETŰ error-entry
|
|
170
|
+
* (message + stack + kód + issuer + memória-snapshot) az error-sinkbe, majd tiszta exit. Default: true.
|
|
171
|
+
* (Az `unhandledRejection`-t a base App már rögzíti; ez az eddig néma `uncaughtException`-t fedi le.)
|
|
172
|
+
*/
|
|
173
|
+
installCrashHandlers?: boolean;
|
|
174
|
+
/**
|
|
175
|
+
* Tartós `critical` (a megadott poll-számon át, GC-vel sem csökkenő) esetén TISZTA kilépés → a wrapper/
|
|
176
|
+
* restart-policy PREDIKTÍVEN újraindít, a kriptikus fatal OOM (exit 134) helyett. Default: false
|
|
177
|
+
* (konténer-restart-policy-ra bízva; standalone/`serve`-wrapper-es app opt-in-olja).
|
|
178
|
+
*/
|
|
179
|
+
exitOnSustainedCritical?: boolean;
|
|
180
|
+
/** Hány EGYMÁST KÖVETŐ `critical` poll után lépjen ki (`exitOnSustainedCritical`-hez). Default: 3. */
|
|
181
|
+
sustainedCriticalPolls?: number;
|
|
182
|
+
/** A graceful-exit kódja (a wrapper ezt látja restart-jelnek). Default: 137. */
|
|
183
|
+
exitCode?: number;
|
|
160
184
|
};
|
|
161
185
|
}
|
|
162
186
|
//# sourceMappingURL=global-settings.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-settings.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/global-settings.interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IAEpC,YAAY,EAAE,0BAA0B,CAAC;IAEzC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C;;OAEG;IACH,qBAAqB,EAAE,oBAAoB,CAAC;IAE5C;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,oCAAoC,EAAE,OAAO,CAAC;IAE9C;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IAGH;;OAEG;IACH,YAAY,EAAE,wBAAwB,CAAC;IAEvC;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAE5B;;;;;;OAMG;IACH,YAAY,EAAE,GAAG,CAAC;IAElB;;;;;;OAMG;IACH,eAAe,EAAE,GAAG,CAAC;IAErB;;;;;;;OAOG;IACH,aAAa,EAAE,GAAG,CAAC;IAEnB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,GAAG,CAAC;IAEzB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE;QACd;;;;;WAKG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IAEF;;OAEG;IACH,WAAW,EAAE;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IAEF;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,GAAG,CAAC;IAEzB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE;QACZ,qFAAqF;QACrF,OAAO,EAAE,OAAO,CAAC;QACjB,+CAA+C;QAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,wDAAwD;QACxD,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,yDAAyD;QACzD,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,wFAAwF;QACxF,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iEAAiE;QACjE,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"global-settings.interface.d.ts","sourceRoot":"","sources":["../../../src/_models/interfaces/global-settings.interface.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IAEpC,YAAY,EAAE,0BAA0B,CAAC;IAEzC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,oBAAoB,EAAE,mBAAmB,CAAC;IAC1C;;OAEG;IACH,qBAAqB,EAAE,oBAAoB,CAAC;IAE5C;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,oCAAoC,EAAE,OAAO,CAAC;IAE9C;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IAGH;;OAEG;IACH,YAAY,EAAE,wBAAwB,CAAC;IAEvC;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAE5B;;;;;;OAMG;IACH,YAAY,EAAE,GAAG,CAAC;IAElB;;;;;;OAMG;IACH,eAAe,EAAE,GAAG,CAAC;IAErB;;;;;;;OAOG;IACH,aAAa,EAAE,GAAG,CAAC;IAEnB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,GAAG,CAAC;IAEzB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE;QACd;;;;;WAKG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IAEF;;OAEG;IACH,WAAW,EAAE;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IAEF;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,GAAG,CAAC;IAEzB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE;QACZ,qFAAqF;QACrF,OAAO,EAAE,OAAO,CAAC;QACjB,+CAA+C;QAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,wDAAwD;QACxD,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,yDAAyD;QACzD,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,wFAAwF;QACxF,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,iEAAiE;QACjE,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB;;;;WAIG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,+FAA+F;QAC/F,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B;;;;WAIG;QACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B;;;;WAIG;QACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,sGAAsG;QACtG,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,gFAAgF;QAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH"}
|
|
@@ -16,6 +16,16 @@ export declare class LVS_VectorPool_ControlService {
|
|
|
16
16
|
* Key: vektor ID, Value: L2 normalizált vektor értékek
|
|
17
17
|
*/
|
|
18
18
|
private normalizedVectorPool;
|
|
19
|
+
/**
|
|
20
|
+
* `normalizedOnly` mód: ha `true`, a pool NEM tárolja a nyers vektorokat (`vectorPool`) — CSAK a
|
|
21
|
+
* normalizált másolatot. A kizárólag-cosine fogyasztóknak (pl. RAG-keresés) ez ~50% memória-megtakarítás
|
|
22
|
+
* (a két párhuzamos pool helyett egy). Ekkor az `l2Distance`-keresés és a `getAll()` nyers-érték-olvasása
|
|
23
|
+
* N/A (a `size()` + a `cosineSimilarity`-keresés továbbra is helyes). Default `false` (visszafelé kompatibilis).
|
|
24
|
+
*/
|
|
25
|
+
private readonly normalizedOnly;
|
|
26
|
+
constructor(set?: {
|
|
27
|
+
normalizedOnly?: boolean;
|
|
28
|
+
});
|
|
19
29
|
/**
|
|
20
30
|
* Hozzáad egy vektort a pool-hoz
|
|
21
31
|
* Opcionálisan L2 normalizált másolatot is tárol
|
|
@@ -29,6 +39,11 @@ export declare class LVS_VectorPool_ControlService {
|
|
|
29
39
|
* Frissít egy vektort a pool-ban
|
|
30
40
|
*/
|
|
31
41
|
updateVector(id: string, vector: number[]): void;
|
|
42
|
+
/**
|
|
43
|
+
* A pool elemszáma. Mindkét módban helyes (a `normalizedVectorPool` a forrás), így `normalizedOnly`
|
|
44
|
+
* módban is — szemben a `getAll().size`-szal, ami ott üres (a nyers pool nincs tárolva).
|
|
45
|
+
*/
|
|
46
|
+
size(): number;
|
|
32
47
|
/**
|
|
33
48
|
* Törli az összes vektort a pool-ból
|
|
34
49
|
*/
|
package/build/_modules/local-vector-search/_services/lvs-vector-pool.control-service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lvs-vector-pool.control-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E;;;;GAIG;AACH,qBAAa,6BAA6B;IACxC;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAsD;IAExE;;;OAGG;IACH,OAAO,CAAC,oBAAoB,CAAsD;IAElF;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"lvs-vector-pool.control-service.d.ts","sourceRoot":"","sources":["../../../../src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E;;;;GAIG;AACH,qBAAa,6BAA6B;IACxC;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAsD;IAExE;;;OAGG;IACH,OAAO,CAAC,oBAAoB,CAAsD;IAElF;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;gBAE7B,GAAG,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE;IAI9C;;;OAGG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IA0B7C;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAShD;;;OAGG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,SAAS,IAAI,IAAI;IAKjB;;;OAGG;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAI/B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAa1B;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAsBzD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAiBnD;;;;;;;;;;;;OAYG;IACH,MAAM,CACJ,KAAK,EAAE,MAAM,EAAE,EACf,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,eAAe,EACrB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,gBAAgB,EAAE;CA6EtB"}
|
|
@@ -18,6 +18,16 @@ class LVS_VectorPool_ControlService {
|
|
|
18
18
|
* Key: vektor ID, Value: L2 normalizált vektor értékek
|
|
19
19
|
*/
|
|
20
20
|
normalizedVectorPool = new Map();
|
|
21
|
+
/**
|
|
22
|
+
* `normalizedOnly` mód: ha `true`, a pool NEM tárolja a nyers vektorokat (`vectorPool`) — CSAK a
|
|
23
|
+
* normalizált másolatot. A kizárólag-cosine fogyasztóknak (pl. RAG-keresés) ez ~50% memória-megtakarítás
|
|
24
|
+
* (a két párhuzamos pool helyett egy). Ekkor az `l2Distance`-keresés és a `getAll()` nyers-érték-olvasása
|
|
25
|
+
* N/A (a `size()` + a `cosineSimilarity`-keresés továbbra is helyes). Default `false` (visszafelé kompatibilis).
|
|
26
|
+
*/
|
|
27
|
+
normalizedOnly;
|
|
28
|
+
constructor(set) {
|
|
29
|
+
this.normalizedOnly = set?.normalizedOnly ?? false;
|
|
30
|
+
}
|
|
21
31
|
/**
|
|
22
32
|
* Hozzáad egy vektort a pool-hoz
|
|
23
33
|
* Opcionálisan L2 normalizált másolatot is tárol
|
|
@@ -35,8 +45,10 @@ class LVS_VectorPool_ControlService {
|
|
|
35
45
|
throw new Error(`Vector must contain only finite numbers at index ${i}`);
|
|
36
46
|
}
|
|
37
47
|
}
|
|
38
|
-
// Tároljuk az eredeti vektort
|
|
39
|
-
this.
|
|
48
|
+
// Tároljuk az eredeti vektort — KIVÉVE normalizedOnly módban (akkor a nyers pool kihagyva, ~50% memória).
|
|
49
|
+
if (!this.normalizedOnly) {
|
|
50
|
+
this.vectorPool.set(id, vector);
|
|
51
|
+
}
|
|
40
52
|
// L2 normalizált másolatot is tárolunk a cosine similarity számításokhoz
|
|
41
53
|
const normalized = LVS_VectorPool_ControlService.l2Normalize(vector);
|
|
42
54
|
this.normalizedVectorPool.set(id, normalized);
|
|
@@ -52,11 +64,19 @@ class LVS_VectorPool_ControlService {
|
|
|
52
64
|
* Frissít egy vektort a pool-ban
|
|
53
65
|
*/
|
|
54
66
|
updateVector(id, vector) {
|
|
55
|
-
|
|
67
|
+
// A `normalizedVectorPool` a forrás (mindkét módban populált; `normalizedOnly`-ban a `vectorPool` üres).
|
|
68
|
+
if (!this.normalizedVectorPool.has(id)) {
|
|
56
69
|
throw new Error(`Vector with ID "${id}" does not exist`);
|
|
57
70
|
}
|
|
58
71
|
this.addVector(id, vector);
|
|
59
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* A pool elemszáma. Mindkét módban helyes (a `normalizedVectorPool` a forrás), így `normalizedOnly`
|
|
75
|
+
* módban is — szemben a `getAll().size`-szal, ami ott üres (a nyers pool nincs tárolva).
|
|
76
|
+
*/
|
|
77
|
+
size() {
|
|
78
|
+
return this.normalizedVectorPool.size;
|
|
79
|
+
}
|
|
60
80
|
/**
|
|
61
81
|
* Törli az összes vektort a pool-ból
|
|
62
82
|
*/
|
|
@@ -147,11 +167,19 @@ class LVS_VectorPool_ControlService {
|
|
|
147
167
|
if (k <= 0) {
|
|
148
168
|
throw new Error('k must be a positive number');
|
|
149
169
|
}
|
|
150
|
-
|
|
170
|
+
// `normalizedOnly` módban nincs nyers pool → l2Distance nem számolható (csak cosine).
|
|
171
|
+
if (this.normalizedOnly && mode === lvs_search_mode_enum_1.LVS_Search_Mode.l2Distance) {
|
|
172
|
+
throw new Error('l2Distance search is not available in normalizedOnly mode (raw vectors are not stored)');
|
|
173
|
+
}
|
|
174
|
+
// Üres pool → üres eredmény. A `normalizedVectorPool` a forrás (mindkét módban populált; a nyers
|
|
175
|
+
// `vectorPool` `normalizedOnly`-ban üres, ezért NEM azon ellenőrzünk).
|
|
176
|
+
if (this.normalizedVectorPool.size === 0) {
|
|
151
177
|
return [];
|
|
152
178
|
}
|
|
153
|
-
// Validáljuk, hogy minden vektor ugyanolyan dimenziójú-e
|
|
154
|
-
|
|
179
|
+
// Validáljuk, hogy minden vektor ugyanolyan dimenziójú-e. A referencia-pool mód-függő: l2 a nyers,
|
|
180
|
+
// cosine a normalizált (azonos dimenzió, de `normalizedOnly`-ban a nyers pool üres).
|
|
181
|
+
const referencePool = mode === lvs_search_mode_enum_1.LVS_Search_Mode.l2Distance ? this.vectorPool : this.normalizedVectorPool;
|
|
182
|
+
const firstVector = Array.from(referencePool.values())[0];
|
|
155
183
|
if (firstVector && firstVector.length !== query.length) {
|
|
156
184
|
throw new Error(`Query vector dimension (${query.length}) does not match pool vector ` +
|
|
157
185
|
`dimension (${firstVector.length})`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lvs-vector-pool.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts"],"names":[],"mappings":";;;AAAA,yEAAiE;AAGjE;;;;GAIG;AACH,MAAa,6BAA6B;IACxC;;;OAGG;IACK,UAAU,GAA0B,IAAI,GAAG,EAAoB,CAAC;IAExE;;;OAGG;IACK,oBAAoB,GAA0B,IAAI,GAAG,EAAoB,CAAC;IAElF;;;OAGG;IACH,SAAS,CAAC,EAAU,EAAE,MAAgB;QACpC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"lvs-vector-pool.control-service.js","sourceRoot":"","sources":["../../../../src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,10 @@ export interface DyNTS_MemoryGuard_Event {
|
|
|
39
39
|
rssMb: number;
|
|
40
40
|
/** External (C++ / Buffer) memória MB-ban. */
|
|
41
41
|
externalMb: number;
|
|
42
|
+
/** A közelmúlt GC-hányada (GC-ben töltött idő / poll-ablak; 0..1) — a mark-compact-thrash / OOM-precursor jelzője. */
|
|
43
|
+
gcFraction: number;
|
|
44
|
+
/** Mi váltotta ki az esemény-szintet: a heap-% küszöb, a GC-thrash, vagy mindkettő. */
|
|
45
|
+
trigger: 'heap' | 'gc' | 'heap+gc' | 'recovery';
|
|
42
46
|
/** Esemény időbélyege (ISO). */
|
|
43
47
|
at: string;
|
|
44
48
|
}
|
|
@@ -54,6 +58,18 @@ export interface DyNTS_MemoryGuard_Config {
|
|
|
54
58
|
recoveryMargin?: number;
|
|
55
59
|
/** Megőrzött események max száma (ring-buffer). Default: 100. */
|
|
56
60
|
maxHistoryCount?: number;
|
|
61
|
+
/** GC-hányad-küszöb a `warning`-hoz (0..1). Default: 0.40. */
|
|
62
|
+
gcWarningFraction?: number;
|
|
63
|
+
/** GC-hányad-küszöb a `critical`-hoz (0..1). Default: 0.60. */
|
|
64
|
+
gcCriticalFraction?: number;
|
|
65
|
+
/** `uncaughtException` crash-handler telepítése (teljes-részletű error-entry + tiszta exit). Default: true. */
|
|
66
|
+
installCrashHandlers?: boolean;
|
|
67
|
+
/** Tartós critical → tiszta exit (a wrapper újraindít). Default: false. */
|
|
68
|
+
exitOnSustainedCritical?: boolean;
|
|
69
|
+
/** Hány egymást követő critical poll után lép ki. Default: 3. */
|
|
70
|
+
sustainedCriticalPolls?: number;
|
|
71
|
+
/** A graceful-exit kódja. Default: 137. */
|
|
72
|
+
exitCode?: number;
|
|
57
73
|
/** Hook, amit a `critical` küszöb átlépésekor hívunk (pl. terhelés-dobás). */
|
|
58
74
|
onCritical?: (event: DyNTS_MemoryGuard_Event) => void;
|
|
59
75
|
}
|
|
@@ -68,10 +84,19 @@ export declare class DyNTS_MemoryGuard extends DyNTS_SingletonServiceBase {
|
|
|
68
84
|
private critPct;
|
|
69
85
|
private recoveryMargin;
|
|
70
86
|
private maxHistoryCount;
|
|
87
|
+
private gcWarnFraction;
|
|
88
|
+
private gcCritFraction;
|
|
89
|
+
private exitOnSustainedCritical;
|
|
90
|
+
private sustainedCriticalPolls;
|
|
91
|
+
private exitCode;
|
|
71
92
|
private onCritical?;
|
|
72
93
|
private readonly history;
|
|
73
94
|
private peakHeapPct;
|
|
74
95
|
private peakRssMb;
|
|
96
|
+
private gcObserver;
|
|
97
|
+
private gcEvents;
|
|
98
|
+
private criticalStreak;
|
|
99
|
+
private crashHandler;
|
|
75
100
|
protected constructor();
|
|
76
101
|
/**
|
|
77
102
|
* Elindítja a heap-watchdogot. Idempotens (többszöri hívás no-op). A `config`
|
|
@@ -89,6 +114,32 @@ export declare class DyNTS_MemoryGuard extends DyNTS_SingletonServiceBase {
|
|
|
89
114
|
private poll;
|
|
90
115
|
/** Esemény ring-bufferbe + log + (warning/critical esetén) tartós error-sink. */
|
|
91
116
|
private recordEvent;
|
|
117
|
+
/**
|
|
118
|
+
* A pillanatnyi heap-nyomás (heap-% + GC-hányad → szint) — a FOGYASZTÓK (pl. egy API-controller) ezzel
|
|
119
|
+
* gate-elhetik a nehéz műveleteket (load-shed). Olvasás-only, mellékhatás nélkül; nem igényli az install-t.
|
|
120
|
+
*/
|
|
121
|
+
pressure(): {
|
|
122
|
+
level: 'ok' | 'warning' | 'critical';
|
|
123
|
+
heapUsedMb: number;
|
|
124
|
+
heapLimitMb: number;
|
|
125
|
+
heapPct: number;
|
|
126
|
+
rssMb: number;
|
|
127
|
+
gcFraction: number;
|
|
128
|
+
};
|
|
129
|
+
/** `true`, ha a NEHÉZ műveleteket le kell shed-elni (critical nyomás) — a fogyasztó load-shed gate-jének. */
|
|
130
|
+
shouldShedLoad(): boolean;
|
|
131
|
+
/** A GC-hányad az utolsó `pollIntervalMs` ablakban (GC-ms / ablak-ms; clamp [0..1]). Nincs GC-observer → 0. */
|
|
132
|
+
private recentGcFraction;
|
|
133
|
+
/** A 'gc' perf-entry-k figyelője — a GC-ben töltött időt gyűjti a gördülő ablakhoz. Best-effort (nem kritikus). */
|
|
134
|
+
private installGcObserver;
|
|
135
|
+
/**
|
|
136
|
+
* Process-szintű `uncaughtException` crash-handler: a (különben néma) crash ELŐTT TELJES-RÉSZLETŰ error-entry
|
|
137
|
+
* (message + stack + memória-snapshot) az error-sinkbe, majd tiszta exit (a wrapper/restart-policy újraindít).
|
|
138
|
+
* Az `unhandledRejection`-t a base App már rögzíti; ez az eddig-fedetlen `uncaughtException`-t fedi le.
|
|
139
|
+
*/
|
|
140
|
+
private installCrashHandlers;
|
|
141
|
+
/** Tartós-critical graceful-exit: végső error-entry + tiszta exit (a wrapper újraindít a kriptikus 134 helyett). */
|
|
142
|
+
private gracefulExit;
|
|
92
143
|
/** A megőrzött események (legrégebbi → legújabb). Csak olvasásra. */
|
|
93
144
|
getHistory(): DyNTS_MemoryGuard_Event[];
|
|
94
145
|
/** Pillanatnyi állapot + csúcsok diagnosztikához (pl. egy status-endpoint). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-guard.service.d.ts","sourceRoot":"","sources":["../../../src/_services/core/memory-guard.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory-guard.service.d.ts","sourceRoot":"","sources":["../../../src/_services/core/memory-guard.service.ts"],"names":[],"mappings":"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"}
|