@futdevpro/fsm-dynamo 1.20.8 → 1.20.10
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/LICENSE +21 -21
- package/README.md +721 -721
- package/build/_collections/utils/secret-mask.util.d.ts.map +1 -1
- package/build/_collections/utils/secret-mask.util.js +2 -0
- package/build/_collections/utils/secret-mask.util.js.map +1 -1
- package/build/_modules/ngx-models/_enums/field-type.enum.d.ts +2 -0
- package/build/_modules/ngx-models/_enums/field-type.enum.d.ts.map +1 -1
- package/build/_modules/ngx-models/_enums/field-type.enum.js +2 -0
- package/build/_modules/ngx-models/_enums/field-type.enum.js.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.d.ts +14 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.d.ts.map +1 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.js +23 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.js.map +1 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/field-new-types.d.ts +3 -1
- package/build/_modules/ngx-models/_models/control-models/forms-new/field-new-types.d.ts.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.d.ts +17 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.d.ts.map +1 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.js +41 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.js.map +1 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/index.d.ts +3 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/index.d.ts.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/forms-new/index.js +3 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/index.js.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.d.ts +10 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.d.ts.map +1 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.js +3 -0
- package/build/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.js.map +1 -0
- package/build/_modules/socket/_models/sck-socket-event.control-model.js +1 -1
- package/package.json +12 -5
- package/.c8rc.json +0 -26
- package/.cursor/rules/__assistant_guide.mdc +0 -30
- package/.cursor/rules/__main.mdc +0 -64
- package/.cursor/rules/_ag_backend-structure.mdc +0 -86
- package/.cursor/rules/_ag_backend.mdc +0 -16
- package/.cursor/rules/_ag_debug.mdc +0 -8
- package/.cursor/rules/_ag_documentation_writing_rules.mdc +0 -372
- package/.cursor/rules/_ag_file-refactoring.mdc +0 -113
- package/.cursor/rules/_ag_fixes_rules.mdc +0 -6
- package/.cursor/rules/_ag_frontend-structure.mdc +0 -87
- package/.cursor/rules/_ag_frontend.mdc +0 -40
- package/.cursor/rules/_ag_import-rules.mdc +0 -45
- package/.cursor/rules/_ag_naming.mdc +0 -116
- package/.cursor/rules/_ag_running_commands.mdc +0 -5
- package/.cursor/rules/_ag_server-controller.mdc +0 -6
- package/.cursor/rules/_ag_should-be.mdc +0 -7
- package/.cursor/rules/_ag_swearing.mdc +0 -47
- package/.cursor/rules/ai_development_guide.md +0 -61
- package/.cursor/rules/ai_directives.md +0 -114
- package/.cursor/rules/cursor-rules.md +0 -160
- package/.cursor/rules/default-command.mdc +0 -465
- package/.cursor/rules/error_code_pattern.md +0 -40
- package/.cursor/rules/saved rule mcp server use.md +0 -16
- package/.dynamo/pipeline.cicd.config.json +0 -157
- package/.dynamo/version-bump.config.json +0 -5
- package/.github/workflows/main.yml +0 -439
- package/.husky/pre-commit +0 -2
- package/.vscode/settings.json +0 -11
- package/__documentations/2026-05-17-oai-compatible-providers-howto.md +0 -282
- package/__documentations/2026-06-01-fr047-fc-foundation.md +0 -48
- package/__documentations/2026-06-01-fr047-fr048-code-review.md +0 -153
- package/__documentations/2026-06-01-fr047-p1-function-calling-vocabulary.md +0 -75
- package/__documentations/2026-06-05-secret-mask-url-cred-any-scheme.md +0 -37
- package/__documentations/2026-06-06-ngx-models-merge-completion.md +0 -100
- package/__documentations/2026-06-22-dyfm-error-extends-error.md +0 -109
- package/__documentations/2026-08-22-angular-20-phase1-release.md +0 -39
- package/__documentations/2026-08-23-atomic-rollback-manifest-contract.md +0 -53
- package/__documentations/2026-08-23-forms-v2-color-picker-settings.md +0 -23
- package/__documentations/plans/00-MASTER-ngx-models-fsm-merge.md +0 -75
- package/__documentations/plans/01-naming-convention-DyNM-to-DyFM.md +0 -103
- package/__documentations/plans/02-consumer-rollout.md +0 -84
- package/_specifications/BACKLOG.md +0 -43
- package/eslint.config.js +0 -4
- package/nodemon.json +0 -23
- package/pnpm-workspace.yaml +0 -2
- package/scripts/_capture-out/ai-error-capture.json +0 -399
- package/scripts/ai-error-capture.js +0 -171
- package/scripts/ai-model-registry-check.js +0 -132
- package/scripts/crypto/CRYPTO-STABILITY-SOLUTION.md +0 -197
- package/scripts/crypto/README.md +0 -114
- package/scripts/crypto/demo-crypto-stability.js +0 -121
- package/scripts/crypto/stress-test-crypto.js +0 -380
- package/scripts/run-coverage-tests.js +0 -24
- package/scripts/verify-build-completeness.js +0 -62
- package/spec/support/helpers/ts-node-helper.js +0 -9
- package/spec/support/jasmine.coverage.json +0 -23
- package/spec/support/jasmine.json +0 -24
- package/src/_collections/constants/data-sizes.const.ts +0 -40
- package/src/_collections/constants/error-defaults.const.ts +0 -20
- package/src/_collections/constants/global-settings.const.spec.ts +0 -32
- package/src/_collections/constants/global-settings.const.ts +0 -29
- package/src/_collections/constants/numbers.const.ts +0 -40
- package/src/_collections/constants/times.const.ts +0 -45
- package/src/_collections/utils/array.util.spec.ts +0 -306
- package/src/_collections/utils/array.util.ts +0 -813
- package/src/_collections/utils/async.util.spec.ts +0 -398
- package/src/_collections/utils/async.util.ts +0 -209
- package/src/_collections/utils/data.util.spec.ts +0 -345
- package/src/_collections/utils/data.util.ts +0 -226
- package/src/_collections/utils/extract-error-message.util.spec.ts +0 -204
- package/src/_collections/utils/extract-error-message.util.ts +0 -223
- package/src/_collections/utils/json-error-helper.util.spec.ts +0 -521
- package/src/_collections/utils/json-error-helper.util.ts +0 -302
- package/src/_collections/utils/log.util.spec.ts +0 -975
- package/src/_collections/utils/log.util.ts +0 -667
- package/src/_collections/utils/math/box-bounds.spec.ts +0 -74
- package/src/_collections/utils/math/box-bounds.util.ts +0 -183
- package/src/_collections/utils/math/math.util.spec.ts +0 -94
- package/src/_collections/utils/math/math.util.ts +0 -141
- package/src/_collections/utils/math/random.util.spec.ts +0 -82
- package/src/_collections/utils/math/random.util.ts +0 -139
- package/src/_collections/utils/math/trigonometry.util.spec.ts +0 -57
- package/src/_collections/utils/math/trigonometry.util.ts +0 -102
- package/src/_collections/utils/math/vector2.util.spec.ts +0 -94
- package/src/_collections/utils/math/vector2.util.ts +0 -653
- package/src/_collections/utils/object.util.spec.ts +0 -646
- package/src/_collections/utils/object.util.ts +0 -739
- package/src/_collections/utils/regex/password-regex.util.spec.ts +0 -51
- package/src/_collections/utils/regex/password-regex.util.ts +0 -66
- package/src/_collections/utils/regex/regex.util.spec.ts +0 -42
- package/src/_collections/utils/regex/regex.util.ts +0 -6
- package/src/_collections/utils/regex/username-regex.util.spec.ts +0 -61
- package/src/_collections/utils/regex/username-regex.util.ts +0 -35
- package/src/_collections/utils/require-env.util.spec.ts +0 -231
- package/src/_collections/utils/require-env.util.ts +0 -138
- package/src/_collections/utils/round-list.util.spec.ts +0 -79
- package/src/_collections/utils/round-list.util.ts +0 -162
- package/src/_collections/utils/secret-mask.util.spec.ts +0 -66
- package/src/_collections/utils/secret-mask.util.ts +0 -262
- package/src/_collections/utils/stack.util.spec.ts +0 -373
- package/src/_collections/utils/stack.util.ts +0 -165
- package/src/_collections/utils/string-case.util.spec.ts +0 -441
- package/src/_collections/utils/string-case.util.ts +0 -362
- package/src/_collections/utils/string.util.spec.ts +0 -975
- package/src/_collections/utils/string.util.ts +0 -450
- package/src/_collections/utils/time.util.spec.ts +0 -50
- package/src/_collections/utils/time.util.ts +0 -481
- package/src/_collections/utils/type-cloning-facility.util.spec.ts +0 -51
- package/src/_collections/utils/type-cloning-facility.util.ts +0 -168
- package/src/_collections/utils/utilities.util.spec.ts +0 -201
- package/src/_collections/utils/utilities.util.ts +0 -68
- package/src/_collections/utils/uuid.util.spec.ts +0 -30
- package/src/_collections/utils/uuid.util.ts +0 -50
- package/src/_enums/basic-property-type.enum.ts +0 -20
- package/src/_enums/data-model-type.enum.ts +0 -29
- package/src/_enums/environment-flag.enum.ts +0 -28
- package/src/_enums/error-level.enum.ts +0 -43
- package/src/_enums/error-status.enum.ts +0 -30
- package/src/_enums/http/http-call-type.enum.ts +0 -43
- package/src/_enums/http/http-event-type.enum.ts +0 -40
- package/src/_enums/http/http-response-type.enum.ts +0 -18
- package/src/_enums/log-style.enum.ts +0 -44
- package/src/_enums/server-connection-status.enum.ts +0 -6
- package/src/_enums/time/day-of-week.enum.ts +0 -55
- package/src/_enums/time/month.enum.ts +0 -25
- package/src/_enums/time/relative-date.enum.ts +0 -24
- package/src/_models/control-models/data-model-params.control-model.spec.ts +0 -156
- package/src/_models/control-models/data-model-params.control-model.ts +0 -362
- package/src/_models/control-models/data-property-params.control-model.spec.ts +0 -93
- package/src/_models/control-models/data-property-params.control-model.ts +0 -210
- package/src/_models/control-models/error.control-model.spec.ts +0 -975
- package/src/_models/control-models/error.control-model.ts +0 -1280
- package/src/_models/control-models/http/http-error-response.control-model.spec.ts +0 -116
- package/src/_models/control-models/http/http-error-response.control-model.ts +0 -52
- package/src/_models/control-models/http/http-headers.control-model.spec.ts +0 -25
- package/src/_models/control-models/http/http-headers.control-model.ts +0 -125
- package/src/_models/control-models/http/http-response.model-base.spec.ts +0 -46
- package/src/_models/control-models/http/http-response.model-base.ts +0 -58
- package/src/_models/control-models/poll.control-model.spec.ts +0 -63
- package/src/_models/control-models/poll.control-model.ts +0 -151
- package/src/_models/control-models/range-value.control-model.spec.ts +0 -187
- package/src/_models/control-models/range-value.control-model.ts +0 -289
- package/src/_models/control-models/server-status.control-model.spec.ts +0 -66
- package/src/_models/control-models/server-status.control-model.ts +0 -94
- package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +0 -145
- package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +0 -187
- package/src/_models/data-models/errors.data-model.spec.ts +0 -71
- package/src/_models/data-models/errors.data-model.ts +0 -201
- package/src/_models/data-models/metadata.data-model.spec.ts +0 -184
- package/src/_models/data-models/metadata.data-model.ts +0 -153
- package/src/_models/interfaces/box-bounds.interface.ts +0 -8
- package/src/_models/interfaces/environment/global-log-settings.interface.ts +0 -86
- package/src/_models/interfaces/environment/global-settings.interface.ts +0 -69
- package/src/_models/interfaces/error-defaults.interface.ts +0 -18
- package/src/_models/interfaces/paged.interface.ts +0 -12
- package/src/_models/interfaces/random-weight.interface.ts +0 -7
- package/src/_models/interfaces/route-settings.interface.ts +0 -15
- package/src/_models/interfaces/search-query.interface.ts +0 -23
- package/src/_models/interfaces/search-result.interface.ts +0 -6
- package/src/_models/interfaces/server-error-statistics.interface.ts +0 -24
- package/src/_models/interfaces/vector2.interface.ts +0 -21
- package/src/_models/types/db-filter.type.ts +0 -110
- package/src/_models/types/db-sort.type.ts +0 -5
- package/src/_models/types/ds-filter.type.ts +0 -68
- package/src/_models/types/ds-sort.type.ts +0 -21
- package/src/_modules/ai/_collections/ai-model-ref.util.ts +0 -88
- package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +0 -37
- package/src/_modules/ai/_collections/ai-model-registry.util.ts +0 -30
- package/src/_modules/ai/_enums/ai-message-role.enum.ts +0 -7
- package/src/_modules/ai/_enums/ai-model-type.enum.ts +0 -7
- package/src/_modules/ai/_enums/ai-provider.enum.ts +0 -7
- package/src/_modules/ai/_models/ai-call-settings.interface.ts +0 -84
- package/src/_modules/ai/_models/ai-config.interface.ts +0 -14
- package/src/_modules/ai/_models/ai-embedding-request.interface.ts +0 -20
- package/src/_modules/ai/_models/ai-embedding-response.interface.ts +0 -26
- package/src/_modules/ai/_models/ai-llm-request.interface.ts +0 -24
- package/src/_modules/ai/_models/ai-llm-response.interface.ts +0 -30
- package/src/_modules/ai/_models/ai-message.interface.ts +0 -12
- package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +0 -35
- package/src/_modules/ai/_models/ai-model-info.interface.ts +0 -63
- package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +0 -52
- package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +0 -28
- package/src/_modules/ai/_models/ai-settings.interface.ts +0 -17
- package/src/_modules/ai/_models/ai-tool-call.interface.ts +0 -18
- package/src/_modules/ai/_models/ai-tool-handler.type.ts +0 -11
- package/src/_modules/ai/_models/ai-tool-result.interface.ts +0 -16
- package/src/_modules/ai/_models/ai-tool.interface.ts +0 -16
- package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +0 -29
- package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +0 -135
- package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +0 -19
- package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +0 -28
- package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +0 -23
- package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +0 -10
- package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +0 -22
- package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +0 -27
- package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +0 -20
- package/src/_modules/ai/_modules/anthropic/index.ts +0 -14
- package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +0 -12
- package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +0 -22
- package/src/_modules/ai/_modules/document-ai/index.ts +0 -4
- package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +0 -40
- package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +0 -6
- package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +0 -19
- package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +0 -11
- package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +0 -24
- package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +0 -20
- package/src/_modules/ai/_modules/fdp-ai/index.ts +0 -11
- package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +0 -161
- package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +0 -16
- package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +0 -28
- package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +0 -21
- package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +0 -8
- package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +0 -22
- package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +0 -25
- package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +0 -20
- package/src/_modules/ai/_modules/google-ai/index.ts +0 -14
- package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +0 -59
- package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +0 -6
- package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +0 -28
- package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +0 -18
- package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +0 -9
- package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +0 -22
- package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +0 -23
- package/src/_modules/ai/_modules/local-ai/index.ts +0 -14
- package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +0 -8
- package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +0 -404
- package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +0 -179
- package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +0 -28
- package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +0 -21
- package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +0 -81
- package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +0 -13
- package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +0 -22
- package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +0 -25
- package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +0 -21
- package/src/_modules/ai/_modules/open-ai/index.ts +0 -28
- package/src/_modules/ai/index.ts +0 -27
- package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +0 -11
- package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +0 -10
- package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +0 -58
- package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +0 -77
- package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +0 -12
- package/src/_modules/ci-tools/index.ts +0 -8
- package/src/_modules/crypto/_collections/crypto-v1.util.ts +0 -225
- package/src/_modules/crypto/_collections/crypto-v2.util.ts +0 -331
- package/src/_modules/crypto/_collections/crypto-v4.util.ts +0 -702
- package/src/_modules/crypto/_collections/crypto.util.db-envelope.spec.ts +0 -51
- package/src/_modules/crypto/_collections/crypto.util.edge.spec.ts +0 -606
- package/src/_modules/crypto/_collections/crypto.util.extra.spec.ts +0 -643
- package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +0 -513
- package/src/_modules/crypto/_collections/crypto.util.ts +0 -748
- package/src/_modules/crypto/_models/artifact-signature.interface.ts +0 -39
- package/src/_modules/crypto/_services/artifact-signature.control-service.spec.ts +0 -223
- package/src/_modules/crypto/_services/artifact-signature.control-service.ts +0 -395
- package/src/_modules/crypto/index.ts +0 -16
- package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +0 -21
- package/src/_modules/custom-data/_models/cud.data-model.spec.ts +0 -38
- package/src/_modules/custom-data/_models/cud.data-model.ts +0 -39
- package/src/_modules/custom-data/index.ts +0 -10
- package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +0 -110
- package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +0 -110
- package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +0 -473
- package/src/_modules/data-handler/_models/data-handler.control-model.ts +0 -486
- package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +0 -263
- package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +0 -252
- package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +0 -417
- package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +0 -390
- package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +0 -374
- package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +0 -274
- package/src/_modules/data-handler/index.ts +0 -6
- package/src/_modules/deployment/_collections/atomic-rollback-manifest.util.spec.ts +0 -221
- package/src/_modules/deployment/_collections/atomic-rollback-manifest.util.ts +0 -455
- package/src/_modules/deployment/_models/atomic-rollback-manifest.interface.ts +0 -59
- package/src/_modules/deployment/index.ts +0 -2
- package/src/_modules/game/_collections/audio-mixer.util.spec.ts +0 -198
- package/src/_modules/game/_collections/audio-mixer.util.ts +0 -143
- package/src/_modules/game/_collections/audio-scale.util.spec.ts +0 -140
- package/src/_modules/game/_collections/audio-scale.util.ts +0 -129
- package/src/_modules/game/_enums/audio-channel.enum.ts +0 -22
- package/src/_modules/game/_models/audio-mixer-config.interface.ts +0 -53
- package/src/_modules/game/_models/audio-mixer-settings.interface.ts +0 -38
- package/src/_modules/game/_models/audio-mixer-state.interface.ts +0 -36
- package/src/_modules/game/_models/audio-mixer.control-model.spec.ts +0 -376
- package/src/_modules/game/_models/audio-mixer.control-model.ts +0 -419
- package/src/_modules/game/_models/audio-scale.interface.ts +0 -21
- package/src/_modules/game/_models/seeded-random-state.interface.ts +0 -21
- package/src/_modules/game/_models/seeded-random.control-model.spec.ts +0 -290
- package/src/_modules/game/_models/seeded-random.control-model.ts +0 -311
- package/src/_modules/game/index.ts +0 -15
- package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +0 -3239
- package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +0 -19036
- package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +0 -4994
- package/src/_modules/location/_collections/assets/country-phone-codes.json +0 -1203
- package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +0 -138
- package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +0 -50
- package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +0 -194
- package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +0 -30
- package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +0 -74
- package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +0 -34
- package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +0 -98
- package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +0 -46
- package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +0 -34
- package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +0 -38
- package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +0 -6
- package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +0 -126
- package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +0 -22
- package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +0 -30
- package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +0 -46
- package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +0 -30
- package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +0 -14
- package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +0 -26
- package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +0 -50
- package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +0 -82
- package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +0 -38
- package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +0 -14
- package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +0 -66
- package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +0 -110
- package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +0 -18
- package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +0 -114
- package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +0 -54
- package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +0 -70
- package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +0 -98
- package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +0 -42
- package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +0 -80
- package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +0 -10
- package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +0 -70
- package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +0 -90
- package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +0 -62
- package/src/_modules/location/_collections/assets/country-subdivisions/china.json +0 -206
- package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +0 -134
- package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +0 -14
- package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +0 -46
- package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +0 -50
- package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +0 -30
- package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +0 -78
- package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +0 -86
- package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +0 -66
- package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +0 -26
- package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +0 -58
- package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +0 -22
- package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +0 -26
- package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +0 -42
- package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +0 -42
- package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +0 -98
- package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +0 -118
- package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +0 -58
- package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +0 -10
- package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +0 -26
- package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +0 -62
- package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +0 -46
- package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +0 -22
- package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +0 -78
- package/src/_modules/location/_collections/assets/country-subdivisions/france.json +0 -134
- package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +0 -38
- package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +0 -26
- package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +0 -50
- package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +0 -66
- package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +0 -42
- package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +0 -54
- package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +0 -18
- package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +0 -30
- package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +0 -90
- package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +0 -14
- package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +0 -34
- package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +0 -42
- package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +0 -42
- package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +0 -74
- package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +0 -5
- package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +0 -174
- package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +0 -38
- package/src/_modules/location/_collections/assets/country-subdivisions/india.json +0 -182
- package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +0 -30
- package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +0 -126
- package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +0 -74
- package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +0 -18
- package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +0 -26
- package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +0 -82
- package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +0 -58
- package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +0 -190
- package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +0 -50
- package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +0 -66
- package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +0 -34
- package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +0 -14
- package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +0 -46
- package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +0 -70
- package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +0 -26
- package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +0 -34
- package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +0 -74
- package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +0 -478
- package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +0 -34
- package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +0 -42
- package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +0 -62
- package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +0 -90
- package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +0 -46
- package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +0 -42
- package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +0 -14
- package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +0 -338
- package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +0 -26
- package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +0 -14
- package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +0 -82
- package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +0 -34
- package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +0 -38
- package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +0 -274
- package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +0 -10
- package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +0 -54
- package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +0 -70
- package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +0 -162
- package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +0 -18
- package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +0 -150
- package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +0 -70
- package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +0 -90
- package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +0 -94
- package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +0 -66
- package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +0 -46
- package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +0 -58
- package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +0 -58
- package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +0 -58
- package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +0 -22
- package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +0 -92
- package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +0 -112
- package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +0 -70
- package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +0 -34
- package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +0 -150
- package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +0 -86
- package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +0 -38
- package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +0 -34
- package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +0 -66
- package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +0 -66
- package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +0 -54
- package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +0 -82
- package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +0 -74
- package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +0 -106
- package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +0 -70
- package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +0 -66
- package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +0 -82
- package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +0 -30
- package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +0 -170
- package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +0 -500
- package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +0 -22
- package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +0 -14
- package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +0 -10
- package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +0 -46
- package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +0 -26
- package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +0 -46
- package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +0 -38
- package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +0 -10
- package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +0 -54
- package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +0 -58
- package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +0 -10
- package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +0 -102
- package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +0 -18
- package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +0 -22
- package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +0 -34
- package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +0 -842
- package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +0 -42
- package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +0 -74
- package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +0 -38
- package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +0 -42
- package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +0 -347
- package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +0 -38
- package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +0 -70
- package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +0 -42
- package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +0 -18
- package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +0 -86
- package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +0 -106
- package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +0 -58
- package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +0 -94
- package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +0 -18
- package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +0 -106
- package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +0 -314
- package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +0 -54
- package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +0 -22
- package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +0 -22
- package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +0 -66
- package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +0 -98
- package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +0 -326
- package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +0 -26
- package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +0 -34
- package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +0 -18
- package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +0 -110
- package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +0 -30
- package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +0 -1197
- package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +0 -38
- package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +0 -287
- package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +0 -78
- package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +0 -58
- package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +0 -26
- package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +0 -102
- package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +0 -258
- package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +0 -86
- package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +0 -38
- package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +0 -42
- package/src/_modules/location/_collections/loc-country-divisions.const.ts +0 -11
- package/src/_modules/location/_collections/loc-country-isos.const.ts +0 -8
- package/src/_modules/location/_collections/loc-regions.util.spec.ts +0 -61
- package/src/_modules/location/_collections/loc-regions.util.ts +0 -137
- package/src/_modules/location/_collections/loc.util.spec.ts +0 -52
- package/src/_modules/location/_collections/loc.util.ts +0 -74
- package/src/_modules/location/_enums/loc-region.enum.ts +0 -14
- package/src/_modules/location/_enums/loc-sub-region.enum.ts +0 -31
- package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +0 -47
- package/src/_modules/location/_models/loc-coordinates.interface.ts +0 -7
- package/src/_modules/location/_models/loc-country-division.interface.ts +0 -8
- package/src/_modules/location/_models/loc-country-iso.interface.ts +0 -23
- package/src/_modules/location/_models/loc-country-phone-code.interface.ts +0 -9
- package/src/_modules/location/_models/loc-division-collection.interface.ts +0 -12
- package/src/_modules/location/_models/loc-division-region-data.interface.ts +0 -9
- package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +0 -27
- package/src/_modules/location/index.ts +0 -22
- package/src/_modules/messaging/README.md +0 -279
- package/src/_modules/messaging/_collections/msg-module-settings.const.ts +0 -46
- package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +0 -26
- package/src/_modules/messaging/_enums/msg-conversation-type.enum.ts +0 -20
- package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +0 -17
- package/src/_modules/messaging/_enums/msg-event-key.enum.ts +0 -31
- package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +0 -20
- package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +0 -7
- package/src/_modules/messaging/_enums/msg-status.enum.ts +0 -26
- package/src/_modules/messaging/_enums/msg-type.enum.ts +0 -23
- package/src/_modules/messaging/_models/msg-attachment.interface.ts +0 -46
- package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +0 -69
- package/src/_modules/messaging/_models/msg-conversation.data-model.ts +0 -96
- package/src/_modules/messaging/_models/msg-mention.interface.ts +0 -29
- package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +0 -79
- package/src/_modules/messaging/_models/msg-message.data-model.ts +0 -127
- package/src/_modules/messaging/_models/msg-participant.interface.ts +0 -46
- package/src/_modules/messaging/_models/msg-reaction.interface.ts +0 -20
- package/src/_modules/messaging/_models/msg-thread-info.interface.ts +0 -35
- package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +0 -35
- package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +0 -23
- package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +0 -55
- package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +0 -26
- package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +0 -37
- package/src/_modules/messaging/_modules/agent/index.ts +0 -8
- package/src/_modules/messaging/index.ts +0 -28
- package/src/_modules/ngx-models/_collections/angular-placeholders.ts +0 -35
- package/src/_modules/ngx-models/_collections/button-new-style-settings-presets.const.ts +0 -181
- package/src/_modules/ngx-models/_collections/dynamo-global.settings.spec.ts +0 -74
- package/src/_modules/ngx-models/_collections/dynamo-global.settings.ts +0 -103
- package/src/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.ts +0 -16
- package/src/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.ts +0 -14
- package/src/_modules/ngx-models/_enums/button-new/button-new-size.enum.ts +0 -16
- package/src/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.ts +0 -18
- package/src/_modules/ngx-models/_enums/button-type.enum.ts +0 -36
- package/src/_modules/ngx-models/_enums/checkbox-label-position.enum.ts +0 -8
- package/src/_modules/ngx-models/_enums/container-type.enum.ts +0 -11
- package/src/_modules/ngx-models/_enums/errors/error-level.enum.ts +0 -13
- package/src/_modules/ngx-models/_enums/errors/error-notification-color.enum.ts +0 -13
- package/src/_modules/ngx-models/_enums/errors/error-ui-mode.enum.ts +0 -13
- package/src/_modules/ngx-models/_enums/field-appearance.enum.ts +0 -14
- package/src/_modules/ngx-models/_enums/field-type.enum.ts +0 -53
- package/src/_modules/ngx-models/_enums/file-type.enum.ts +0 -12
- package/src/_modules/ngx-models/_enums/flex/flex-layout-align.enum.ts +0 -21
- package/src/_modules/ngx-models/_enums/flex/flex-layout.enum.ts +0 -5
- package/src/_modules/ngx-models/_enums/form-access.enum.ts +0 -9
- package/src/_modules/ngx-models/_enums/form-reset-data.enum.ts +0 -12
- package/src/_modules/ngx-models/_enums/form-store-on.enum.ts +0 -9
- package/src/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.ts +0 -20
- package/src/_modules/ngx-models/_enums/frames/header-item-type.enum.ts +0 -15
- package/src/_modules/ngx-models/_enums/frames/header-position.enum.ts +0 -10
- package/src/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.ts +0 -13
- package/src/_modules/ngx-models/_enums/html/input-types.enum.ts +0 -27
- package/src/_modules/ngx-models/_enums/material-color.enum.ts +0 -16
- package/src/_modules/ngx-models/_enums/material-tooltip-position.enum.ts +0 -17
- package/src/_modules/ngx-models/_enums/preconfigured-field-type.enum.ts +0 -8
- package/src/_modules/ngx-models/_enums/storage-type.enum.ts +0 -15
- package/src/_modules/ngx-models/_enums/validator-type.enum.ts +0 -9
- package/src/_modules/ngx-models/_enums/voice/audio-mime-type.enum.ts +0 -14
- package/src/_modules/ngx-models/_enums/voice/voice-provider-type.enum.ts +0 -26
- package/src/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.ts +0 -20
- package/src/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.ts +0 -37
- package/src/_modules/ngx-models/_models/control-models/button-params.control-model.spec.ts +0 -70
- package/src/_modules/ngx-models/_models/control-models/button-params.control-model.ts +0 -332
- package/src/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.ts +0 -28
- package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.spec.ts +0 -91
- package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.ts +0 -135
- package/src/_modules/ngx-models/_models/control-models/data-handler.control-model.ts +0 -529
- package/src/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.ts +0 -52
- package/src/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.ts +0 -34
- package/src/_modules/ngx-models/_models/control-models/errors/errors-pojo.spec.ts +0 -86
- package/src/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.ts +0 -52
- package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.spec.ts +0 -109
- package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.ts +0 -133
- package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.spec.ts +0 -109
- package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.ts +0 -160
- package/src/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.ts +0 -25
- package/src/_modules/ngx-models/_models/control-models/forms-new/color-picker-field-new-settings.control-model.ts +0 -44
- package/src/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.ts +0 -26
- package/src/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.ts +0 -42
- package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.ts +0 -35
- package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.ts +0 -35
- package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.ts +0 -85
- package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-types.ts +0 -44
- package/src/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.ts +0 -40
- package/src/_modules/ngx-models/_models/control-models/forms-new/forms-new.spec.ts +0 -210
- package/src/_modules/ngx-models/_models/control-models/forms-new/index.ts +0 -21
- package/src/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.ts +0 -27
- package/src/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.ts +0 -24
- package/src/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.ts +0 -35
- package/src/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.ts +0 -35
- package/src/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.ts +0 -46
- package/src/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.ts +0 -37
- package/src/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.ts +0 -45
- package/src/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.ts +0 -30
- package/src/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.ts +0 -22
- package/src/_modules/ngx-models/_models/control-models/frames/frames-pojo.spec.ts +0 -108
- package/src/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.ts +0 -52
- package/src/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.ts +0 -40
- package/src/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.ts +0 -55
- package/src/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.ts +0 -30
- package/src/_modules/ngx-models/_models/control-models/select.control-model.spec.ts +0 -45
- package/src/_modules/ngx-models/_models/control-models/select.control-model.ts +0 -28
- package/src/_modules/ngx-models/_models/control-models/voice/voice-pojo.spec.ts +0 -111
- package/src/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.ts +0 -74
- package/src/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.ts +0 -42
- package/src/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.ts +0 -37
- package/src/_modules/ngx-models/_models/interfaces/button-new-settings.interface.ts +0 -74
- package/src/_modules/ngx-models/_models/interfaces/confirm-settings.interface.ts +0 -20
- package/src/_modules/ngx-models/_models/interfaces/global-settings.interface.ts +0 -67
- package/src/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.ts +0 -40
- package/src/_modules/ngx-models/_models/interfaces/storage.service.spec.ts +0 -18
- package/src/_modules/ngx-models/_models/interfaces/storage.service.ts +0 -41
- package/src/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.ts +0 -19
- package/src/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.ts +0 -14
- package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.ts +0 -14
- package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.ts +0 -15
- package/src/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.ts +0 -18
- package/src/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.ts +0 -21
- package/src/_modules/ngx-models/_utils/shared.service.spec.ts +0 -7
- package/src/_modules/ngx-models/_utils/shared.service.ts +0 -541
- package/src/_modules/ngx-models/index.ts +0 -110
- package/src/_modules/pipe/_collections/pip-transforms.const.ts +0 -42
- package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +0 -47
- package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +0 -41
- package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +0 -39
- package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +0 -30
- package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +0 -41
- package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +0 -36
- package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +0 -62
- package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +0 -18
- package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +0 -34
- package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +0 -25
- package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +0 -67
- package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +0 -227
- package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +0 -28
- package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +0 -21
- package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +0 -59
- package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +0 -106
- package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +0 -31
- package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +0 -35
- package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +0 -44
- package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +0 -23
- package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +0 -21
- package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +0 -33
- package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +0 -62
- package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +0 -80
- package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +0 -15
- package/src/_modules/pipe/_enums/pip.enum.ts +0 -65
- package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +0 -8
- package/src/_modules/pipe/_models/pip-transforms.interface.ts +0 -30
- package/src/_modules/pipe/index.ts +0 -30
- package/src/_modules/security/_collections/stored-secret.util.spec.ts +0 -81
- package/src/_modules/security/_collections/stored-secret.util.ts +0 -96
- package/src/_modules/security/_models/stored-secret.control-model.ts +0 -55
- package/src/_modules/security/index.ts +0 -9
- package/src/_modules/socket/_enums/sck-event-key.enum.ts +0 -21
- package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +0 -67
- package/src/_modules/socket/_models/sck-client-params.control-model.ts +0 -50
- package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +0 -89
- package/src/_modules/socket/_models/sck-socket-event.control-model.ts +0 -185
- package/src/_modules/socket/_services/sck-client.service-base.spec.ts +0 -99
- package/src/_modules/socket/_services/sck-client.service-base.ts +0 -353
- package/src/_modules/socket/index.ts +0 -14
- package/src/_modules/state-machine/_models/state-machine-config.interface.ts +0 -19
- package/src/_modules/state-machine/_models/state-machine-event.interface.ts +0 -25
- package/src/_modules/state-machine/_models/state-machine.control-model.spec.ts +0 -314
- package/src/_modules/state-machine/_models/state-machine.control-model.ts +0 -298
- package/src/_modules/state-machine/_models/state-transition-result.interface.ts +0 -53
- package/src/_modules/state-machine/_models/state-transition.interface.ts +0 -30
- package/src/_modules/state-machine/index.ts +0 -6
- package/src/_modules/test/_collections/tst-module-settings.const.ts +0 -67
- package/src/_modules/test/index.ts +0 -5
- package/src/_modules/usage/_collections/usg-module-settings.const.ts +0 -33
- package/src/_modules/usage/_models/usg-action.control-model.spec.ts +0 -27
- package/src/_modules/usage/_models/usg-action.control-model.ts +0 -28
- package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +0 -36
- package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +0 -35
- package/src/_modules/usage/_models/usg-data.control-model.spec.ts +0 -41
- package/src/_modules/usage/_models/usg-data.control-model.ts +0 -35
- package/src/_modules/usage/_models/usg-session.data-model.spec.ts +0 -97
- package/src/_modules/usage/_models/usg-session.data-model.ts +0 -72
- package/src/_modules/usage/index.ts +0 -11
- package/src/index.ts +0 -104
- package/tsconfig.app.json +0 -12
- package/tsconfig.json +0 -32
- package/tsconfig.test.json +0 -16
- package/tslint.json +0 -153
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
# 2026-05-17 — OpenAI-compatible providers (Hunglish how-to)
|
|
2
|
-
|
|
3
|
-
**Spec:** `__agent/feature-requests/FR-005-oai-compat-provider-docs.md` (workspace root)
|
|
4
|
-
**Scope:** docs-only, LOW priority. Nincs API-változás.
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Mire jó ez?
|
|
9
|
-
|
|
10
|
-
A `DyFM_OAI_ClientOptions.baseURL` mező (`fsm-dynamo/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts:25`) lehetővé teszi **tetszőleges OpenAI-API-kompatibilis endpoint** használatát az `openai` npm SDK-n keresztül — anélkül, hogy a Dynamo OAI service-eket (`DyFM_OAI_Settings`, downstream `DyNTS_OAI_Embedding_ControlService` / `DyNTS_OAI_LLM_ServiceBase`) bármi módon kellene módosítani.
|
|
11
|
-
|
|
12
|
-
Tipikus use-case-ek:
|
|
13
|
-
- **Lokál fejlesztés**: `OPENAI_API_KEY` nélkül, lokál LLM-mel (LM Studio, Ollama)
|
|
14
|
-
- **Self-hosted production**: vLLM / LocalAI klaszter saját infrán
|
|
15
|
-
- **Cost-control**: nyílt-súlyú modellek (Llama, Mistral, Qwen) drága API helyett
|
|
16
|
-
|
|
17
|
-
A `baseURL`-override `openai` SDK-natív feature — Dynamo csak átadja a config-ot (`oai-llm.service-base.ts:91-98`):
|
|
18
|
-
|
|
19
|
-
```typescript
|
|
20
|
-
this.openai = new OpenAI(
|
|
21
|
-
set?.config ?? {
|
|
22
|
-
organization: DyNTS_global_settings.env_settings.openAi.organization,
|
|
23
|
-
apiKey: DyNTS_global_settings.env_settings.openAi.apiKey,
|
|
24
|
-
project: DyNTS_global_settings.env_settings.openAi.project,
|
|
25
|
-
}
|
|
26
|
-
);
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
→ ha a `set.config.baseURL` ki van töltve, az SDK arra megy. Minden más változatlan.
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Általános minta
|
|
34
|
-
|
|
35
|
-
```typescript
|
|
36
|
-
import { DyFM_OAI_Settings, DyFM_OAI_CallSettings } from '@futdevpro/fsm-dynamo/ai/open-ai';
|
|
37
|
-
import { DyNTS_OAI_LLM_ChatServiceBase } from '@futdevpro/dynamo-nts/ai/open-ai';
|
|
38
|
-
|
|
39
|
-
const settings: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
40
|
-
config: {
|
|
41
|
-
baseURL: 'http://<provider-host>:<port>/v1',
|
|
42
|
-
apiKey: '<placeholder-or-real>',
|
|
43
|
-
},
|
|
44
|
-
defaultSettings: new DyFM_OAI_CallSettings({
|
|
45
|
-
useModel: '<provider-specific-model-id>',
|
|
46
|
-
}),
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
// Use with any Dynamo OAI service:
|
|
50
|
-
class MyChat extends DyNTS_OAI_LLM_ChatServiceBase {}
|
|
51
|
-
const chat: MyChat = new MyChat(settings);
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
A kulcs: `config.baseURL` + `config.apiKey` + `defaultSettings.useModel`. A többi mező (organization, project) lokál provider-eknél figyelmen kívül marad.
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## Provider-szekciók
|
|
59
|
-
|
|
60
|
-
### 1. LM Studio — desktop GUI lokál LLM-hez
|
|
61
|
-
|
|
62
|
-
[LM Studio](https://lmstudio.ai) Mac/Windows/Linux desktop app, beépített OAI-compat szerverrel. Default port: `1234`.
|
|
63
|
-
|
|
64
|
-
**Beállítás**:
|
|
65
|
-
1. LM Studio-ban betölteni egy modellt (pl. `nomic-embed-text-v1.5` embedding-hez, `llama-3.2-3b-instruct` chat-hez)
|
|
66
|
-
2. "Local Server" tab → "Start Server"
|
|
67
|
-
|
|
68
|
-
**Code**:
|
|
69
|
-
```typescript
|
|
70
|
-
const lmStudio: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
71
|
-
config: {
|
|
72
|
-
baseURL: 'http://localhost:1234/v1',
|
|
73
|
-
apiKey: 'lm-studio', // tetszőleges placeholder — LM Studio ignorálja
|
|
74
|
-
},
|
|
75
|
-
defaultSettings: new DyFM_OAI_CallSettings({
|
|
76
|
-
useModel: 'nomic-embed-text-v1.5', // ahogy a Local Server megjeleníti
|
|
77
|
-
}),
|
|
78
|
-
});
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**Tipikus jellemzők**:
|
|
82
|
-
- ✅ GUI a modell-letöltéshez (HuggingFace integráció)
|
|
83
|
-
- ✅ Streaming chat completion support
|
|
84
|
-
- ⚠️ Embedding limit: a UI-n külön kell betölteni embedding modellt
|
|
85
|
-
- ❌ Multi-tenant / production-flow nem támogatott
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
### 2. Ollama — CLI-driven lokál LLM (OAI-compat layer ≥ v0.1.14)
|
|
90
|
-
|
|
91
|
-
[Ollama](https://ollama.com) parancssoros LLM-runner, OAI-compat layerrel. Default port: `11434`.
|
|
92
|
-
|
|
93
|
-
**Beállítás**:
|
|
94
|
-
```bash
|
|
95
|
-
ollama pull llama3.2:3b
|
|
96
|
-
ollama pull nomic-embed-text
|
|
97
|
-
ollama serve # vagy ha service-ként fut, már megy
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
**Code**:
|
|
101
|
-
```typescript
|
|
102
|
-
const ollama: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
103
|
-
config: {
|
|
104
|
-
baseURL: 'http://localhost:11434/v1',
|
|
105
|
-
apiKey: 'ollama', // szintén placeholder — Ollama nem ellenőrzi
|
|
106
|
-
},
|
|
107
|
-
defaultSettings: new DyFM_OAI_CallSettings({
|
|
108
|
-
useModel: 'nomic-embed-text',
|
|
109
|
-
}),
|
|
110
|
-
});
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
**Tipikus jellemzők**:
|
|
114
|
-
- ✅ Multi-modell support (`ollama pull <name>` → azonnal elérhető endpointon)
|
|
115
|
-
- ✅ Embedding endpoint OAI-compat formában működik (v0.1.14+ óta)
|
|
116
|
-
- ✅ Streaming chat completion OK
|
|
117
|
-
- ⚠️ `function_call` / `tools` API csak részben támogatott a tool-aware modelleknél (Llama-3 family OK; small instruct modellek may not)
|
|
118
|
-
- ⚠️ Context-window provider-szintű limit (általában 2048-8192 tokens default-tal — `OLLAMA_NUM_CTX` env-var)
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
### 3. vLLM — production-grade GPU inference server
|
|
123
|
-
|
|
124
|
-
[vLLM](https://docs.vllm.ai) Python alapú, batched + PagedAttention GPU-inference. OAI-compatible REST endpoint beépítve. Default port: `8000`.
|
|
125
|
-
|
|
126
|
-
**Beállítás**:
|
|
127
|
-
```bash
|
|
128
|
-
pip install vllm
|
|
129
|
-
python -m vllm.entrypoints.openai.api_server \
|
|
130
|
-
--model meta-llama/Meta-Llama-3-8B-Instruct \
|
|
131
|
-
--port 8000 \
|
|
132
|
-
--api-key local-secret-token
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
**Code**:
|
|
136
|
-
```typescript
|
|
137
|
-
const vllm: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
138
|
-
config: {
|
|
139
|
-
baseURL: 'http://gpu-server:8000/v1',
|
|
140
|
-
apiKey: process.env.VLLM_API_KEY ?? 'local-secret-token', // ha --api-key beállítva
|
|
141
|
-
},
|
|
142
|
-
defaultSettings: new DyFM_OAI_CallSettings({
|
|
143
|
-
useModel: 'meta-llama/Meta-Llama-3-8B-Instruct', // a `--model` érték
|
|
144
|
-
}),
|
|
145
|
-
});
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
**Tipikus jellemzők**:
|
|
149
|
-
- ✅ Magas throughput (batched inference) — production scaling
|
|
150
|
-
- ✅ Tool-calling support latest verziókban
|
|
151
|
-
- ✅ Streaming OK
|
|
152
|
-
- ⚠️ Egyszerre **egy** modell van memóriában (több modell = több instance)
|
|
153
|
-
- ⚠️ Embedding endpoint NEM all modellnél — csak ha a model dedikált embedding (pl. `intfloat/e5-mistral-7b-instruct`)
|
|
154
|
-
- ⚠️ GPU-szintű mem-management — OOM-ra dob, ha context-len túl nagy
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
### 4. LocalAI — REST-only multi-model platform
|
|
159
|
-
|
|
160
|
-
[LocalAI](https://localai.io) Go-alapú, multi-backend (llama.cpp, whisper.cpp, stable-diffusion) REST szerver. OAI-compatible chat + embedding endpointokkal. Default port: `8080`.
|
|
161
|
-
|
|
162
|
-
**Beállítás**:
|
|
163
|
-
```bash
|
|
164
|
-
docker run -p 8080:8080 \
|
|
165
|
-
-v $PWD/models:/build/models \
|
|
166
|
-
localai/localai:latest
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
Modellt vagy `models.yaml`-ban vagy runtime-on (`POST /models/apply`) lehet hozzáadni.
|
|
170
|
-
|
|
171
|
-
**Code**:
|
|
172
|
-
```typescript
|
|
173
|
-
const localai: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
174
|
-
config: {
|
|
175
|
-
baseURL: 'http://localai:8080/v1',
|
|
176
|
-
apiKey: 'sk-local', // placeholder
|
|
177
|
-
},
|
|
178
|
-
defaultSettings: new DyFM_OAI_CallSettings({
|
|
179
|
-
useModel: 'gpt-4', // LocalAI alias → konfigban mapped a tényleges modellre
|
|
180
|
-
}),
|
|
181
|
-
});
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
**Tipikus jellemzők**:
|
|
185
|
-
- ✅ Egyszerre több modell loadolva — modell-aliasok
|
|
186
|
-
- ✅ Multi-backend (LLM + Whisper transcribe + image-gen ugyanazon szerverről)
|
|
187
|
-
- ✅ Streaming OK
|
|
188
|
-
- ⚠️ A modell-aliasok kézi konfig kérdése — a `useModel` ID-nek pontosan match-elnie kell a `models.yaml`-ban definiálttal
|
|
189
|
-
- ⚠️ Lassabb felpörgés gpu-acceleration nélkül (CPU-fallback default)
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
## Embedding modellek — provider-specifikus
|
|
194
|
-
|
|
195
|
-
Az embedding-modell nevének **pontos egyezést** kell mutatnia a provider által regisztrált name-mel. Példák:
|
|
196
|
-
|
|
197
|
-
| Provider | Embedding model ID | Megjegyzés |
|
|
198
|
-
|---|---|---|
|
|
199
|
-
| OpenAI (cloud) | `text-embedding-3-small`, `text-embedding-3-large` | Default |
|
|
200
|
-
| LM Studio | `nomic-embed-text-v1.5`, `BAAI/bge-large-en-v1.5` | A betöltött modell ID-jét a Local Server tab írja ki |
|
|
201
|
-
| Ollama | `nomic-embed-text`, `mxbai-embed-large` | `ollama list` mutatja |
|
|
202
|
-
| vLLM | `intfloat/e5-mistral-7b-instruct` | Csak ha az indítási `--model` embedding-képes |
|
|
203
|
-
| LocalAI | `text-embedding-ada-002` (aliasként) | A `models.yaml`-ban definiált alias |
|
|
204
|
-
|
|
205
|
-
A `DyNTS_OAI_Embedding_ControlService` API-szintjén nem érzékeli a különbséget — a `useModel` field határoz meg mindent.
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
## Caveats — amire figyelni kell
|
|
210
|
-
|
|
211
|
-
### Rate limits
|
|
212
|
-
- **OpenAI**: tier-szintű, API-doc-ban
|
|
213
|
-
- **LM Studio / Ollama / LocalAI**: nincs natív rate-limit — single-user dev tool
|
|
214
|
-
- **vLLM**: konfigurálható (`--max-num-seqs` flag), default kvázi-unlimited
|
|
215
|
-
|
|
216
|
-
### Max tokens / context window
|
|
217
|
-
A `DyFM_OAI_CallSettings.maxTokens` provider-szintű limit alá kell hogy essen, különben az SDK 400/422-t kap:
|
|
218
|
-
|
|
219
|
-
| Provider | Default context-window | Override |
|
|
220
|
-
|---|---|---|
|
|
221
|
-
| OpenAI gpt-4o | 128K | API tier-függő |
|
|
222
|
-
| LM Studio | a betöltött modell native context-je | UI slider |
|
|
223
|
-
| Ollama | 2048 (legacy default!) → `num_ctx` paraméter | `OLLAMA_NUM_CTX` env-var vagy `Modelfile` `PARAMETER num_ctx` |
|
|
224
|
-
| vLLM | a modell native context-je | `--max-model-len` flag |
|
|
225
|
-
| LocalAI | `models.yaml` `context_size` field | per-model konfig |
|
|
226
|
-
|
|
227
|
-
### Error-handling különbségek
|
|
228
|
-
- **OpenAI**: standard 400/401/403/429/500 + structured error body
|
|
229
|
-
- **Lokál providerek**: gyakran **404 a modell-name-re** (ha rosszul ID-zed), **timeout** (modell-loadolás közben), **OOM** (vLLM)
|
|
230
|
-
- **Ollama-specifikus**: ha a modell még nem `ollama pull`-olt, az endpoint csendben várakozik a pull-ig (lassú first-call)
|
|
231
|
-
- **LocalAI**: model-name mismatch → 422-t dob OAI-szerű error-body-val
|
|
232
|
-
|
|
233
|
-
### Function-calling / tool-use
|
|
234
|
-
- **OpenAI**: teljes function-calling support
|
|
235
|
-
- **Ollama**: model-függő — Llama-3.1+ és Mistral tool-aware modellek igen, kicsi instruct modellek nem
|
|
236
|
-
- **vLLM**: support latest (v0.6+), de chat-template-mappel paraméterezni kell
|
|
237
|
-
- **LM Studio / LocalAI**: parciális, model-függő
|
|
238
|
-
|
|
239
|
-
### Streaming
|
|
240
|
-
Mind a 4 provider támogat OAI-compat SSE streaming-et, **de**:
|
|
241
|
-
- Ollama legacy verziók (< v0.1.20) `stream: false`-cal stabilabb
|
|
242
|
-
- LocalAI streaming-rate alacsonyabb mint a token-emission
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
|
-
## Quick recipe — Dynamo-szintű váltás dev → cloud
|
|
247
|
-
|
|
248
|
-
```typescript
|
|
249
|
-
const isDev: boolean = process.env.NODE_ENV === 'development';
|
|
250
|
-
|
|
251
|
-
const aiSettings: DyFM_OAI_Settings = new DyFM_OAI_Settings({
|
|
252
|
-
config: isDev
|
|
253
|
-
? {
|
|
254
|
-
baseURL: 'http://localhost:11434/v1', // Ollama
|
|
255
|
-
apiKey: 'dev',
|
|
256
|
-
}
|
|
257
|
-
: {
|
|
258
|
-
apiKey: process.env.OPENAI_API_KEY,
|
|
259
|
-
organization: process.env.OPENAI_ORG_ID,
|
|
260
|
-
},
|
|
261
|
-
defaultSettings: new DyFM_OAI_CallSettings({
|
|
262
|
-
useModel: isDev ? 'llama3.2:3b' : 'gpt-4o',
|
|
263
|
-
}),
|
|
264
|
-
});
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
A Dynamo OAI service-ek mindkét beállítással ugyanúgy működnek.
|
|
268
|
-
|
|
269
|
-
---
|
|
270
|
-
|
|
271
|
-
## Hivatkozott source-fájlok
|
|
272
|
-
|
|
273
|
-
| Fájl | Mit ad |
|
|
274
|
-
|---|---|
|
|
275
|
-
| `fsm-dynamo/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts` | `DyFM_OAI_ClientOptions.baseURL` mező |
|
|
276
|
-
| `fsm-dynamo/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts` | `DyFM_OAI_Settings` wrapper |
|
|
277
|
-
| `dynamo-nts/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.ts` | OpenAI SDK instantiation (config átadás) |
|
|
278
|
-
| `dynamo-nts/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.ts` | Embedding endpoint usage |
|
|
279
|
-
|
|
280
|
-
## Backward compatibility
|
|
281
|
-
|
|
282
|
-
A `baseURL` mező mindig is létezett az OpenAI SDK-ban — a Dynamo egyetlen változtatása ehhez a docs-ot tisztázza, nem feature.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# FR-047 — function-calling foundation in dynamo-fsm (2026-06-01)
|
|
2
|
-
|
|
3
|
-
**Parent**: `__agent/feature-requests/FR-047-provider-agnostic-function-calling.md` (+ Phase 1) and `FR-048-per-model-agnostic-settings.md`
|
|
4
|
-
**Versions**: `01.15.17` (Phase 1 + registry), `01.15.18` (adultContent), `01.15.19` (export-bug fix)
|
|
5
|
-
**Scope**: `src/_modules/ai` (agnostic core + provider model submodules), `package.json` (exports)
|
|
6
|
-
|
|
7
|
-
## What
|
|
8
|
-
|
|
9
|
-
The SDK-free agnostic AI core gained the full function-calling vocabulary + a per-model capability registry, plus a reserved per-model settings extension point. No execution logic here — that lives in dynamo-nts (Phase 2+).
|
|
10
|
-
|
|
11
|
-
### 01.15.17 — Phase 1 vocabulary + registry foundation + FR-048 reservation
|
|
12
|
-
- Tool models: `DyFM_AI_Tool`, `DyFM_AI_ToolCall`, `DyFM_AI_ToolResult`, `DyFM_AI_ToolHandler`/`DyFM_AI_ToolHandlers`.
|
|
13
|
-
- `DyFM_AI_Message` + `DyFM_AI_LLM_Response` gained optional tool fields (`toolCalls`, `toolCallId`, `stopReason`); `DyFM_AI_MessageRole.tool` added.
|
|
14
|
-
- `DyFM_AI_ModelType` extended: `Image`, `Audio`.
|
|
15
|
-
- Per-model registry: `DyFM_AI_ModelInfo` + `DyFM_AI_ModelCapabilities` + the 5 provider const arrays (`DyFM_OAI_Models`, `DyFM_AAI_Models`, `DyFM_GAI_Models`, `DyFM_LAI_Models`, `DyFM_FdpAI_Models`) — verified 2026-06-01 against official provider docs.
|
|
16
|
-
- `DyFM_AI_ModelRegistry_Util` (`findModelInfo`, `modelSupportsTools`) — takes the registry array as a param so the agnostic core imports NO provider submodule (keeps it SDK-free).
|
|
17
|
-
- FR-048: `DyFM_AI_ModelSettingsSchema` reserved field on `DyFM_AI_ModelInfo` + thorough docs (per-model settings system; NOT implemented).
|
|
18
|
-
|
|
19
|
-
### 01.15.18 — adultContent capability
|
|
20
|
-
- `DyFM_AI_ModelCapabilities.adultContent: boolean` — can the model generate adult / uncensored / NSFW content. For content-routing + age-gating (e.g. Adventor mature mode). All 21 registered models = `false` (mainstream cloud is content-filtered; local/FdpAI conservative / model-dependent).
|
|
21
|
-
|
|
22
|
-
### 01.15.19 — subpath export-bug fix
|
|
23
|
-
- `package.json` `exports` + `typesVersions`: `./ai/google` and `./ai/local` pointed at non-existent `_modules/ai/_modules/google`/`local` folders; the real folders are `google-ai`/`local-ai`. Fixed the targets → `@futdevpro/fsm-dynamo/ai/google` and `./ai/local` now resolve. Unblocks dynamo-nts Phase 5 (Google).
|
|
24
|
-
|
|
25
|
-
## Why
|
|
26
|
-
|
|
27
|
-
Function calling needed to live in the strategic provider-agnostic layer (not only the legacy OpenAI-specific `FDPNTS_GPT_ControlService`). dynamo-fsm owns the vendor-neutral vocabulary + the model registry; dynamo-nts owns the execution (agent-loop + per-provider translators). This commit set delivers the fsm half so nts can build against it.
|
|
28
|
-
|
|
29
|
-
## Design notes
|
|
30
|
-
|
|
31
|
-
- All changes additive/non-breaking except the export-path fix (corrects a latent resolution bug) and the new required `adultContent` capability (all registry consts updated in the same release).
|
|
32
|
-
- Capability honesty: `functionCalling` (and `adultContent`) are per-model; unknown/local models default conservative (`false`) — never assume capability.
|
|
33
|
-
- Tool-handler runner semantics (never-throw, errors returned as strings to the model) are defined by the type + implemented in dynamo-nts.
|
|
34
|
-
|
|
35
|
-
## Tests
|
|
36
|
-
|
|
37
|
-
`pnpm test` (build-base + jasmine): **1302 specs / 0 failures / 70 pending** across the releases. New: `ai-model-registry.util.spec.ts` (findModelInfo + modelSupportsTools, incl. unknown-id → false).
|
|
38
|
-
|
|
39
|
-
## What's NOT here
|
|
40
|
-
|
|
41
|
-
- The agent-loop + provider translators (`requestWithTools`, `runToolLoop`, OpenAI/Anthropic/Gemini tool translators) — dynamo-nts (FR-047 Phase 2–5).
|
|
42
|
-
- The per-model settings reconciler — FR-048 (reserved only).
|
|
43
|
-
|
|
44
|
-
## Cross-references
|
|
45
|
-
|
|
46
|
-
- `__agent/feature-requests/FR-047-*.md`, `FR-048-per-model-agnostic-settings.md`
|
|
47
|
-
- `fdp-documentations/guidelines/development/ai-per-model-settings.md`
|
|
48
|
-
- dynamo-nts Phase 2+3 (agent-loop + OpenAI translator) — implemented in parallel.
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
# 2026-06-01 — Code Review: FR-047 + FR-048 (provider-agnostic AI vocabulary)
|
|
2
|
-
|
|
3
|
-
## Summary
|
|
4
|
-
|
|
5
|
-
Code review futott a `dynamo-fsm` master branchen az utolsó 3 commit-ra (FR-047 + FR-048) + 1 uncommitted root pipeline-config deletion-re. Az effort-szint **high**: 7 finder angle × ≤6 candidate → 1-vote verify (recall-biased) → top-10 finding.
|
|
6
|
-
|
|
7
|
-
### Scope
|
|
8
|
-
|
|
9
|
-
- **Range**: `HEAD~3..HEAD` (master, no upstream divergence)
|
|
10
|
-
- **Commits**:
|
|
11
|
-
- `08e8859` feat(ai): FR-047 P1 provider-agnostic function-calling vocabulary + per-model registry; FR-048 settings-schema reservation
|
|
12
|
-
- `de1da9b` feat(ai): add adultContent (uncensored/NSFW) per-model capability
|
|
13
|
-
- `6a4ce9c` fix(ai): FR-047 P5 — correct ./ai/google + ./ai/local subpath export targets
|
|
14
|
-
- **Uncommitted**: `pipeline.cicd.config.json` (root) -128 sor delete (dmc migracio takaritas)
|
|
15
|
-
- **Source-diff stat**: 30 fajl, 940 inserciol / 12 deletes (build/ artifact kizarva)
|
|
16
|
-
|
|
17
|
-
### Tool
|
|
18
|
-
|
|
19
|
-
A `/code-review` skill (high effort), local execution. Phase 1 — 7 párhuzamos finder agent (Explore type):
|
|
20
|
-
- **3 correctness angle**: line-by-line scan, removed-behavior auditor, cross-file tracer
|
|
21
|
-
- **3 cleanup angle**: reuse, simplification, efficiency
|
|
22
|
-
- **1 altitude angle**: depth check
|
|
23
|
-
|
|
24
|
-
Phase 2 — 1-vote verifier batch agent (recall-biased), 17 candidate → 16 survivor (1 REFUTED).
|
|
25
|
-
|
|
26
|
-
## Top-10 Finding (ranked most-severe first)
|
|
27
|
-
|
|
28
|
-
A teljes JSON output `__documentations/2026-06-01-fr047-fr048-code-review-findings.json`-ben. Itt a Hunglish summary:
|
|
29
|
-
|
|
30
|
-
### 1. `gptImage_1` enum-entry registry-mentes (CONFIRMED)
|
|
31
|
-
|
|
32
|
-
**Fajl**: `src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts:19`
|
|
33
|
-
|
|
34
|
-
A `DyFM_OAI_Model.gptImage_1 = 'gpt-image-1'` enum-ben szerepel + komment szerint **"current"** (nem deprecated), de a `DyFM_OAI_Models` registry-ben NEM kap entry-t.
|
|
35
|
-
|
|
36
|
-
**Failure scenario**: `modelSupportsTools(DyFM_OAI_Models, DyFM_OAI_Model.gptImage_1)` → false (a util `?? false`-szal default-ol). `findModelInfo` undefined. Az image generation tools-on-keresztul rutalas silent-skip.
|
|
37
|
-
|
|
38
|
-
### 2. `claude_3_5_sonnet_latest` enum + nincs registry (CONFIRMED)
|
|
39
|
-
|
|
40
|
-
**Fajl**: `src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts:11`
|
|
41
|
-
|
|
42
|
-
A `DyFM_AAI_Models` registry csak 3 GA entry-t tartalmaz; a deprecated `claude_3_5_sonnet_latest` az enum-ben van, registry-bol kimaradt.
|
|
43
|
-
|
|
44
|
-
**Failure scenario**: Default `DyFM_AI_CallSettings` ami a `claude_3_5_sonnet_latest`-et hasznalja → `modelSupportsTools` false → tool-calling silent-disable egy meg-mindig-elo API modelen.
|
|
45
|
-
|
|
46
|
-
### 3. `gemini_1_5_pro_latest` enum + nincs registry (CONFIRMED)
|
|
47
|
-
|
|
48
|
-
**Fajl**: `src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts:11`
|
|
49
|
-
|
|
50
|
-
Ugyanaz a minta mint #2 — google oldalon.
|
|
51
|
-
|
|
52
|
-
### 4. `modelSupportsTools` silent-false unknown-ID-ra (CONFIRMED)
|
|
53
|
-
|
|
54
|
-
**Fajl**: `src/_modules/ai/_collections/ai-model-registry.util.ts:27`
|
|
55
|
-
|
|
56
|
-
`Array.find()` → `?? false` minta. Tipo, deprecated, vagy live-but-unregistered model esten → `false` warn/log nelkul.
|
|
57
|
-
|
|
58
|
-
**Failure scenario**: Diagnozis nelkul lehetetlen kideriteni miert nem hivodik a tool-routing. Egy `{ strict: true }` mode vagy `DyFM_Log.warn` flegging hianyzik.
|
|
59
|
-
|
|
60
|
-
### 5. Legacy + active enum-tagok keveredtek (CONFIRMED)
|
|
61
|
-
|
|
62
|
-
**Fajlok**: `aai/gai/oai-model.enum.ts`
|
|
63
|
-
|
|
64
|
-
Csak komment kulonbozteti meg az active es retired model-ID-kat. Az enum public API-jaban mindketto egyformanak latszik. A #1-3 ennek tuneti megnyilvanulasa.
|
|
65
|
-
|
|
66
|
-
**Tervezet fix**: `*-legacy.enum.ts` kulon fajl, vagy minden retired enum-tag mellé `@deprecated` JSDoc tag.
|
|
67
|
-
|
|
68
|
-
### 6. `DyFM_AI_Message.content` required, de tool-calls esetn ures (CONFIRMED)
|
|
69
|
-
|
|
70
|
-
**Fajl**: `src/_modules/ai/_models/ai-message.interface.ts:6`
|
|
71
|
-
|
|
72
|
-
`content: string` (non-optional). Mikor `role='assistant'` + `toolCalls` populalva → a content semantically ures OpenAI/Anthropic/Gemini API-knal.
|
|
73
|
-
|
|
74
|
-
**Failure scenario**: Caller hard-coded `content: ''` workaround minden tool-call message-en; downstream "content empty" validator visszadobhatja a tool-request message-eket.
|
|
75
|
-
|
|
76
|
-
### 7. `settingsSchema` ghost contract (CONFIRMED)
|
|
77
|
-
|
|
78
|
-
**Fajl**: `src/_modules/ai/_models/ai-model-info.interface.ts:37`
|
|
79
|
-
|
|
80
|
-
`settingsSchema?: DyFM_AI_ModelSettingsSchema` reserved minden modelen, de a 21 registry entry kozul EGYIK SEM populalja.
|
|
81
|
-
|
|
82
|
-
**Failure scenario**: Phase 2 (FR-048) reconciler reading `settingsSchema` undefined → "no constraints" semantikat olvas a "constraints not yet modeled" helyett → silent-accept `temperature` parameter Opus 4.7+ hivason → HTTP 400 hard-fail.
|
|
83
|
-
|
|
84
|
-
### 8. `finishReason` vs `stopReason` dual-field (PLAUSIBLE)
|
|
85
|
-
|
|
86
|
-
**Fajl**: `src/_modules/ai/_models/ai-llm-response.interface.ts:16`
|
|
87
|
-
|
|
88
|
-
Mindketto optional. Legacy `finishReason` + new `stopReason`. Doc-mentes melyik az authoritative.
|
|
89
|
-
|
|
90
|
-
**Failure scenario**: Provider translator csak `stopReason`-t populalja → legacy consumer `finishReason === 'tool_use'`-t check-el → condition false → tool flow miss.
|
|
91
|
-
|
|
92
|
-
### 9. Tool-vocab interfaces 0-caller (PLAUSIBLE)
|
|
93
|
-
|
|
94
|
-
**Fajl**: `src/_modules/ai/_models/ai-tool.interface.ts`
|
|
95
|
-
|
|
96
|
-
Uj `DyFM_AI_Tool`, `DyFM_AI_ToolCall`, `DyFM_AI_ToolResult`, `DyFM_AI_ToolHandler` exportalt **dynamo-fsm-bol**, de **ZERO caller** sajat-projekten belul. Az abstrakcio nem validalt.
|
|
97
|
-
|
|
98
|
-
**Failure scenario**: A shape lehet hogy nem fer ra a 5 provider mind-egyikere (OpenAI `type:'function'` wrapper, Anthropic `input_schema`, Gemini `functionDeclarations`). FR-048 mid-flight API redesign-kenyszer.
|
|
99
|
-
|
|
100
|
-
### 10. Root pipeline.cicd.config.json -128 sor (CONFIRMED, uncommitted)
|
|
101
|
-
|
|
102
|
-
**Fajl**: `pipeline.cicd.config.json` (root, delete)
|
|
103
|
-
|
|
104
|
-
A `.dynamo/pipeline.cicd.config.json` fully fedi, DE barmely external workflow / GitHub Actions / script ami hardcoded `./pipeline.cicd.config.json` ref-fel → 404.
|
|
105
|
-
|
|
106
|
-
## Levágott (cleanup-class — kovetkezo iteracio)
|
|
107
|
-
|
|
108
|
-
A skill rule: "Correctness bugs always outrank cleanup and altitude findings when the output cap forces a cut." Ezert a top-10 keret felett kihagyott 6 valid finding:
|
|
109
|
-
|
|
110
|
-
| # | Fajl | Issue |
|
|
111
|
-
|---|---|---|
|
|
112
|
-
| 11 | `src/_modules/ai/index.ts` | No meta-barrel a 5 provider model-registry-re; Phase 2 hardcodes 5 imports |
|
|
113
|
-
| 12 | `ai-model-capabilities.interface.ts` + 5 const-fajl | Capability matrix copy-paste 21 model × 9 mező — N+1 edit kotelezo |
|
|
114
|
-
| 13 | `ai-model-capabilities.interface.ts:31` | `adultContent` policy-flag feature-capabilities matrix-ban; jovobeli policy flags scatterolnek |
|
|
115
|
-
| 14 | `package.json` exports | Naming inconsistency: `anthropic` (no hyphen) vs `open-ai/google-ai/local-ai/fdp-ai` |
|
|
116
|
-
| 15 | `ai-model-registry.util.ts:17` | O(N) `Array.find` registry lookup vs O(1) Map |
|
|
117
|
-
| 16 | Provider `index.ts` (×5) | Tree-shake loss: barrel pulls all 5 const-tables (~519 lines) for single-provider consumer |
|
|
118
|
-
|
|
119
|
-
## REFUTED (1 db)
|
|
120
|
-
|
|
121
|
-
| # | Fajl | Reason |
|
|
122
|
-
|---|---|---|
|
|
123
|
-
| - | `oai-models.const.ts:235` gptImage_2 missing maxOutputTokens | Verified: `maxOutputTokens?` optional a `DyFM_AI_ModelInfo` interface-en, no type-level contract violation, no crash |
|
|
124
|
-
|
|
125
|
-
## Strukturalis tanulsag (kozos pattern a #1-5 mogott)
|
|
126
|
-
|
|
127
|
-
A top-10 elso 5 finding mind UGYANARRA a strukturalis hiba-mintara mutat: **az enum-tagok es a registry-entries nincsenek szinkronban**. Tervezet javitas:
|
|
128
|
-
|
|
129
|
-
**Opció A** (defensive): minden enum-entry-nek legyen registry-entry, deprecated-eket `*-legacy.enum.ts`-be kulonitsd el.
|
|
130
|
-
|
|
131
|
-
**Opció B** (strict-mode): `modelSupportsTools(models, id, { strict: true })` — unknown ID-ra throw vagy `DyFM_Log.warn`.
|
|
132
|
-
|
|
133
|
-
**Opció C** (build-time validation): TS guard-test ami compile-time verifikalja hogy minden enum-tag registry-entry-vel jar.
|
|
134
|
-
|
|
135
|
-
Mind a 3 megoldhato — a #1-5 + #11 (meta-barrel) kombo eseten egy follow-up commit lefedi.
|
|
136
|
-
|
|
137
|
-
## Stat
|
|
138
|
-
|
|
139
|
-
| | |
|
|
140
|
-
|---|---|
|
|
141
|
-
| **Specs** | 1302 spec / 0 failure (TypeScript + jasmine) |
|
|
142
|
-
| **TS compile** | ✓ (0 error) |
|
|
143
|
-
| **Diff scope** | 30 src fajl / 940 ins / 12 del (build/ kizarva) |
|
|
144
|
-
| **Finder agents** | 7 (parallel) |
|
|
145
|
-
| **Verifier agents** | 1 (batch over 17 candidates) |
|
|
146
|
-
| **Output cap** | 10 finding (skill default) |
|
|
147
|
-
| **Time** | ~15 min full pipeline |
|
|
148
|
-
|
|
149
|
-
## Reference
|
|
150
|
-
|
|
151
|
-
- Skill: `code-review` (high effort)
|
|
152
|
-
- Skill instrukciok: 3 correctness + 3 cleanup + 1 altitude angle × ≤6 candidates per angle; 1-vote verify per candidate; recall-biased PLAUSIBLE default; REFUTED only constructible from code
|
|
153
|
-
- Workflow: lokal jasmine `npx jasmine --config=spec/support/jasmine.json` → 1302/0
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# FR-047 P1 — Provider-agnostic function-calling vocabulary + per-model registry (2026-06-01)
|
|
2
|
-
|
|
3
|
-
**Commit**: `08e8859` — v01.15.16 → v01.15.17 (published)
|
|
4
|
-
**Parent**: `__agent/feature-requests/FR-047-phase-1-tool-abstraction.md` (master: `FR-047-provider-agnostic-function-calling.md`)
|
|
5
|
-
**Pattern**: `fdp-documentations/guidelines/development/ai-function-calling.md`
|
|
6
|
-
**Also in this commit**: FR-048 settings-schema reservation (`FR-048-per-model-agnostic-settings.md`)
|
|
7
|
-
|
|
8
|
-
## What
|
|
9
|
-
|
|
10
|
-
Adds the SDK-free, vendor-neutral vocabulary for LLM function calling to `@futdevpro/fsm-dynamo/ai`,
|
|
11
|
-
plus a per-model capability registry. After this, the execution layer (`nts-dynamo`, FR-047 P2+P3)
|
|
12
|
-
can speak one tool shape across providers.
|
|
13
|
-
|
|
14
|
-
## Why
|
|
15
|
-
|
|
16
|
-
Function calling existed ONLY in the legacy OpenAI-only `FDPNTS_GPT_ControlService.getAnswerWithTools`
|
|
17
|
-
(nts-fdp-templates). The strategic provider-agnostic layer had ZERO tool support: `DyFM_AI_Message`
|
|
18
|
-
was `{role,content}`, `DyFM_AI_LLM_Response` had no `toolCalls`, and the `functionCalling` provider-
|
|
19
|
-
capability flag was dead. This commit is the foundation for moving tool use into the strategic layer.
|
|
20
|
-
|
|
21
|
-
## Design
|
|
22
|
-
|
|
23
|
-
### Tool models (`src/_modules/ai/_models/`)
|
|
24
|
-
```ts
|
|
25
|
-
DyFM_AI_Tool // { name, description, parameters: object /* JSON Schema */ }
|
|
26
|
-
DyFM_AI_ToolCall // { id, name, arguments: Record<string,unknown> } (normalized; OpenAI JSON-string parsed at boundary)
|
|
27
|
-
DyFM_AI_ToolResult // { toolCallId, content: string, isError? }
|
|
28
|
-
DyFM_AI_ToolHandler / DyFM_AI_ToolHandlers // lifted from legacy FDPNTS_GPT_ToolHandler(s)
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### Additive extensions (non-breaking, optional fields)
|
|
32
|
-
- `DyFM_AI_Message` + `toolCalls?` (assistant tool-call turn) + `toolCallId?` (tool-result message)
|
|
33
|
-
- `DyFM_AI_LLM_Response` + `toolCalls?` + `stopReason?`
|
|
34
|
-
- `DyFM_AI_MessageRole.tool`
|
|
35
|
-
- `DyFM_AI_ModelType` + `Image`, `Audio`
|
|
36
|
-
|
|
37
|
-
### Per-model registry
|
|
38
|
-
- `DyFM_AI_ModelInfo` (id / provider / modelType / capabilities / contextWindow / maxOutputTokens
|
|
39
|
-
+ lifecycle: status / successorId / sunsetDate + displayName / tier)
|
|
40
|
-
- `DyFM_AI_ModelCapabilities` (functionCalling / vision / streaming / jsonMode / audioInput /
|
|
41
|
-
audioOutput / imageGeneration / embeddings)
|
|
42
|
-
- Per-provider const arrays: `DyFM_OAI_Models`, `DyFM_AAI_Models`, `DyFM_GAI_Models`, `DyFM_LAI_Models`,
|
|
43
|
-
`DyFM_FdpAI_Models` (2026-06 verified data — see `[[reference_ai_provider_model_registry_research]]`)
|
|
44
|
-
- `DyFM_AI_ModelRegistry_Util.findModelInfo(models, id)` / `modelSupportsTools(models, id)` — the
|
|
45
|
-
registry array is **passed in**, so the agnostic `./ai` core imports NO provider submodule
|
|
46
|
-
(keeps it SDK-free). Unknown id → `false` (honesty).
|
|
47
|
-
|
|
48
|
-
### FR-048 reservation (space left, NOT implemented)
|
|
49
|
-
- `DyFM_AI_ModelSettingsSchema` + `DyFM_AI_SettingConstraint` (reserved placeholder)
|
|
50
|
-
- `DyFM_AI_ModelInfo.settingsSchema?` + thorough doc on `DyFM_AI_CallSettings` — the per-model
|
|
51
|
-
"which params does this model accept/reject" system. Sibling of capabilities. See `ai-per-model-settings.md`.
|
|
52
|
-
|
|
53
|
-
## Spec coverage
|
|
54
|
-
|
|
55
|
-
`src/_modules/ai/_collections/ai-model-registry.util.spec.ts` — findModelInfo (known/unknown) +
|
|
56
|
-
modelSupportsTools (tool-capable chat / embedding=false / unknown=false). `pnpm test`: **1302/0** (70 pending).
|
|
57
|
-
|
|
58
|
-
## Optional-SDK discipline
|
|
59
|
-
|
|
60
|
-
The agnostic `./ai` index imports no provider submodule → `import '@futdevpro/fsm-dynamo/ai'` pulls
|
|
61
|
-
zero AI SDKs. Provider model data lives under `./ai/<provider>` subpaths.
|
|
62
|
-
|
|
63
|
-
## What's NOT in this commit
|
|
64
|
-
|
|
65
|
-
- The agent-loop / execution (nts-dynamo P2+P3 — `requestWithTools`).
|
|
66
|
-
- `adultContent` capability (added later, `de1da9b`, v01.15.18).
|
|
67
|
-
- `./ai/google` + `./ai/local` subpath export-bug fix (FR-047 P5, `6a4ce9c`).
|
|
68
|
-
- FR-048 runtime reconciler (reserved only).
|
|
69
|
-
|
|
70
|
-
## Cross-references
|
|
71
|
-
|
|
72
|
-
- `fdp-documentations/guidelines/development/ai-function-calling.md` (pattern)
|
|
73
|
-
- `fdp-documentations/guidelines/development/ai-per-model-settings.md` (FR-048)
|
|
74
|
-
- `NPM-packages/dynamo-nts/__documentations/2026-06-01-fr047-p2p3-function-calling.md` (the consumer)
|
|
75
|
-
- legacy `NPM-packages/fdp-templates-nts/src/_modules/gpt/_services/gpt-handler.control-service.ts`
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# 2026-06-05 — DyFM_SecretMask: url-cred pattern BARMELY scheme-re (+ elso spec)
|
|
2
|
-
|
|
3
|
-
## Problema
|
|
4
|
-
|
|
5
|
-
A `DyFM_SECRET_PATTERNS` `url-cred` pattern-je CSAK `http(s)://user:pass@`-t fogott
|
|
6
|
-
(`/\b(https?:\/\/)([^/\s:@]+):([^\s@]+)@/g`). A `mongodb://user:pass@host` / `postgres://` /
|
|
7
|
-
`redis://` connection-string jelszo — a leggyakoribb DB-secret-leak vektor a CI-logokban, es
|
|
8
|
-
az FDP-stack MongoDB-t hasznal — NEM maszkolodott (runtime-igazolt gap a `fdp pipeline` secret-
|
|
9
|
-
maszkolas bekotesekor).
|
|
10
|
-
|
|
11
|
-
## Fix
|
|
12
|
-
|
|
13
|
-
- A scheme kiszelesitve BARMELY URL-protokollra: `https?` → `[a-z][a-z0-9+.-]*` + `i` flag.
|
|
14
|
-
- A user-resz `+` → `*` (ures user is): a `redis://:password@host` (username nelkuli, csak jelszo)
|
|
15
|
-
valos redis/DB auth-format.
|
|
16
|
-
- A `user:pass@` szerkezet KOTELEZO marad → nincs false-positive: sima URL (`https://h:8080/path`,
|
|
17
|
-
port-tal, de `@` nelkul) NEM matchel; a `mongodb://db:27017/app` (nincs cred) NEM matchel.
|
|
18
|
-
- A `$1` (scheme) + host megorzodik: `mongodb://[redacted-url-cred]@db:27017/app`.
|
|
19
|
-
|
|
20
|
-
Uj regex: `/\b([a-z][a-z0-9+.-]*:\/\/)([^/\s:@]*):([^\s@]+)@/gi`
|
|
21
|
-
|
|
22
|
-
## Test (uj — eddig NEM volt spec a maskerhez)
|
|
23
|
-
|
|
24
|
-
Uj `secret-mask.util.spec.ts` (16 assert):
|
|
25
|
-
- url-cred: http/https/mongodb/postgres/redis + case-insensitive + ures-user;
|
|
26
|
-
no-false-positive (port / cred-less URL);
|
|
27
|
-
- token-regresszio: github-pat + env-style-secret;
|
|
28
|
-
- non-secret: commit-SHA + verzio erintetlen;
|
|
29
|
-
- `DyFM_maskSecretsDeep`: rekurziv string-maszkolas + strukturа-megorzes.
|
|
30
|
-
|
|
31
|
-
`npx tsc` (exit 0) + `npx jasmine`: **1443 specs, 0 failures**, 72 pending.
|
|
32
|
-
|
|
33
|
-
## Consumer
|
|
34
|
-
|
|
35
|
-
Az `fdp-cli` (`pipeline-notify` Discord + `pipeline-report` Overseer-POST) mar hasznalja a
|
|
36
|
-
`DyFM_maskSecrets`/`DyFM_maskSecretsDeep`-et; a broadened url-cred a kovetkezo fsm-dynamo
|
|
37
|
-
dep-bump utan lep eletbe a fleeten (nem fleet-bump-olunk kezzel).
|