@futdevpro/nts-dynamo 1.15.15 → 1.15.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/.dynamo/version-bump.config.json +5 -0
- package/.github/workflows/main.yml +426 -393
- package/.husky/pre-commit +1 -0
- package/.vscode/settings.json +10 -10
- package/HOWTO.md +15 -15
- package/LICENSE +21 -21
- package/__documentations/2026-04-28-logs-module.md +49 -0
- package/__documentations/nts-integration-tests-2026-03-17.md +26 -26
- package/_specifications/BACKLOG.md +50 -50
- package/_specifications/TODO.md +15 -15
- package/_specifications/agent.md +138 -138
- package/eslint.config.js +3 -3
- package/nodemon.json +24 -24
- package/package.json +343 -362
- package/pipeline.cicd.config.json +152 -0
- package/pnpm-workspace.yaml +2 -0
- 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/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 +578 -578
- package/src/_models/control-models/endpoint-params.control-model.ts +526 -526
- 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 +108 -108
- package/src/_models/interfaces/global-service-settings.interface.ts +47 -47
- 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-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-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 +28 -28
- 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 +240 -240
- package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts +98 -98
- 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 +615 -615
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +437 -437
- package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts +833 -833
- package/src/_modules/ai/_modules/open-ai/_services/oai-user-key.control-service.ts +157 -157
- 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 +332 -332
- package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +79 -79
- package/src/_modules/ai/_services/ai-provider.service-base.ts +29 -29
- package/src/_modules/ai/_services/ai-user-key.service-base.ts +59 -59
- package/src/_modules/ai/index.ts +13 -13
- 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/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 +19 -19
- 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 +345 -345
- package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.ts +330 -330
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.spec.ts +393 -393
- package/src/_modules/local-vector-search/_services/lvs-vector-pool.control-service.ts +220 -220
- package/src/_modules/local-vector-search/index.ts +11 -11
- 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/server/errors/errors.control-service.spec.ts +230 -230
- package/src/_modules/server/errors/errors.control-service.ts +69 -69
- package/src/_modules/server/errors/errors.controller.spec.ts +165 -165
- package/src/_modules/server/errors/errors.controller.ts +270 -270
- package/src/_modules/server/errors/errors.data-service.spec.ts +355 -355
- 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 +516 -516
- package/src/_modules/server/server-status/server-status.control-service.ts +336 -336
- package/src/_modules/server/server-status/server-status.controller.spec.ts +156 -156
- package/src/_modules/server/server-status/server-status.controller.ts +131 -131
- 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 +493 -493
- package/src/_services/base/data.service.ts +2525 -2525
- 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 +275 -275
- package/src/_services/core/global.service.ts +461 -461
- 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/shared.static-service.spec.ts +99 -99
- package/src/_services/shared.static-service.ts +78 -78
- package/src/index.ts +94 -94
- package/tsconfig.app.json +12 -12
- package/tsconfig.json +42 -42
- package/build/_modules/logs/get-logs-routing-module.util.d.ts +0 -19
- package/build/_modules/logs/get-logs-routing-module.util.d.ts.map +0 -1
- package/build/_modules/logs/get-logs-routing-module.util.js +0 -32
- package/build/_modules/logs/get-logs-routing-module.util.js.map +0 -1
- package/build/_modules/logs/index.d.ts +0 -4
- package/build/_modules/logs/index.d.ts.map +0 -1
- package/build/_modules/logs/index.js +0 -10
- package/build/_modules/logs/index.js.map +0 -1
- package/build/_modules/logs/log-buffer.service.d.ts +0 -38
- package/build/_modules/logs/log-buffer.service.d.ts.map +0 -1
- package/build/_modules/logs/log-buffer.service.js +0 -97
- package/build/_modules/logs/log-buffer.service.js.map +0 -1
- package/build/_modules/logs/logs.controller.d.ts +0 -27
- package/build/_modules/logs/logs.controller.d.ts.map +0 -1
- package/build/_modules/logs/logs.controller.js +0 -90
- package/build/_modules/logs/logs.controller.js.map +0 -1
- package/build/_modules/logs/logs.service.d.ts +0 -40
- package/build/_modules/logs/logs.service.d.ts.map +0 -1
- package/build/_modules/logs/logs.service.js +0 -97
- package/build/_modules/logs/logs.service.js.map +0 -1
- package/src/_modules/logs/get-logs-routing-module.util.ts +0 -36
- package/src/_modules/logs/index.ts +0 -3
- package/src/_modules/logs/log-buffer.service.ts +0 -101
- package/src/_modules/logs/logs.controller.ts +0 -109
- package/src/_modules/logs/logs.service.ts +0 -100
|
@@ -1,117 +1,117 @@
|
|
|
1
|
-
import { DyFM_AI_MessageRole } from '@futdevpro/fsm-dynamo/ai';
|
|
2
|
-
import { DyFM_AI_Message } from '@futdevpro/fsm-dynamo/ai';
|
|
3
|
-
import { DyFM_AI_CallSettings } from '@futdevpro/fsm-dynamo/ai';
|
|
4
|
-
|
|
5
|
-
export interface DyFM_AI_Base_Input<
|
|
6
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
7
|
-
> {
|
|
8
|
-
/* message: string; */
|
|
9
|
-
issuer: string;
|
|
10
|
-
settings?: T_AISettings;
|
|
11
|
-
debugLog?: boolean;
|
|
12
|
-
replaceThisInLog?: string;
|
|
13
|
-
getFullResponse?: boolean;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface DyFM_AI_Message_Input<
|
|
17
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
18
|
-
> extends DyFM_AI_Base_Input<T_AISettings> {
|
|
19
|
-
message: string;
|
|
20
|
-
conversation?: DyFM_AI_Message[];
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export interface DyFM_AI_ListSelect_Input<
|
|
24
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings,
|
|
25
|
-
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
26
|
-
selectFrom: string[];
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface DyFM_AI_GenericSelect_Input<
|
|
30
|
-
T,
|
|
31
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
32
|
-
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
33
|
-
selectFrom: T[];
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface DyFM_AI_MultiSelect_Input<
|
|
37
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
38
|
-
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
39
|
-
options: string[];
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export interface DyFM_AI_GenericMultiSelect_Input<
|
|
43
|
-
T,
|
|
44
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
45
|
-
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
46
|
-
options: T[];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export interface DyFM_AI_JSONKeysDescription_Input<
|
|
50
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
51
|
-
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
52
|
-
keysDescription: string;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export interface DyFM_AI_JSONExactKeys_Input<
|
|
56
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
57
|
-
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
58
|
-
keys: string[];
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/* export interface DyFM_AI_SimpleMessage_Input extends DyFM_AI_Base_Input {
|
|
62
|
-
message: string;
|
|
63
|
-
} */
|
|
64
|
-
|
|
65
|
-
export interface DyFM_AI_ConversationBase_Input<
|
|
66
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
67
|
-
> extends DyFM_AI_Base_Input<T_AISettings> {
|
|
68
|
-
message?: string;
|
|
69
|
-
conversation: DyFM_AI_Message[];
|
|
70
|
-
/* replaceThisInLog?: string; */
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/* export interface DyFM_AI_ConversationMessage_Input extends DyFM_AI_ConversationBase_Input {
|
|
74
|
-
message: string;
|
|
75
|
-
} */
|
|
76
|
-
|
|
77
|
-
export interface DyFM_AI_ConversationSelect_Input<
|
|
78
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
79
|
-
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
80
|
-
selectFrom: string[];
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export interface DyFM_AI_ConversationGenericSelect_Input<
|
|
84
|
-
T,
|
|
85
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
86
|
-
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
87
|
-
selectFrom: T[];
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export interface DyFM_AI_ConversationMultiSelect_Input<
|
|
91
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
92
|
-
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
93
|
-
options: string[];
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export interface DyFM_AI_ConversationGenericMultiSelect_Input<
|
|
97
|
-
T,
|
|
98
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
99
|
-
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
100
|
-
options: T[];
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export interface DyFM_AI_ConversationJSONKeysDescription_Input<
|
|
104
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
105
|
-
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
106
|
-
keysDescription: string;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
export interface DyFM_AI_ConversationJSONExactKeys_Input<
|
|
110
|
-
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
111
|
-
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
112
|
-
keys: string[];
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/* export interface DyFM_AI_ConversationGetAnswer_Input extends DyFM_AI_ConversationBase_Input {
|
|
116
|
-
newMessage?: string;
|
|
117
|
-
} */
|
|
1
|
+
import { DyFM_AI_MessageRole } from '@futdevpro/fsm-dynamo/ai';
|
|
2
|
+
import { DyFM_AI_Message } from '@futdevpro/fsm-dynamo/ai';
|
|
3
|
+
import { DyFM_AI_CallSettings } from '@futdevpro/fsm-dynamo/ai';
|
|
4
|
+
|
|
5
|
+
export interface DyFM_AI_Base_Input<
|
|
6
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
7
|
+
> {
|
|
8
|
+
/* message: string; */
|
|
9
|
+
issuer: string;
|
|
10
|
+
settings?: T_AISettings;
|
|
11
|
+
debugLog?: boolean;
|
|
12
|
+
replaceThisInLog?: string;
|
|
13
|
+
getFullResponse?: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface DyFM_AI_Message_Input<
|
|
17
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
18
|
+
> extends DyFM_AI_Base_Input<T_AISettings> {
|
|
19
|
+
message: string;
|
|
20
|
+
conversation?: DyFM_AI_Message[];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface DyFM_AI_ListSelect_Input<
|
|
24
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings,
|
|
25
|
+
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
26
|
+
selectFrom: string[];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface DyFM_AI_GenericSelect_Input<
|
|
30
|
+
T,
|
|
31
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
32
|
+
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
33
|
+
selectFrom: T[];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface DyFM_AI_MultiSelect_Input<
|
|
37
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
38
|
+
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
39
|
+
options: string[];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface DyFM_AI_GenericMultiSelect_Input<
|
|
43
|
+
T,
|
|
44
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
45
|
+
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
46
|
+
options: T[];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export interface DyFM_AI_JSONKeysDescription_Input<
|
|
50
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
51
|
+
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
52
|
+
keysDescription: string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface DyFM_AI_JSONExactKeys_Input<
|
|
56
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
57
|
+
> extends DyFM_AI_Message_Input<T_AISettings> {
|
|
58
|
+
keys: string[];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/* export interface DyFM_AI_SimpleMessage_Input extends DyFM_AI_Base_Input {
|
|
62
|
+
message: string;
|
|
63
|
+
} */
|
|
64
|
+
|
|
65
|
+
export interface DyFM_AI_ConversationBase_Input<
|
|
66
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
67
|
+
> extends DyFM_AI_Base_Input<T_AISettings> {
|
|
68
|
+
message?: string;
|
|
69
|
+
conversation: DyFM_AI_Message[];
|
|
70
|
+
/* replaceThisInLog?: string; */
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* export interface DyFM_AI_ConversationMessage_Input extends DyFM_AI_ConversationBase_Input {
|
|
74
|
+
message: string;
|
|
75
|
+
} */
|
|
76
|
+
|
|
77
|
+
export interface DyFM_AI_ConversationSelect_Input<
|
|
78
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
79
|
+
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
80
|
+
selectFrom: string[];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface DyFM_AI_ConversationGenericSelect_Input<
|
|
84
|
+
T,
|
|
85
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
86
|
+
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
87
|
+
selectFrom: T[];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export interface DyFM_AI_ConversationMultiSelect_Input<
|
|
91
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
92
|
+
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
93
|
+
options: string[];
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export interface DyFM_AI_ConversationGenericMultiSelect_Input<
|
|
97
|
+
T,
|
|
98
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
99
|
+
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
100
|
+
options: T[];
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export interface DyFM_AI_ConversationJSONKeysDescription_Input<
|
|
104
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
105
|
+
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
106
|
+
keysDescription: string;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export interface DyFM_AI_ConversationJSONExactKeys_Input<
|
|
110
|
+
T_AISettings extends DyFM_AI_CallSettings = DyFM_AI_CallSettings
|
|
111
|
+
> extends DyFM_AI_ConversationBase_Input<T_AISettings> {
|
|
112
|
+
keys: string[];
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/* export interface DyFM_AI_ConversationGetAnswer_Input extends DyFM_AI_ConversationBase_Input {
|
|
116
|
+
newMessage?: string;
|
|
117
|
+
} */
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Teszt generalas eredmenye
|
|
3
|
-
*
|
|
4
|
-
* A provider-specifikus testGeneration() metodus ezt adja vissza,
|
|
5
|
-
* tartalmazva a sikesseg flag-et, a valasz szoveget, a hasznalt modellt es a keses-idejet.
|
|
6
|
-
*/
|
|
7
|
-
export interface DyNTS_AI_TestGeneration_Result {
|
|
8
|
-
/** sikeres volt-e a teszt generalas */
|
|
9
|
-
success: boolean;
|
|
10
|
-
/** a provider valasza (sikertelen eseten undefined) */
|
|
11
|
-
response?: string;
|
|
12
|
-
/** a hasznalt modell azonosito */
|
|
13
|
-
model: string;
|
|
14
|
-
/** a keres-valasz ido milliszekundumban */
|
|
15
|
-
latencyMs: number;
|
|
16
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Teszt generalas eredmenye
|
|
3
|
+
*
|
|
4
|
+
* A provider-specifikus testGeneration() metodus ezt adja vissza,
|
|
5
|
+
* tartalmazva a sikesseg flag-et, a valasz szoveget, a hasznalt modellt es a keses-idejet.
|
|
6
|
+
*/
|
|
7
|
+
export interface DyNTS_AI_TestGeneration_Result {
|
|
8
|
+
/** sikeres volt-e a teszt generalas */
|
|
9
|
+
success: boolean;
|
|
10
|
+
/** a provider valasza (sikertelen eseten undefined) */
|
|
11
|
+
response?: string;
|
|
12
|
+
/** a hasznalt modell azonosito */
|
|
13
|
+
model: string;
|
|
14
|
+
/** a keres-valasz ido milliszekundumban */
|
|
15
|
+
latencyMs: number;
|
|
16
|
+
}
|
|
@@ -1,138 +1,138 @@
|
|
|
1
|
-
import { DyFM_AI_Provider, DyFM_AI_Config } from '@futdevpro/fsm-dynamo/ai';
|
|
2
|
-
import { DyFM_AI_UserProviderConfig } from '@futdevpro/fsm-dynamo/ai';
|
|
3
|
-
import { DyFM_AAI_UserProviderConfig, DyFM_AAI_Model } from '@futdevpro/fsm-dynamo/ai/anthropic';
|
|
4
|
-
import { DyFM_Log } from '@futdevpro/fsm-dynamo';
|
|
5
|
-
|
|
6
|
-
import { DyNTS_AI_UserKey_ServiceBase } from '../../../_services/ai-user-key.service-base';
|
|
7
|
-
import { DyNTS_AI_TestGeneration_Result } from '../../../_models/ai-test-generation-result.interface';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Anthropic-specifikus user API key kezelo service
|
|
11
|
-
*
|
|
12
|
-
* A visszafejtett API kulcsbol Anthropic-specifikus konfigot allit ossze,
|
|
13
|
-
* es teszteli a kapcsolatot az Anthropic API-val.
|
|
14
|
-
*/
|
|
15
|
-
export class DyNTS_AAI_UserKey_ControlService extends DyNTS_AI_UserKey_ServiceBase {
|
|
16
|
-
|
|
17
|
-
static getInstance(): DyNTS_AAI_UserKey_ControlService {
|
|
18
|
-
return DyNTS_AAI_UserKey_ControlService.getSingletonInstance();
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
readonly aiProvider: DyFM_AI_Provider = DyFM_AI_Provider.Anthropic;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Anthropic config osszeallitasa a visszafejtett kulcsbol
|
|
25
|
-
*/
|
|
26
|
-
resolveConfig(
|
|
27
|
-
userProviderConfig: DyFM_AI_UserProviderConfig,
|
|
28
|
-
decryptedApiKey: string
|
|
29
|
-
): DyFM_AI_Config {
|
|
30
|
-
const aaiConfig: DyFM_AAI_UserProviderConfig =
|
|
31
|
-
userProviderConfig as DyFM_AAI_UserProviderConfig;
|
|
32
|
-
|
|
33
|
-
return {
|
|
34
|
-
apiKey: decryptedApiKey,
|
|
35
|
-
baseURL: aaiConfig.baseURL,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Anthropic kapcsolat tesztelese egy minimal messages.create() hivassal
|
|
41
|
-
*/
|
|
42
|
-
async testConnection(
|
|
43
|
-
userProviderConfig: DyFM_AI_UserProviderConfig,
|
|
44
|
-
decryptedApiKey: string
|
|
45
|
-
): Promise<boolean> {
|
|
46
|
-
try {
|
|
47
|
-
const Anthropic = await import('@anthropic-ai/sdk');
|
|
48
|
-
const config: DyFM_AI_Config = this.resolveConfig(userProviderConfig, decryptedApiKey);
|
|
49
|
-
|
|
50
|
-
const client = new Anthropic.default({
|
|
51
|
-
apiKey: config.apiKey,
|
|
52
|
-
baseURL: config.baseURL || undefined,
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
await client.messages.create({
|
|
56
|
-
model: DyFM_AAI_Model.claude_3_haiku_latest,
|
|
57
|
-
max_tokens: 5,
|
|
58
|
-
messages: [{ role: 'user', content: 'test' }],
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
return true;
|
|
62
|
-
} catch (error) {
|
|
63
|
-
DyFM_Log.error(
|
|
64
|
-
'DyNTS_AAI_UserKey_ControlService',
|
|
65
|
-
'testConnection',
|
|
66
|
-
'Anthropic connection test failed',
|
|
67
|
-
{ error: error }
|
|
68
|
-
);
|
|
69
|
-
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Elerheto Anthropic modellek lekerdezese
|
|
76
|
-
* Az Anthropic API nem ad model list endpoint-ot, ezert a DyFM_AAI_Model enum-bol szolgalja ki
|
|
77
|
-
*/
|
|
78
|
-
async listAvailableModels(
|
|
79
|
-
_userProviderConfig: DyFM_AI_UserProviderConfig,
|
|
80
|
-
_decryptedApiKey: string
|
|
81
|
-
): Promise<string[]> {
|
|
82
|
-
return Object.values(DyFM_AAI_Model);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Teszt generalas az Anthropic API-val
|
|
87
|
-
*/
|
|
88
|
-
async testGeneration(set: {
|
|
89
|
-
userProviderConfig: DyFM_AI_UserProviderConfig;
|
|
90
|
-
decryptedApiKey: string;
|
|
91
|
-
model: string;
|
|
92
|
-
}): Promise<DyNTS_AI_TestGeneration_Result> {
|
|
93
|
-
const startTime: number = Date.now();
|
|
94
|
-
|
|
95
|
-
try {
|
|
96
|
-
const Anthropic = await import('@anthropic-ai/sdk');
|
|
97
|
-
const config: DyFM_AI_Config = this.resolveConfig(
|
|
98
|
-
set.userProviderConfig,
|
|
99
|
-
set.decryptedApiKey
|
|
100
|
-
);
|
|
101
|
-
|
|
102
|
-
const client = new Anthropic.default({
|
|
103
|
-
apiKey: config.apiKey,
|
|
104
|
-
baseURL: config.baseURL || undefined,
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
const response = await client.messages.create({
|
|
108
|
-
model: set.model,
|
|
109
|
-
max_tokens: 10,
|
|
110
|
-
messages: [{ role: 'user', content: 'Hello, this is a test. Reply with "OK".' }],
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
const textContent = response.content.find(
|
|
114
|
-
(block: { type: string }) => block.type === 'text'
|
|
115
|
-
);
|
|
116
|
-
|
|
117
|
-
return {
|
|
118
|
-
success: true,
|
|
119
|
-
response: (textContent as { type: string; text: string })?.text,
|
|
120
|
-
model: set.model,
|
|
121
|
-
latencyMs: Date.now() - startTime,
|
|
122
|
-
};
|
|
123
|
-
} catch (error) {
|
|
124
|
-
DyFM_Log.error(
|
|
125
|
-
'DyNTS_AAI_UserKey_ControlService',
|
|
126
|
-
'testGeneration',
|
|
127
|
-
'Anthropic test generation failed',
|
|
128
|
-
{ error: error }
|
|
129
|
-
);
|
|
130
|
-
|
|
131
|
-
return {
|
|
132
|
-
success: false,
|
|
133
|
-
model: set.model,
|
|
134
|
-
latencyMs: Date.now() - startTime,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
1
|
+
import { DyFM_AI_Provider, DyFM_AI_Config } from '@futdevpro/fsm-dynamo/ai';
|
|
2
|
+
import { DyFM_AI_UserProviderConfig } from '@futdevpro/fsm-dynamo/ai';
|
|
3
|
+
import { DyFM_AAI_UserProviderConfig, DyFM_AAI_Model } from '@futdevpro/fsm-dynamo/ai/anthropic';
|
|
4
|
+
import { DyFM_Log } from '@futdevpro/fsm-dynamo';
|
|
5
|
+
|
|
6
|
+
import { DyNTS_AI_UserKey_ServiceBase } from '../../../_services/ai-user-key.service-base';
|
|
7
|
+
import { DyNTS_AI_TestGeneration_Result } from '../../../_models/ai-test-generation-result.interface';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Anthropic-specifikus user API key kezelo service
|
|
11
|
+
*
|
|
12
|
+
* A visszafejtett API kulcsbol Anthropic-specifikus konfigot allit ossze,
|
|
13
|
+
* es teszteli a kapcsolatot az Anthropic API-val.
|
|
14
|
+
*/
|
|
15
|
+
export class DyNTS_AAI_UserKey_ControlService extends DyNTS_AI_UserKey_ServiceBase {
|
|
16
|
+
|
|
17
|
+
static getInstance(): DyNTS_AAI_UserKey_ControlService {
|
|
18
|
+
return DyNTS_AAI_UserKey_ControlService.getSingletonInstance();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
readonly aiProvider: DyFM_AI_Provider = DyFM_AI_Provider.Anthropic;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Anthropic config osszeallitasa a visszafejtett kulcsbol
|
|
25
|
+
*/
|
|
26
|
+
resolveConfig(
|
|
27
|
+
userProviderConfig: DyFM_AI_UserProviderConfig,
|
|
28
|
+
decryptedApiKey: string
|
|
29
|
+
): DyFM_AI_Config {
|
|
30
|
+
const aaiConfig: DyFM_AAI_UserProviderConfig =
|
|
31
|
+
userProviderConfig as DyFM_AAI_UserProviderConfig;
|
|
32
|
+
|
|
33
|
+
return {
|
|
34
|
+
apiKey: decryptedApiKey,
|
|
35
|
+
baseURL: aaiConfig.baseURL,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Anthropic kapcsolat tesztelese egy minimal messages.create() hivassal
|
|
41
|
+
*/
|
|
42
|
+
async testConnection(
|
|
43
|
+
userProviderConfig: DyFM_AI_UserProviderConfig,
|
|
44
|
+
decryptedApiKey: string
|
|
45
|
+
): Promise<boolean> {
|
|
46
|
+
try {
|
|
47
|
+
const Anthropic = await import('@anthropic-ai/sdk');
|
|
48
|
+
const config: DyFM_AI_Config = this.resolveConfig(userProviderConfig, decryptedApiKey);
|
|
49
|
+
|
|
50
|
+
const client = new Anthropic.default({
|
|
51
|
+
apiKey: config.apiKey,
|
|
52
|
+
baseURL: config.baseURL || undefined,
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
await client.messages.create({
|
|
56
|
+
model: DyFM_AAI_Model.claude_3_haiku_latest,
|
|
57
|
+
max_tokens: 5,
|
|
58
|
+
messages: [{ role: 'user', content: 'test' }],
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
return true;
|
|
62
|
+
} catch (error) {
|
|
63
|
+
DyFM_Log.error(
|
|
64
|
+
'DyNTS_AAI_UserKey_ControlService',
|
|
65
|
+
'testConnection',
|
|
66
|
+
'Anthropic connection test failed',
|
|
67
|
+
{ error: error }
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Elerheto Anthropic modellek lekerdezese
|
|
76
|
+
* Az Anthropic API nem ad model list endpoint-ot, ezert a DyFM_AAI_Model enum-bol szolgalja ki
|
|
77
|
+
*/
|
|
78
|
+
async listAvailableModels(
|
|
79
|
+
_userProviderConfig: DyFM_AI_UserProviderConfig,
|
|
80
|
+
_decryptedApiKey: string
|
|
81
|
+
): Promise<string[]> {
|
|
82
|
+
return Object.values(DyFM_AAI_Model);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Teszt generalas az Anthropic API-val
|
|
87
|
+
*/
|
|
88
|
+
async testGeneration(set: {
|
|
89
|
+
userProviderConfig: DyFM_AI_UserProviderConfig;
|
|
90
|
+
decryptedApiKey: string;
|
|
91
|
+
model: string;
|
|
92
|
+
}): Promise<DyNTS_AI_TestGeneration_Result> {
|
|
93
|
+
const startTime: number = Date.now();
|
|
94
|
+
|
|
95
|
+
try {
|
|
96
|
+
const Anthropic = await import('@anthropic-ai/sdk');
|
|
97
|
+
const config: DyFM_AI_Config = this.resolveConfig(
|
|
98
|
+
set.userProviderConfig,
|
|
99
|
+
set.decryptedApiKey
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
const client = new Anthropic.default({
|
|
103
|
+
apiKey: config.apiKey,
|
|
104
|
+
baseURL: config.baseURL || undefined,
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
const response = await client.messages.create({
|
|
108
|
+
model: set.model,
|
|
109
|
+
max_tokens: 10,
|
|
110
|
+
messages: [{ role: 'user', content: 'Hello, this is a test. Reply with "OK".' }],
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
const textContent = response.content.find(
|
|
114
|
+
(block: { type: string }) => block.type === 'text'
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
return {
|
|
118
|
+
success: true,
|
|
119
|
+
response: (textContent as { type: string; text: string })?.text,
|
|
120
|
+
model: set.model,
|
|
121
|
+
latencyMs: Date.now() - startTime,
|
|
122
|
+
};
|
|
123
|
+
} catch (error) {
|
|
124
|
+
DyFM_Log.error(
|
|
125
|
+
'DyNTS_AAI_UserKey_ControlService',
|
|
126
|
+
'testGeneration',
|
|
127
|
+
'Anthropic test generation failed',
|
|
128
|
+
{ error: error }
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
return {
|
|
132
|
+
success: false,
|
|
133
|
+
model: set.model,
|
|
134
|
+
latencyMs: Date.now() - startTime,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// Re-export from FSM
|
|
2
|
-
export * from '@futdevpro/fsm-dynamo/ai/anthropic';
|
|
3
|
-
|
|
4
|
-
// SERVICES
|
|
5
|
-
export * from './_services/aai-user-key.control-service';
|
|
1
|
+
// Re-export from FSM
|
|
2
|
+
export * from '@futdevpro/fsm-dynamo/ai/anthropic';
|
|
3
|
+
|
|
4
|
+
// SERVICES
|
|
5
|
+
export * from './_services/aai-user-key.control-service';
|