@futdevpro/nts-dynamo 1.15.2 → 1.15.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/.cursor/rules/__assistant_guide.mdc +30 -0
  2. package/.cursor/rules/__main.mdc +62 -0
  3. package/.cursor/rules/_ag_backend-structure.mdc +86 -0
  4. package/.cursor/rules/_ag_backend.mdc +16 -0
  5. package/.cursor/rules/_ag_debug.mdc +8 -0
  6. package/.cursor/rules/_ag_documentation_writing_rules.mdc +372 -0
  7. package/.cursor/rules/_ag_file-refactoring.mdc +113 -0
  8. package/.cursor/rules/_ag_fixes_rules.mdc +6 -0
  9. package/.cursor/rules/_ag_frontend-structure.mdc +87 -0
  10. package/.cursor/rules/_ag_frontend.mdc +40 -0
  11. package/.cursor/rules/_ag_import-rules.mdc +45 -0
  12. package/.cursor/rules/_ag_naming.mdc +116 -0
  13. package/.cursor/rules/_ag_running_commands.mdc +5 -0
  14. package/.cursor/rules/_ag_server-controller.mdc +6 -0
  15. package/.cursor/rules/_ag_should-be.mdc +7 -0
  16. package/.cursor/rules/_ag_swearing.mdc +47 -0
  17. package/.cursor/rules/ai_development_guide.md +61 -0
  18. package/.cursor/rules/ai_directives.md +114 -0
  19. package/.cursor/rules/cursor-rules.md +160 -0
  20. package/.cursor/rules/default-command.mdc +229 -0
  21. package/.cursor/rules/error_code_pattern.md +40 -0
  22. package/.cursor/rules/saved rule mcp server use.md +16 -0
  23. package/build/_modules/custom-data/custom-data.controller.d.ts.map +1 -1
  24. package/build/_modules/custom-data/custom-data.controller.js +1 -2
  25. package/build/_modules/custom-data/custom-data.controller.js.map +1 -1
  26. package/build/_services/core/api.service.d.ts.map +1 -1
  27. package/build/_services/core/api.service.js +1 -0
  28. package/build/_services/core/api.service.js.map +1 -1
  29. package/package.json +5 -4
  30. package/scripts/run-coverage-tests.js +5 -1
  31. package/spec/support/helpers/spec-reporter-loader.js +359 -0
  32. package/spec/support/helpers/ts-node-helper.js +84 -0
  33. package/spec/support/jasmine.coverage.json +2 -1
  34. package/spec/support/jasmine.json +3 -3
  35. package/src/_collections/archive.util.spec.ts +36 -0
  36. package/src/_collections/get-environment-settings.util.spec.ts +210 -0
  37. package/src/_collections/star.controller.spec.ts +224 -0
  38. package/src/_models/control-models/api-call-params.control-model.spec.ts +62 -3
  39. package/src/_models/control-models/app-ext-system-controls.control-model.spec.ts +52 -0
  40. package/src/_models/control-models/app-params.control-model.spec.ts +158 -2
  41. package/src/_models/control-models/endpoint-params.control-model.spec.ts +578 -0
  42. package/src/_modules/ai/_modules/document-ai/_collections/dai-chunking.util.spec.ts +242 -0
  43. package/src/_modules/ai/_modules/document-ai/_collections/dai-document.util.spec.ts +209 -0
  44. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-document.data-service.spec.ts +342 -0
  45. package/src/_modules/ai/_modules/open-ai/_services/data-services/oai-vector-data.service.spec.ts +550 -0
  46. package/src/_modules/ai/_modules/open-ai/_services/oai-embedding.control-service.spec.ts +240 -0
  47. package/src/_modules/ai/_modules/open-ai/_services/oai-llm-chat.service-base.spec.ts +462 -0
  48. package/src/_modules/ai/_modules/open-ai/_services/oai-llm.service-base.spec.ts +437 -0
  49. package/src/_modules/ai/_services/ai-embedding.service-base.spec.ts +98 -0
  50. package/src/_modules/ai/_services/ai-llm-chat.service-base.spec.ts +229 -0
  51. package/src/_modules/ai/_services/ai-llm.service-base.spec.ts +250 -0
  52. package/src/_modules/ai/_services/ai-provider.service-base.spec.ts +79 -0
  53. package/src/_modules/assistant/_collections/ass.util.spec.ts +176 -0
  54. package/src/_modules/assistant/_services/ass-io.control-service.spec.ts +140 -0
  55. package/src/_modules/assistant/_services/ass-main.control-service.spec.ts +192 -0
  56. package/src/_modules/bot/_modules/discord-bot/_services/dib-messaging-provider.control-service.spec.ts +431 -0
  57. package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.spec.ts +160 -0
  58. package/src/_modules/bot/_modules/dynamo-bot/_services/dyb-messaging-provider.control-service.spec.ts +374 -0
  59. package/src/_modules/bot/_modules/slack-bot/_services/slb-messaging-provider.control-service.spec.ts +344 -0
  60. package/src/_modules/bot/_modules/teams-bot/_services/teb-messaging-provider.control-service.spec.ts +345 -0
  61. package/src/_modules/bot/_services/bot-commands.control-service.spec.ts +116 -0
  62. package/src/_modules/bot/_services/bot-io.control-service.spec.ts +285 -0
  63. package/src/_modules/bot/_services/bot-main.control-service.spec.ts +208 -0
  64. package/src/_modules/bot/_services/bot-messaging-provider.service-base.spec.ts +349 -0
  65. package/src/_modules/bot/_services/bot-routines.control-service.spec.ts +111 -0
  66. package/src/_modules/custom-data/custom-data.controller.spec.ts +49 -0
  67. package/src/_modules/custom-data/custom-data.controller.ts +1 -3
  68. package/src/_modules/custom-data/custom-data.data-service.spec.ts +54 -0
  69. package/src/_modules/custom-data/get-custom-data-routing-module.util.spec.ts +28 -0
  70. package/src/_modules/defaults/_services/default-auth.service.spec.ts +269 -0
  71. package/src/_modules/defaults/_services/default-socket-events.service.spec.ts +42 -0
  72. package/src/_modules/defaults/_services/default-user.data-service.spec.ts +187 -0
  73. package/src/_modules/discord-assistant/_collections/dias.util.spec.ts +366 -0
  74. package/src/_modules/discord-assistant/_services/dias-io.control-service.spec.ts +108 -0
  75. package/src/_modules/discord-assistant/_services/dias-main.control-service.spec.ts +22 -0
  76. package/src/_modules/discord-assistant/_services/dias.service-base.spec.ts +195 -0
  77. package/src/_modules/discord-assistant-voiced/_services/dias-discord-bot.control-service.spec.ts +34 -0
  78. package/src/_modules/discord-bot/_collections/dibo-operations.util.spec.ts +214 -0
  79. package/src/_modules/discord-bot/_services/dibo-commands.control-service.spec.ts +154 -0
  80. package/src/_modules/discord-bot/_services/dibo-io.control-service.spec.ts +264 -0
  81. package/src/_modules/discord-bot/_services/dibo-main.control-service.spec.ts +408 -0
  82. package/src/_modules/discord-bot/_services/dibo-routines.control-service.spec.ts +105 -0
  83. package/src/_modules/local-vector-search/_services/lvs-doc-chunk-data.service.spec.ts +418 -0
  84. package/src/_modules/local-vector-search/_services/lvs-local-vector-search.data-service.spec.ts +345 -0
  85. package/src/_modules/messaging/_collections/msg.util.spec.ts +226 -0
  86. package/src/_modules/messaging/_services/msg-events.service.spec.ts +219 -0
  87. package/src/_modules/messaging/_services/msg-main.control-service.spec.ts +147 -0
  88. package/src/_modules/messaging/_services/msg.controller.spec.ts +201 -0
  89. package/src/_modules/mock/data-model.mock.spec.ts +27 -24
  90. package/src/_modules/oauth2/_routes/oauth2.controller.spec.ts +107 -0
  91. package/src/_modules/oauth2/_services/oauth2.auth-service.spec.ts +254 -0
  92. package/src/_modules/oauth2/_services/oauth2.control-service.spec.ts +585 -0
  93. package/src/_modules/server/errors/errors.control-service.spec.ts +230 -0
  94. package/src/_modules/server/errors/errors.controller.spec.ts +165 -0
  95. package/src/_modules/server/errors/errors.data-service.spec.ts +355 -0
  96. package/src/_modules/server/server-status/server-status-snapshot.control-service.spec.ts +70 -0
  97. package/src/_modules/server/server-status/server-status-snapshot.data-service.spec.ts +77 -0
  98. package/src/_modules/server/server-status/server-status.control-service.spec.ts +516 -0
  99. package/src/_modules/server/server-status/server-status.controller.spec.ts +156 -0
  100. package/src/_modules/socket/_models/socket-client-service-params.control-model.spec.ts +6 -3
  101. package/src/_modules/socket/_models/socket-presence.control-model.spec.ts +164 -0
  102. package/src/_modules/socket/_services/socket-client.service.spec.ts +15 -0
  103. package/src/_modules/test/get-test-routing-module.util.spec.ts +28 -0
  104. package/src/_modules/test/test.controller.spec.ts +72 -0
  105. package/src/_modules/usage/usage.controller.spec.ts +81 -0
  106. package/src/_modules/usage/usage.data-service.spec.ts +332 -0
  107. package/src/_services/base/api.service-base.spec.ts +125 -0
  108. package/src/_services/base/archive-data.service.spec.ts +196 -0
  109. package/src/_services/base/data.service.spec.ts +493 -0
  110. package/src/_services/base/db.service.spec.ts +59 -18
  111. package/src/_services/base/singleton.service-base.spec.ts +28 -0
  112. package/src/_services/base/singleton.service.spec.ts +114 -0
  113. package/src/_services/core/api.service.ts +1 -0
  114. package/src/_services/core/auth.service.spec.ts +159 -0
  115. package/src/_services/core/email.service.spec.ts +14 -22
  116. package/src/_services/core/global.service.spec.ts +275 -0
  117. package/src/_services/core/service-collection.service.spec.ts +46 -0
  118. package/src/_services/route/routing-module.service.spec.ts +8 -6
  119. package/src/_services/shared.static-service.spec.ts +89 -0
  120. package/src/_modules/socket/app-extended.server.spec.ts +0 -227
  121. package/src/_services/server/app.server.spec.ts +0 -138
@@ -1,14 +1,40 @@
1
1
 
2
2
  import { DyNTS_App_Params } from './app-params.control-model';
3
+ import { DyNTS_global_settings } from '../../_collections/global-settings.const';
4
+ import { DyFM_EnvironmentFlag } from '@futdevpro/fsm-dynamo';
3
5
 
4
6
  describe('| DyNTS_App_Params', () => {
7
+ let originalEnv: any;
8
+
9
+ // Ensure env_settings exists before tests
10
+ beforeAll(() => {
11
+ if (!DyNTS_global_settings.env_settings) {
12
+ (DyNTS_global_settings as any).env_settings = {
13
+ environment: DyFM_EnvironmentFlag.local,
14
+ discord: {},
15
+ mongoUri: undefined,
16
+ openAi: {},
17
+ };
18
+ }
19
+ });
20
+
21
+ beforeEach(() => {
22
+ originalEnv = DyNTS_global_settings.env_settings?.environment;
23
+ DyNTS_global_settings.env_settings.environment = DyFM_EnvironmentFlag.local;
24
+ });
25
+
26
+ afterEach(() => {
27
+ if (DyNTS_global_settings.env_settings) {
28
+ DyNTS_global_settings.env_settings.environment = originalEnv;
29
+ }
30
+ });
5
31
  it('| should initialize with provided values', () => {
6
32
  const params: DyNTS_App_Params = {
7
33
  name: 'TestApp',
8
34
  title: 'Test Application',
9
35
  version: '1.0.0',
10
36
  dbName: 'testdb',
11
- dbUri: 'mongodb://0.0.0.0:27017/testdb',
37
+ dbUri: 'mongodb://0.0.0.0:29017/testdb',
12
38
  systemName: 'Test-App',
13
39
  systemShortCodeName: 'TA'
14
40
  };
@@ -19,12 +45,14 @@ describe('| DyNTS_App_Params', () => {
19
45
  expect(appParams.title).toBe('Test Application');
20
46
  expect(appParams.version).toBe('1.0.0');
21
47
  expect(appParams.dbName).toBe('testdb');
22
- expect(appParams.dbUri).toBe('mongodb://0.0.0.0:27017/testdb');
48
+ expect(appParams.dbUri).toBe('mongodb://0.0.0.0:29017/testdb');
23
49
  expect(appParams.systemName).toBe('Test-App');
24
50
  expect(appParams.systemShortCodeName).toBe('TA_LOCAL');
25
51
  });
26
52
 
27
53
  it('| should set default values when optional parameters are not provided', () => {
54
+ (DyNTS_global_settings.env_settings as any).mongoUri = undefined;
55
+
28
56
  const params: DyNTS_App_Params = {
29
57
  name: 'TestApp',
30
58
  version: '1.0.0',
@@ -66,4 +94,132 @@ describe('| DyNTS_App_Params', () => {
66
94
 
67
95
  expect(appParams.systemName).toBe('Test-Application');
68
96
  });
97
+
98
+ it('| should generate dbUri from global mongoUri when dbUri is not provided', () => {
99
+ // This test assumes global settings have mongoUri set
100
+ const params: DyNTS_App_Params = {
101
+ name: 'TestApp',
102
+ version: '1.0.0',
103
+ dbName: 'testdb',
104
+ };
105
+
106
+ const appParams = new DyNTS_App_Params(params);
107
+
108
+ expect(appParams.dbUri).toBeDefined();
109
+ expect(appParams.dbName).toBe('testdb');
110
+ });
111
+
112
+ it('| should use provided dbUri when set', () => {
113
+ const params: DyNTS_App_Params = {
114
+ name: 'TestApp',
115
+ version: '1.0.0',
116
+ dbName: 'testdb',
117
+ dbUri: 'mongodb://custom:27017/testdb',
118
+ };
119
+
120
+ const appParams = new DyNTS_App_Params(params);
121
+
122
+ expect(appParams.dbUri).toBe('mongodb://custom:27017/testdb');
123
+ });
124
+
125
+ it('| should set default dbOptions when not provided', () => {
126
+ const params: DyNTS_App_Params = {
127
+ name: 'TestApp',
128
+ version: '1.0.0',
129
+ dbName: 'testdb',
130
+ };
131
+
132
+ const appParams = new DyNTS_App_Params(params);
133
+
134
+ expect(appParams.dbOptions).toBeDefined();
135
+ expect(appParams.dbOptions?.directConnection).toBe(true);
136
+ });
137
+
138
+ it('| should use provided dbOptions', () => {
139
+ const customOptions = {
140
+ directConnection: false,
141
+ maxPoolSize: 10,
142
+ };
143
+
144
+ const params: DyNTS_App_Params = {
145
+ name: 'TestApp',
146
+ version: '1.0.0',
147
+ dbName: 'testdb',
148
+ dbOptions: customOptions,
149
+ };
150
+
151
+ const appParams = new DyNTS_App_Params(params);
152
+
153
+ expect(appParams.dbOptions).toEqual(customOptions);
154
+ });
155
+
156
+ it('| should set default openHost and secureHost', () => {
157
+ const params: DyNTS_App_Params = {
158
+ name: 'TestApp',
159
+ version: '1.0.0',
160
+ dbName: 'testdb',
161
+ };
162
+
163
+ const appParams = new DyNTS_App_Params(params);
164
+
165
+ expect(appParams.openHost).toBe('0.0.0.0');
166
+ expect(appParams.secureHost).toBe('0.0.0.0');
167
+ });
168
+
169
+ it('| should set default expressBacklog', () => {
170
+ const params: DyNTS_App_Params = {
171
+ name: 'TestApp',
172
+ version: '1.0.0',
173
+ dbName: 'testdb',
174
+ };
175
+
176
+ const appParams = new DyNTS_App_Params(params);
177
+
178
+ expect(appParams.expressBacklog).toBe(0);
179
+ });
180
+
181
+ it('| should log error when dbName is not set', () => {
182
+ const { DyFM_Log } = require('@futdevpro/fsm-dynamo');
183
+ const logSpy = spyOn(DyFM_Log, 'error');
184
+
185
+ const params: DyNTS_App_Params = {
186
+ name: 'TestApp',
187
+ version: '1.0.0',
188
+ } as any;
189
+
190
+ new DyNTS_App_Params(params);
191
+
192
+ expect(logSpy).toHaveBeenCalled();
193
+ });
194
+
195
+ it('| should log warning when dbName contains uppercase letters', () => {
196
+ const { DyFM_Log } = require('@futdevpro/fsm-dynamo');
197
+ const logSpy = spyOn(DyFM_Log, 'warn');
198
+
199
+ const params: DyNTS_App_Params = {
200
+ name: 'TestApp',
201
+ version: '1.0.0',
202
+ dbName: 'TestDB',
203
+ };
204
+
205
+ new DyNTS_App_Params(params);
206
+
207
+ expect(logSpy).toHaveBeenCalled();
208
+ });
209
+
210
+ it('| should log warning when dbUri contains multiple //', () => {
211
+ const { DyFM_Log } = require('@futdevpro/fsm-dynamo');
212
+ const logSpy = spyOn(DyFM_Log, 'warn');
213
+
214
+ const params: DyNTS_App_Params = {
215
+ name: 'TestApp',
216
+ version: '1.0.0',
217
+ dbName: 'testdb',
218
+ dbUri: 'mongodb://localhost:27017//testdb',
219
+ };
220
+
221
+ new DyNTS_App_Params(params);
222
+
223
+ expect(logSpy).toHaveBeenCalled();
224
+ });
69
225
  });