@memberjunction/server 3.4.0 → 4.0.0

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 (277) hide show
  1. package/dist/agents/skip-agent.d.ts +65 -0
  2. package/dist/agents/skip-agent.d.ts.map +1 -1
  3. package/dist/agents/skip-agent.js +63 -5
  4. package/dist/agents/skip-agent.js.map +1 -1
  5. package/dist/agents/skip-sdk.d.ts +163 -0
  6. package/dist/agents/skip-sdk.d.ts.map +1 -1
  7. package/dist/agents/skip-sdk.js +143 -12
  8. package/dist/agents/skip-sdk.js.map +1 -1
  9. package/dist/apolloServer/TransactionPlugin.d.ts +4 -0
  10. package/dist/apolloServer/TransactionPlugin.d.ts.map +1 -0
  11. package/dist/apolloServer/TransactionPlugin.js +46 -0
  12. package/dist/apolloServer/TransactionPlugin.js.map +1 -0
  13. package/dist/apolloServer/index.d.ts +0 -1
  14. package/dist/apolloServer/index.d.ts.map +1 -1
  15. package/dist/auth/APIKeyScopeAuth.d.ts +82 -0
  16. package/dist/auth/APIKeyScopeAuth.d.ts.map +1 -1
  17. package/dist/auth/APIKeyScopeAuth.js +78 -0
  18. package/dist/auth/APIKeyScopeAuth.js.map +1 -1
  19. package/dist/auth/AuthProviderFactory.d.ts +35 -0
  20. package/dist/auth/AuthProviderFactory.d.ts.map +1 -1
  21. package/dist/auth/AuthProviderFactory.js +51 -4
  22. package/dist/auth/AuthProviderFactory.js.map +1 -1
  23. package/dist/auth/BaseAuthProvider.d.ts +21 -0
  24. package/dist/auth/BaseAuthProvider.d.ts.map +1 -1
  25. package/dist/auth/BaseAuthProvider.js +24 -9
  26. package/dist/auth/BaseAuthProvider.js.map +1 -1
  27. package/dist/auth/IAuthProvider.d.ts +32 -0
  28. package/dist/auth/IAuthProvider.d.ts.map +1 -1
  29. package/dist/auth/__tests__/backward-compatibility.test.d.ts +2 -0
  30. package/dist/auth/__tests__/backward-compatibility.test.d.ts.map +1 -0
  31. package/dist/auth/__tests__/backward-compatibility.test.js +135 -0
  32. package/dist/auth/__tests__/backward-compatibility.test.js.map +1 -0
  33. package/dist/auth/exampleNewUserSubClass.d.ts +5 -1
  34. package/dist/auth/exampleNewUserSubClass.d.ts.map +1 -1
  35. package/dist/auth/exampleNewUserSubClass.js +21 -6
  36. package/dist/auth/exampleNewUserSubClass.js.map +1 -1
  37. package/dist/auth/index.d.ts +14 -0
  38. package/dist/auth/index.d.ts.map +1 -1
  39. package/dist/auth/index.js +35 -22
  40. package/dist/auth/index.js.map +1 -1
  41. package/dist/auth/initializeProviders.d.ts +3 -0
  42. package/dist/auth/initializeProviders.d.ts.map +1 -1
  43. package/dist/auth/initializeProviders.js +6 -0
  44. package/dist/auth/initializeProviders.js.map +1 -1
  45. package/dist/auth/newUsers.js +11 -2
  46. package/dist/auth/newUsers.js.map +1 -1
  47. package/dist/auth/providers/Auth0Provider.d.ts +9 -0
  48. package/dist/auth/providers/Auth0Provider.d.ts.map +1 -1
  49. package/dist/auth/providers/Auth0Provider.js +10 -0
  50. package/dist/auth/providers/Auth0Provider.js.map +1 -1
  51. package/dist/auth/providers/CognitoProvider.d.ts +9 -0
  52. package/dist/auth/providers/CognitoProvider.d.ts.map +1 -1
  53. package/dist/auth/providers/CognitoProvider.js +10 -0
  54. package/dist/auth/providers/CognitoProvider.js.map +1 -1
  55. package/dist/auth/providers/GoogleProvider.d.ts +9 -0
  56. package/dist/auth/providers/GoogleProvider.d.ts.map +1 -1
  57. package/dist/auth/providers/GoogleProvider.js +11 -1
  58. package/dist/auth/providers/GoogleProvider.js.map +1 -1
  59. package/dist/auth/providers/MSALProvider.d.ts +9 -0
  60. package/dist/auth/providers/MSALProvider.d.ts.map +1 -1
  61. package/dist/auth/providers/MSALProvider.js +10 -0
  62. package/dist/auth/providers/MSALProvider.js.map +1 -1
  63. package/dist/auth/providers/OktaProvider.d.ts +9 -0
  64. package/dist/auth/providers/OktaProvider.d.ts.map +1 -1
  65. package/dist/auth/providers/OktaProvider.js +10 -0
  66. package/dist/auth/providers/OktaProvider.js.map +1 -1
  67. package/dist/config.d.ts +12 -0
  68. package/dist/config.d.ts.map +1 -1
  69. package/dist/config.js +42 -8
  70. package/dist/config.js.map +1 -1
  71. package/dist/context.d.ts +8 -1
  72. package/dist/context.d.ts.map +1 -1
  73. package/dist/context.js +26 -4
  74. package/dist/context.js.map +1 -1
  75. package/dist/directives/Public.js +2 -0
  76. package/dist/directives/Public.js.map +1 -1
  77. package/dist/entitySubclasses/entityPermissions.server.d.ts +7 -2
  78. package/dist/entitySubclasses/entityPermissions.server.d.ts.map +1 -1
  79. package/dist/entitySubclasses/entityPermissions.server.js +26 -8
  80. package/dist/entitySubclasses/entityPermissions.server.js.map +1 -1
  81. package/dist/generated/generated.d.ts +529 -6
  82. package/dist/generated/generated.d.ts.map +1 -1
  83. package/dist/generated/generated.js +10054 -15076
  84. package/dist/generated/generated.js.map +1 -1
  85. package/dist/generic/DeleteOptionsInput.d.ts +3 -0
  86. package/dist/generic/DeleteOptionsInput.d.ts.map +1 -1
  87. package/dist/generic/DeleteOptionsInput.js +3 -2
  88. package/dist/generic/DeleteOptionsInput.js.map +1 -1
  89. package/dist/generic/KeyInputOutputTypes.js +0 -6
  90. package/dist/generic/KeyInputOutputTypes.js.map +1 -1
  91. package/dist/generic/KeyValuePairInput.d.ts +4 -0
  92. package/dist/generic/KeyValuePairInput.d.ts.map +1 -1
  93. package/dist/generic/KeyValuePairInput.js +4 -2
  94. package/dist/generic/KeyValuePairInput.js.map +1 -1
  95. package/dist/generic/PushStatusResolver.js +0 -3
  96. package/dist/generic/PushStatusResolver.js.map +1 -1
  97. package/dist/generic/ResolverBase.d.ts +58 -0
  98. package/dist/generic/ResolverBase.d.ts.map +1 -1
  99. package/dist/generic/ResolverBase.js +203 -18
  100. package/dist/generic/ResolverBase.js.map +1 -1
  101. package/dist/generic/RunViewResolver.d.ts +22 -0
  102. package/dist/generic/RunViewResolver.d.ts.map +1 -1
  103. package/dist/generic/RunViewResolver.js +42 -108
  104. package/dist/generic/RunViewResolver.js.map +1 -1
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +82 -37
  107. package/dist/index.js.map +1 -1
  108. package/dist/orm.d.ts.map +1 -1
  109. package/dist/orm.js +2 -1
  110. package/dist/orm.js.map +1 -1
  111. package/dist/resolvers/APIKeyResolver.d.ts +74 -0
  112. package/dist/resolvers/APIKeyResolver.d.ts.map +1 -1
  113. package/dist/resolvers/APIKeyResolver.js +49 -10
  114. package/dist/resolvers/APIKeyResolver.js.map +1 -1
  115. package/dist/resolvers/ActionResolver.d.ts +189 -0
  116. package/dist/resolvers/ActionResolver.d.ts.map +1 -1
  117. package/dist/resolvers/ActionResolver.js +152 -21
  118. package/dist/resolvers/ActionResolver.js.map +1 -1
  119. package/dist/resolvers/AskSkipResolver.d.ts +123 -0
  120. package/dist/resolvers/AskSkipResolver.d.ts.map +1 -0
  121. package/dist/resolvers/AskSkipResolver.js +1788 -0
  122. package/dist/resolvers/AskSkipResolver.js.map +1 -0
  123. package/dist/resolvers/ColorResolver.js +0 -5
  124. package/dist/resolvers/ColorResolver.js.map +1 -1
  125. package/dist/resolvers/ComponentRegistryResolver.d.ts +65 -0
  126. package/dist/resolvers/ComponentRegistryResolver.d.ts.map +1 -1
  127. package/dist/resolvers/ComponentRegistryResolver.js +118 -40
  128. package/dist/resolvers/ComponentRegistryResolver.js.map +1 -1
  129. package/dist/resolvers/CreateQueryResolver.d.ts +47 -0
  130. package/dist/resolvers/CreateQueryResolver.d.ts.map +1 -1
  131. package/dist/resolvers/CreateQueryResolver.js +92 -116
  132. package/dist/resolvers/CreateQueryResolver.js.map +1 -1
  133. package/dist/resolvers/DatasetResolver.js +2 -14
  134. package/dist/resolvers/DatasetResolver.js.map +1 -1
  135. package/dist/resolvers/EntityCommunicationsResolver.d.ts +40 -0
  136. package/dist/resolvers/EntityCommunicationsResolver.d.ts.map +1 -1
  137. package/dist/resolvers/EntityCommunicationsResolver.js +2 -36
  138. package/dist/resolvers/EntityCommunicationsResolver.js.map +1 -1
  139. package/dist/resolvers/EntityRecordNameResolver.js +0 -7
  140. package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
  141. package/dist/resolvers/FileCategoryResolver.js +13 -1
  142. package/dist/resolvers/FileCategoryResolver.js.map +1 -1
  143. package/dist/resolvers/FileResolver.d.ts +16 -0
  144. package/dist/resolvers/FileResolver.d.ts.map +1 -1
  145. package/dist/resolvers/FileResolver.js +59 -74
  146. package/dist/resolvers/FileResolver.js.map +1 -1
  147. package/dist/resolvers/GetDataContextDataResolver.d.ts +18 -1
  148. package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
  149. package/dist/resolvers/GetDataContextDataResolver.js +17 -9
  150. package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
  151. package/dist/resolvers/GetDataResolver.d.ts +19 -0
  152. package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
  153. package/dist/resolvers/GetDataResolver.js +35 -35
  154. package/dist/resolvers/GetDataResolver.js.map +1 -1
  155. package/dist/resolvers/InfoResolver.d.ts.map +1 -1
  156. package/dist/resolvers/InfoResolver.js +4 -7
  157. package/dist/resolvers/InfoResolver.js.map +1 -1
  158. package/dist/resolvers/MCPResolver.d.ts +325 -1
  159. package/dist/resolvers/MCPResolver.d.ts.map +1 -1
  160. package/dist/resolvers/MCPResolver.js +931 -24
  161. package/dist/resolvers/MCPResolver.js.map +1 -1
  162. package/dist/resolvers/MergeRecordsResolver.js +3 -29
  163. package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
  164. package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts.map +1 -1
  165. package/dist/resolvers/PotentialDuplicateRecordResolver.js +0 -3
  166. package/dist/resolvers/PotentialDuplicateRecordResolver.js.map +1 -1
  167. package/dist/resolvers/QueryResolver.d.ts +20 -0
  168. package/dist/resolvers/QueryResolver.d.ts.map +1 -1
  169. package/dist/resolvers/QueryResolver.js +44 -36
  170. package/dist/resolvers/QueryResolver.js.map +1 -1
  171. package/dist/resolvers/ReportResolver.d.ts +3 -0
  172. package/dist/resolvers/ReportResolver.d.ts.map +1 -1
  173. package/dist/resolvers/ReportResolver.js +9 -10
  174. package/dist/resolvers/ReportResolver.js.map +1 -1
  175. package/dist/resolvers/RunAIAgentResolver.d.ts +54 -0
  176. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  177. package/dist/resolvers/RunAIAgentResolver.js +116 -40
  178. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  179. package/dist/resolvers/RunAIPromptResolver.d.ts +42 -0
  180. package/dist/resolvers/RunAIPromptResolver.d.ts.map +1 -1
  181. package/dist/resolvers/RunAIPromptResolver.js +95 -22
  182. package/dist/resolvers/RunAIPromptResolver.js.map +1 -1
  183. package/dist/resolvers/RunTemplateResolver.js +9 -6
  184. package/dist/resolvers/RunTemplateResolver.js.map +1 -1
  185. package/dist/resolvers/RunTestResolver.d.ts +12 -0
  186. package/dist/resolvers/RunTestResolver.d.ts.map +1 -1
  187. package/dist/resolvers/RunTestResolver.js +35 -21
  188. package/dist/resolvers/RunTestResolver.js.map +1 -1
  189. package/dist/resolvers/SqlLoggingConfigResolver.d.ts +312 -0
  190. package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
  191. package/dist/resolvers/SqlLoggingConfigResolver.js +295 -45
  192. package/dist/resolvers/SqlLoggingConfigResolver.js.map +1 -1
  193. package/dist/resolvers/SyncDataResolver.d.ts +21 -0
  194. package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
  195. package/dist/resolvers/SyncDataResolver.js +36 -22
  196. package/dist/resolvers/SyncDataResolver.js.map +1 -1
  197. package/dist/resolvers/SyncRolesUsersResolver.d.ts +14 -0
  198. package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
  199. package/dist/resolvers/SyncRolesUsersResolver.js +54 -21
  200. package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
  201. package/dist/resolvers/TaskResolver.d.ts +13 -0
  202. package/dist/resolvers/TaskResolver.d.ts.map +1 -1
  203. package/dist/resolvers/TaskResolver.js +22 -7
  204. package/dist/resolvers/TaskResolver.js.map +1 -1
  205. package/dist/resolvers/TelemetryResolver.d.ts +22 -0
  206. package/dist/resolvers/TelemetryResolver.d.ts.map +1 -1
  207. package/dist/resolvers/TelemetryResolver.js +45 -79
  208. package/dist/resolvers/TelemetryResolver.js.map +1 -1
  209. package/dist/resolvers/TransactionGroupResolver.js +11 -13
  210. package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
  211. package/dist/resolvers/UserFavoriteResolver.js +3 -12
  212. package/dist/resolvers/UserFavoriteResolver.js.map +1 -1
  213. package/dist/resolvers/UserResolver.js +10 -0
  214. package/dist/resolvers/UserResolver.js.map +1 -1
  215. package/dist/resolvers/UserViewResolver.js +4 -0
  216. package/dist/resolvers/UserViewResolver.js.map +1 -1
  217. package/dist/resolvers/VersionHistoryResolver.d.ts +39 -0
  218. package/dist/resolvers/VersionHistoryResolver.d.ts.map +1 -0
  219. package/dist/resolvers/VersionHistoryResolver.js +208 -0
  220. package/dist/resolvers/VersionHistoryResolver.js.map +1 -0
  221. package/dist/rest/EntityCRUDHandler.d.ts +19 -0
  222. package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
  223. package/dist/rest/EntityCRUDHandler.js +55 -0
  224. package/dist/rest/EntityCRUDHandler.js.map +1 -1
  225. package/dist/rest/OAuthCallbackHandler.d.ts +143 -0
  226. package/dist/rest/OAuthCallbackHandler.d.ts.map +1 -0
  227. package/dist/rest/OAuthCallbackHandler.js +634 -0
  228. package/dist/rest/OAuthCallbackHandler.js.map +1 -0
  229. package/dist/rest/RESTEndpointHandler.d.ts +120 -0
  230. package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
  231. package/dist/rest/RESTEndpointHandler.js +213 -24
  232. package/dist/rest/RESTEndpointHandler.js.map +1 -1
  233. package/dist/rest/ViewOperationsHandler.d.ts +19 -0
  234. package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
  235. package/dist/rest/ViewOperationsHandler.js +39 -0
  236. package/dist/rest/ViewOperationsHandler.js.map +1 -1
  237. package/dist/rest/index.d.ts +1 -0
  238. package/dist/rest/index.d.ts.map +1 -1
  239. package/dist/rest/index.js +1 -0
  240. package/dist/rest/index.js.map +1 -1
  241. package/dist/rest/setupRESTEndpoints.d.ts +35 -0
  242. package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
  243. package/dist/rest/setupRESTEndpoints.js +15 -1
  244. package/dist/rest/setupRESTEndpoints.js.map +1 -1
  245. package/dist/scheduler/LearningCycleScheduler.d.ts +4 -0
  246. package/dist/scheduler/LearningCycleScheduler.d.ts.map +1 -0
  247. package/dist/scheduler/LearningCycleScheduler.js +4 -0
  248. package/dist/scheduler/LearningCycleScheduler.js.map +1 -0
  249. package/dist/services/ScheduledJobsService.d.ts +31 -0
  250. package/dist/services/ScheduledJobsService.d.ts.map +1 -1
  251. package/dist/services/ScheduledJobsService.js +38 -4
  252. package/dist/services/ScheduledJobsService.js.map +1 -1
  253. package/dist/services/TaskOrchestrator.d.ts +73 -0
  254. package/dist/services/TaskOrchestrator.d.ts.map +1 -1
  255. package/dist/services/TaskOrchestrator.js +137 -15
  256. package/dist/services/TaskOrchestrator.js.map +1 -1
  257. package/dist/types.d.ts +14 -0
  258. package/dist/types.d.ts.map +1 -1
  259. package/dist/types.js +0 -13
  260. package/dist/types.js.map +1 -1
  261. package/dist/util.d.ts +37 -1
  262. package/dist/util.d.ts.map +1 -1
  263. package/dist/util.js +55 -8
  264. package/dist/util.js.map +1 -1
  265. package/package.json +79 -78
  266. package/src/auth/exampleNewUserSubClass.ts +1 -5
  267. package/src/entitySubclasses/entityPermissions.server.ts +1 -3
  268. package/src/generated/generated.ts +4682 -2681
  269. package/src/index.ts +61 -62
  270. package/src/resolvers/InfoResolver.ts +5 -1
  271. package/src/resolvers/MCPResolver.ts +910 -10
  272. package/src/resolvers/PotentialDuplicateRecordResolver.ts +0 -4
  273. package/src/resolvers/VersionHistoryResolver.ts +177 -0
  274. package/src/rest/OAuthCallbackHandler.ts +766 -0
  275. package/src/rest/RESTEndpointHandler.ts +58 -35
  276. package/src/rest/index.ts +2 -1
  277. package/src/rest/setupRESTEndpoints.ts +13 -12
@@ -15,11 +15,8 @@ import { LogError, LogStatus } from '@memberjunction/core';
15
15
  import { TestEngine } from '@memberjunction/testing-engine';
16
16
  import { ResolverBase } from '../generic/ResolverBase.js';
17
17
  import { PUSH_STATUS_UPDATES_TOPIC } from '../generic/PushStatusResolver.js';
18
+ // ===== GraphQL Types =====
18
19
  let TestRunResult = class TestRunResult {
19
- success;
20
- errorMessage;
21
- executionTimeMs;
22
- result;
23
20
  };
24
21
  __decorate([
25
22
  Field(),
@@ -42,10 +39,6 @@ TestRunResult = __decorate([
42
39
  ], TestRunResult);
43
40
  export { TestRunResult };
44
41
  let TestSuiteRunResult = class TestSuiteRunResult {
45
- success;
46
- errorMessage;
47
- executionTimeMs;
48
- result;
49
42
  };
50
43
  __decorate([
51
44
  Field(),
@@ -68,12 +61,6 @@ TestSuiteRunResult = __decorate([
68
61
  ], TestSuiteRunResult);
69
62
  export { TestSuiteRunResult };
70
63
  let TestExecutionProgress = class TestExecutionProgress {
71
- currentStep;
72
- percentage;
73
- message;
74
- testName;
75
- driverType;
76
- oracleEvaluation;
77
64
  };
78
65
  __decorate([
79
66
  Field(),
@@ -104,12 +91,6 @@ TestExecutionProgress = __decorate([
104
91
  ], TestExecutionProgress);
105
92
  export { TestExecutionProgress };
106
93
  let TestExecutionStreamMessage = class TestExecutionStreamMessage {
107
- sessionId;
108
- testRunId;
109
- type;
110
- progress;
111
- timestamp;
112
- testRun;
113
94
  };
114
95
  __decorate([
115
96
  Field(() => ID),
@@ -135,7 +116,11 @@ TestExecutionStreamMessage = __decorate([
135
116
  ObjectType()
136
117
  ], TestExecutionStreamMessage);
137
118
  export { TestExecutionStreamMessage };
119
+ // ===== Resolver =====
138
120
  let RunTestResolver = class RunTestResolver extends ResolverBase {
121
+ /**
122
+ * Execute a single test
123
+ */
139
124
  async RunTest(testId, verbose = true, environment, tags, variables, pubSub, { userPayload } = {}) {
140
125
  const startTime = Date.now();
141
126
  try {
@@ -144,11 +129,15 @@ let RunTestResolver = class RunTestResolver extends ResolverBase {
144
129
  throw new Error('User context required');
145
130
  }
146
131
  LogStatus(`[RunTestResolver] Starting test execution: ${testId}`);
132
+ // Get singleton instance
147
133
  const engine = TestEngine.Instance;
134
+ // Configure engine (loads driver and oracle registries)
148
135
  await engine.Config(verbose, user);
136
+ // Create progress callback if we have pubSub
149
137
  const progressCallback = pubSub ?
150
138
  this.createProgressCallback(pubSub, userPayload, testId) :
151
139
  undefined;
140
+ // Parse variables from JSON string if provided
152
141
  let parsedVariables;
153
142
  if (variables) {
154
143
  try {
@@ -158,6 +147,7 @@ let RunTestResolver = class RunTestResolver extends ResolverBase {
158
147
  LogError(`[RunTestResolver] Failed to parse variables: ${variables}`);
159
148
  }
160
149
  }
150
+ // Run the test
161
151
  const options = {
162
152
  verbose,
163
153
  environment,
@@ -166,14 +156,19 @@ let RunTestResolver = class RunTestResolver extends ResolverBase {
166
156
  progressCallback
167
157
  };
168
158
  const result = await engine.RunTest(testId, options, user);
159
+ // Handle both single result and array of results (RepeatCount > 1)
169
160
  let finalResult;
170
161
  let allPassed = true;
171
162
  if (Array.isArray(result)) {
163
+ // Multiple iterations - check if all passed
172
164
  allPassed = result.every(r => r.status === 'Passed');
165
+ // For GraphQL, return summary information
166
+ // The full array is serialized in the result field
173
167
  finalResult = {
174
168
  testRunId: result[0]?.testRunId || '',
175
169
  status: allPassed ? 'Passed' : 'Failed'
176
170
  };
171
+ // Publish completion for each iteration
177
172
  if (pubSub) {
178
173
  for (const iterationResult of result) {
179
174
  this.publishComplete(pubSub, userPayload, iterationResult);
@@ -182,8 +177,10 @@ let RunTestResolver = class RunTestResolver extends ResolverBase {
182
177
  LogStatus(`[RunTestResolver] Test completed: ${result.length} iterations, ${allPassed ? 'all passed' : 'some failed'} in ${Date.now() - startTime}ms`);
183
178
  }
184
179
  else {
180
+ // Single result
185
181
  finalResult = result;
186
182
  allPassed = result.status === 'Passed';
183
+ // Publish completion
187
184
  if (pubSub && result.testRunId) {
188
185
  this.publishComplete(pubSub, userPayload, result);
189
186
  }
@@ -192,7 +189,7 @@ let RunTestResolver = class RunTestResolver extends ResolverBase {
192
189
  const executionTime = Date.now() - startTime;
193
190
  return {
194
191
  success: allPassed,
195
- result: JSON.stringify(result),
192
+ result: JSON.stringify(result), // Full result (single or array)
196
193
  executionTimeMs: executionTime
197
194
  };
198
195
  }
@@ -200,6 +197,7 @@ let RunTestResolver = class RunTestResolver extends ResolverBase {
200
197
  const executionTime = Date.now() - startTime;
201
198
  const errorMsg = error.message;
202
199
  LogError(`[RunTestResolver] Test execution failed: ${errorMsg}`);
200
+ // Publish error
203
201
  if (pubSub) {
204
202
  this.publishError(pubSub, userPayload, testId, errorMsg);
205
203
  }
@@ -211,6 +209,9 @@ let RunTestResolver = class RunTestResolver extends ResolverBase {
211
209
  };
212
210
  }
213
211
  }
212
+ /**
213
+ * Execute a test suite
214
+ */
214
215
  async RunTestSuite(suiteId, verbose = true, environment, parallel = false, tags, variables, selectedTestIds, sequenceStart, sequenceEnd, pubSub, { userPayload } = {}) {
215
216
  const startTime = Date.now();
216
217
  try {
@@ -221,9 +222,11 @@ let RunTestResolver = class RunTestResolver extends ResolverBase {
221
222
  LogStatus(`[RunTestResolver] Starting suite execution: ${suiteId}`);
222
223
  const engine = TestEngine.Instance;
223
224
  await engine.Config(verbose, user);
225
+ // Create progress callback
224
226
  const progressCallback = pubSub ?
225
227
  this.createProgressCallback(pubSub, userPayload, suiteId) :
226
228
  undefined;
229
+ // Parse selectedTestIds from JSON string if provided
227
230
  let parsedSelectedTestIds;
228
231
  if (selectedTestIds) {
229
232
  try {
@@ -233,6 +236,7 @@ let RunTestResolver = class RunTestResolver extends ResolverBase {
233
236
  LogError(`[RunTestResolver] Failed to parse selectedTestIds: ${selectedTestIds}`);
234
237
  }
235
238
  }
239
+ // Parse variables from JSON string if provided
236
240
  let parsedVariables;
237
241
  if (variables) {
238
242
  try {
@@ -274,12 +278,22 @@ let RunTestResolver = class RunTestResolver extends ResolverBase {
274
278
  };
275
279
  }
276
280
  }
281
+ /**
282
+ * Query to check if a test is currently running
283
+ */
277
284
  async IsTestRunning(testId, { userPayload } = {}) {
285
+ // TODO: Implement running test tracking
286
+ // For now, return false
278
287
  return false;
279
288
  }
289
+ // ===== Progress Callbacks =====
290
+ /**
291
+ * Create progress callback for test execution
292
+ */
280
293
  createProgressCallback(pubSub, userPayload, testId) {
281
294
  return (progress) => {
282
295
  LogStatus(`[RunTestResolver] Progress: ${progress.step} - ${progress.percentage}%`);
296
+ // Get test run from metadata
283
297
  const testRun = progress.metadata?.testRun;
284
298
  const progressMsg = {
285
299
  sessionId: userPayload.sessionId || '',
@@ -1 +1 @@
1
- {"version":3,"file":"RunTestResolver.js","sourceRoot":"","sources":["../../src/resolvers/RunTestResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunTestResolver.js","sourceRoot":"","sources":["../../src/resolvers/RunTestResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACH,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,GAAG,EACH,GAAG,EACH,UAAU,EACV,KAAK,EACL,MAAM,EACN,YAAY,EACZ,EAAE,EACF,GAAG,EACN,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG7E,4BAA4B;AAGrB,IAAM,aAAa,GAAnB,MAAM,aAAa;CAYzB,CAAA;AAVG;IADC,KAAK,EAAE;;8CACS;AAGjB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACJ;AAGtB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACD;AAGzB;IADC,KAAK,EAAE;;6CACO;AAXN,aAAa;IADzB,UAAU,EAAE;GACA,aAAa,CAYzB;;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAY9B,CAAA;AAVG;IADC,KAAK,EAAE;;mDACS;AAGjB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACJ;AAGtB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACD;AAGzB;IADC,KAAK,EAAE;;kDACO;AAXN,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAY9B;;AAGM,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAkBjC,CAAA;AAhBG;IADC,KAAK,EAAE;;0DACY;AAGpB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;;yDACE;AAGnB;IADC,KAAK,EAAE;;sDACQ;AAGhB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACR;AAGlB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACN;AAGpB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+DACA;AAjBjB,qBAAqB;IADjC,UAAU,EAAE;GACA,qBAAqB,CAkBjC;;AAGM,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CAkBtC,CAAA;AAhBG;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;;6DACE;AAGlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;;6DACE;AAGlB;IADC,KAAK,EAAE;;wDACgD;AAGxD;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACf,qBAAqB;4DAAC;AAGjC;IADC,KAAK,EAAE;8BACG,IAAI;6DAAC;AAdP,0BAA0B;IADtC,UAAU,EAAE;GACA,0BAA0B,CAkBtC;;AAED,uBAAuB;AAGhB,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,YAAY;IAE7C;;OAEG;IAEG,AAAN,KAAK,CAAC,OAAO,CACM,MAAc,EACO,UAAmB,IAAI,EACnB,WAAoB,EAC3B,IAAa,EACR,SAAkB,EAC9C,MAAqB,EACxB,EAAE,WAAW,KAAiB,EAAgB;QAErD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC7C,CAAC;YAED,SAAS,CAAC,8CAA8C,MAAM,EAAE,CAAC,CAAC;YAElE,yBAAyB;YACzB,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC;YAEnC,wDAAwD;YACxD,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEnC,6CAA6C;YAC7C,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC;gBAC7B,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC1D,SAAS,CAAC;YAEd,+CAA+C;YAC/C,IAAI,eAA6C,CAAC;YAClD,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACD,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,QAAQ,CAAC,gDAAgD,SAAS,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACL,CAAC;YAED,eAAe;YACf,MAAM,OAAO,GAAG;gBACZ,OAAO;gBACP,WAAW;gBACX,IAAI;gBACJ,SAAS,EAAE,eAAe;gBAC1B,gBAAgB;aACnB,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAE3D,mEAAmE;YACnE,IAAI,WAAW,CAAC;YAChB,IAAI,SAAS,GAAG,IAAI,CAAC;YAErB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,4CAA4C;gBAC5C,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;gBAErD,0CAA0C;gBAC1C,mDAAmD;gBACnD,WAAW,GAAG;oBACV,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,EAAE;oBACrC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,QAAiB;iBAC5D,CAAC;gBAEF,wCAAwC;gBACxC,IAAI,MAAM,EAAE,CAAC;oBACT,KAAK,MAAM,eAAe,IAAI,MAAM,EAAE,CAAC;wBACnC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;oBAC/D,CAAC;gBACL,CAAC;gBAED,SAAS,CAAC,qCAAqC,MAAM,CAAC,MAAM,gBAAgB,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,CAAC,CAAC;YAC3J,CAAC;iBAAM,CAAC;gBACJ,gBAAgB;gBAChB,WAAW,GAAG,MAAM,CAAC;gBACrB,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;gBAEvC,qBAAqB;gBACrB,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;gBACtD,CAAC;gBAED,SAAS,CAAC,qCAAqC,MAAM,CAAC,MAAM,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,CAAC,CAAC;YACnG,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE7C,OAAO;gBACH,OAAO,EAAE,SAAS;gBAClB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,gCAAgC;gBAChE,eAAe,EAAE,aAAa;aACjC,CAAC;QAEN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC7C,MAAM,QAAQ,GAAI,KAAe,CAAC,OAAO,CAAC;YAE1C,QAAQ,CAAC,4CAA4C,QAAQ,EAAE,CAAC,CAAC;YAEjE,gBAAgB;YAChB,IAAI,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7D,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,QAAQ;gBACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,eAAe,EAAE,aAAa;aACjC,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,YAAY,CACE,OAAe,EACK,UAAmB,IAAI,EACnB,WAAoB,EACvB,WAAoB,KAAK,EAC7B,IAAa,EACR,SAAkB,EACZ,eAAwB,EACf,aAAsB,EACxB,WAAoB,EAC7D,MAAqB,EACxB,EAAE,WAAW,KAAiB,EAAgB;QAErD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC7C,CAAC;YAED,SAAS,CAAC,+CAA+C,OAAO,EAAE,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC;YACnC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEnC,2BAA2B;YAC3B,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC;gBAC7B,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC3D,SAAS,CAAC;YAEd,qDAAqD;YACrD,IAAI,qBAA2C,CAAC;YAChD,IAAI,eAAe,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACD,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACxD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,QAAQ,CAAC,sDAAsD,eAAe,EAAE,CAAC,CAAC;gBACtF,CAAC;YACL,CAAC;YAED,+CAA+C;YAC/C,IAAI,eAA6C,CAAC;YAClD,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACD,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC5C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,QAAQ,CAAC,gDAAgD,SAAS,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAG;gBACZ,OAAO;gBACP,WAAW;gBACX,QAAQ;gBACR,IAAI;gBACJ,SAAS,EAAE,eAAe;gBAC1B,eAAe,EAAE,qBAAqB;gBACtC,aAAa;gBACb,WAAW;gBACX,gBAAgB;aACnB,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE7C,SAAS,CAAC,sCAAsC,MAAM,CAAC,UAAU,aAAa,aAAa,IAAI,CAAC,CAAC;YAEjG,OAAO;gBACH,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW;gBACtC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBAC9B,eAAe,EAAE,aAAa;aACjC,CAAC;QAEN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC7C,MAAM,QAAQ,GAAI,KAAe,CAAC,OAAO,CAAC;YAE1C,QAAQ,CAAC,6CAA6C,QAAQ,EAAE,CAAC,CAAC;YAElE,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,QAAQ;gBACtB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,eAAe,EAAE,aAAa;aACjC,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,aAAa,CACA,MAAc,EACtB,EAAE,WAAW,KAAiB,EAAgB;QAErD,wCAAwC;QACxC,wBAAwB;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,iCAAiC;IAEjC;;OAEG;IACK,sBAAsB,CAC1B,MAAoB,EACpB,WAAwB,EACxB,MAAc;QAEd,OAAO,CAAC,QAKP,EAAE,EAAE;YACD,SAAS,CAAC,+BAA+B,QAAQ,CAAC,IAAI,MAAM,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;YAEpF,6BAA6B;YAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;YAE3C,MAAM,WAAW,GAA+B;gBAC5C,SAAS,EAAE,WAAW,CAAC,SAAS,IAAI,EAAE;gBACtC,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,MAAM;gBAChC,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC/C,QAAQ,EAAE;oBACN,WAAW,EAAE,QAAQ,CAAC,IAAI;oBAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ;oBACrC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU;oBACzC,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU;iBAClD;gBACD,SAAS,EAAE,IAAI,IAAI,EAAE;aACxB,CAAC;YAEF,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC3D,CAAC,CAAC;IACN,CAAC;IAEO,eAAe,CAAC,MAAoB,EAAE,IAAgC,EAAE,WAAwB;QACpG,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;YACtC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,QAAQ,EAAE,iBAAiB;gBAC3B,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,IAAI;gBACZ,IAAI;aACP,CAAC;YACF,SAAS,EAAE,WAAW,CAAC,SAAS;SACnC,CAAC,CAAC;IACP,CAAC;IAEO,eAAe,CAAC,MAAoB,EAAE,WAAwB,EAAE,MAAW;QAC/E,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;YACtC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,QAAQ,EAAE,iBAAiB;gBAC3B,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE;oBACF,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAC9B,SAAS,EAAE,IAAI,IAAI,EAAE;iBACxB;aACJ,CAAC;YACF,SAAS,EAAE,WAAW,CAAC,SAAS;SACnC,CAAC,CAAC;IACP,CAAC;IAEO,YAAY,CAAC,MAAoB,EAAE,WAAwB,EAAE,MAAc,EAAE,QAAgB;QACjG,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;YACtC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,QAAQ,EAAE,iBAAiB;gBAC3B,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE;oBACF,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,SAAS,EAAE,MAAM;oBACjB,IAAI,EAAE,OAAO;oBACb,YAAY,EAAE,QAAQ;oBACtB,SAAS,EAAE,IAAI,IAAI,EAAE;iBACxB;aACJ,CAAC;YACF,SAAS,EAAE,WAAW,CAAC,SAAS;SACnC,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAtTS;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC;IAEzB,WAAA,GAAG,CAAC,QAAQ,CAAC,CAAA;IACb,WAAA,GAAG,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAClC,WAAA,GAAG,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACtC,WAAA,GAAG,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/B,WAAA,GAAG,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACpC,WAAA,MAAM,EAAE,CAAA;IACR,WAAA,GAAG,EAAE,CAAA;;8EADa,YAAY;;8CA2GlC;AAMK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC;IAE9B,WAAA,GAAG,CAAC,SAAS,CAAC,CAAA;IACd,WAAA,GAAG,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAClC,WAAA,GAAG,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACtC,WAAA,GAAG,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACnC,WAAA,GAAG,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/B,WAAA,GAAG,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACpC,WAAA,GAAG,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1C,WAAA,GAAG,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,WAAA,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACjD,WAAA,MAAM,EAAE,CAAA;IACR,YAAA,GAAG,EAAE,CAAA;;+GADa,YAAY;;mDA8ElC;AAMK;IADL,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IAEhB,WAAA,GAAG,CAAC,QAAQ,CAAC,CAAA;IACb,WAAA,GAAG,EAAE,CAAA;;;;oDAKT;AAlOQ,eAAe;IAD3B,QAAQ,EAAE;GACE,eAAe,CA4T3B"}
@@ -1,71 +1,383 @@
1
1
  import { AppContext } from '../types.js';
2
2
  import { ResolverBase } from '../generic/ResolverBase.js';
3
+ /**
4
+ * Configuration options for SQL logging sessions.
5
+ * These options control how SQL statements are captured, formatted, and saved.
6
+ */
3
7
  export declare class SqlLoggingOptions {
8
+ /** Whether to format SQL output as a database migration file with proper headers */
4
9
  formatAsMigration?: boolean;
10
+ /** Optional description or notes for this logging configuration */
5
11
  description?: string;
12
+ /** Types of SQL statements to capture: 'queries', 'mutations', or 'both' */
6
13
  statementTypes?: 'queries' | 'mutations' | 'both';
14
+ /** String separator to use between SQL statements (e.g., 'GO' for SQL Server) */
7
15
  batchSeparator?: string;
16
+ /** Whether to format SQL with proper indentation and line breaks */
8
17
  prettyPrint?: boolean;
18
+ /** Whether to include metadata about record changes in the log output */
9
19
  logRecordChangeMetadata?: boolean;
20
+ /** Whether to keep log files even if they contain no SQL statements */
10
21
  retainEmptyLogFiles?: boolean;
22
+ /** Email address to filter SQL statements by user (when filtering is enabled) */
11
23
  filterByUserId?: string;
24
+ /** Array of regex/wildcard patterns to filter SQL statements */
12
25
  filterPatterns?: string[];
26
+ /** How to apply patterns: 'include' or 'exclude' (default: exclude) */
13
27
  filterType?: 'include' | 'exclude';
28
+ /** Whether to output verbose debug information to console */
14
29
  verboseOutput?: boolean;
30
+ /** Default schema name for Flyway migration placeholder replacement */
15
31
  defaultSchemaName?: string;
32
+ /** Human-readable name for the logging session */
16
33
  sessionName?: string;
17
34
  }
18
35
  export declare class SqlLoggingSession {
36
+ /** Unique identifier for this logging session */
19
37
  id: string;
38
+ /** Absolute file path where SQL statements are being logged */
20
39
  filePath: string;
40
+ /** Timestamp when this logging session was started */
21
41
  startTime: Date;
42
+ /** Number of SQL statements captured so far in this session */
22
43
  statementCount: number;
44
+ /** Configuration options applied to this logging session */
23
45
  options: SqlLoggingOptions;
46
+ /** Human-readable name for this logging session */
24
47
  sessionName?: string;
48
+ /** Email address of user whose SQL is being filtered (if filtering enabled) */
25
49
  filterByUserId?: string;
26
50
  }
27
51
  export declare class SqlLoggingOptionsInput {
52
+ /** Whether to format SQL output as a database migration file with proper headers */
28
53
  formatAsMigration?: boolean;
54
+ /** Optional description or notes for this logging configuration */
29
55
  description?: string;
56
+ /** Types of SQL statements to capture: 'queries', 'mutations', or 'both' */
30
57
  statementTypes?: 'queries' | 'mutations' | 'both';
58
+ /** String separator to use between SQL statements (e.g., 'GO' for SQL Server) */
31
59
  batchSeparator?: string;
60
+ /** Whether to format SQL with proper indentation and line breaks */
32
61
  prettyPrint?: boolean;
62
+ /** Whether to include metadata about record changes in the log output */
33
63
  logRecordChangeMetadata?: boolean;
64
+ /** Whether to keep log files even if they contain no SQL statements */
34
65
  retainEmptyLogFiles?: boolean;
66
+ /** Email address to filter SQL statements by user (when filtering is enabled) */
35
67
  filterByUserId?: string;
68
+ /** Array of regex/wildcard patterns to filter SQL statements */
36
69
  filterPatterns?: string[];
70
+ /** How to apply patterns: 'include' or 'exclude' (default: exclude) */
37
71
  filterType?: 'include' | 'exclude';
72
+ /** Whether to output verbose debug information to console */
38
73
  verboseOutput?: boolean;
74
+ /** Default schema name for Flyway migration placeholder replacement */
39
75
  defaultSchemaName?: string;
76
+ /** Human-readable name for the logging session */
40
77
  sessionName?: string;
41
78
  }
42
79
  export declare class StartSqlLoggingInput {
80
+ /** Optional custom filename for the SQL log file (auto-generated if not provided) */
43
81
  fileName?: string;
82
+ /** Configuration options for the logging session (merged with server defaults) */
44
83
  options?: SqlLoggingOptionsInput;
84
+ /** Whether to filter SQL statements to only those from the current user */
45
85
  filterToCurrentUser?: boolean;
46
86
  }
47
87
  export declare class SqlLoggingConfig {
88
+ /** Whether SQL logging is enabled in the server configuration */
48
89
  enabled: boolean;
90
+ /** Default logging options applied to new sessions (can be overridden) */
49
91
  defaultOptions: SqlLoggingOptions;
92
+ /** Directory path where SQL log files are allowed to be created */
50
93
  allowedLogDirectory: string;
94
+ /** Maximum number of concurrent SQL logging sessions allowed */
51
95
  maxActiveSessions: number;
96
+ /** Whether to automatically delete log files that contain no SQL statements */
52
97
  autoCleanupEmptyFiles: boolean;
98
+ /** Timeout in milliseconds after which inactive sessions are automatically stopped */
53
99
  sessionTimeout: number;
100
+ /** Current number of active SQL logging sessions */
54
101
  activeSessionCount: number;
55
102
  }
103
+ /**
104
+ * GraphQL resolver for SQL logging configuration and session management.
105
+ * Provides queries and mutations for controlling SQL logging functionality.
106
+ *
107
+ * **Security**: All operations require Owner-level privileges.
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * // Start a new logging session
112
+ * const session = await startSqlLogging({
113
+ * fileName: "my-session.sql",
114
+ * filterToCurrentUser: true,
115
+ * options: {
116
+ * prettyPrint: true,
117
+ * statementTypes: "both"
118
+ * }
119
+ * });
120
+ *
121
+ * // Get current configuration
122
+ * const config = await sqlLoggingConfig();
123
+ *
124
+ * // List active sessions
125
+ * const sessions = await activeSqlLoggingSessions();
126
+ *
127
+ * // Stop a session
128
+ * await stopSqlLogging(session.id);
129
+ * ```
130
+ */
56
131
  export declare class SqlLoggingConfigResolver extends ResolverBase {
132
+ /** Default prefix for auto-generated SQL log filenames */
57
133
  private static readonly LOG_FILE_PREFIX;
134
+ /** Track active session timeouts for proper cleanup when sessions are manually stopped */
58
135
  private static sessionTimeouts;
136
+ /**
137
+ * Validates that the current user has Owner-level privileges required for SQL logging operations.
138
+ *
139
+ * This method performs authentication and authorization checks:
140
+ * - Verifies user is authenticated (has email in context)
141
+ * - Looks up user in UserCache by email (case-insensitive)
142
+ * - Checks that user Type field equals 'Owner' (trimmed for nchar padding)
143
+ *
144
+ * @param context - The GraphQL application context containing user authentication data
145
+ * @returns Promise resolving to the authenticated UserInfo object
146
+ * @throws Error if user is not authenticated, not found, or lacks Owner privileges
147
+ *
148
+ * @private
149
+ */
59
150
  private checkOwnerAccess;
151
+ /**
152
+ * Retrieves the current SQL logging configuration and status information.
153
+ *
154
+ * Returns comprehensive configuration details including:
155
+ * - Whether SQL logging is enabled in server config
156
+ * - Default logging options (formatting, statement types, etc.)
157
+ * - File system settings (log directory, cleanup options)
158
+ * - Session limits and timeout settings
159
+ * - Count of currently active logging sessions
160
+ *
161
+ * @param context - GraphQL context (requires Owner privileges)
162
+ * @returns Promise resolving to complete SQL logging configuration
163
+ * @throws Error if user lacks Owner privileges
164
+ *
165
+ * @example
166
+ * ```graphql
167
+ * query {
168
+ * sqlLoggingConfig {
169
+ * enabled
170
+ * activeSessionCount
171
+ * maxActiveSessions
172
+ * allowedLogDirectory
173
+ * defaultOptions {
174
+ * prettyPrint
175
+ * statementTypes
176
+ * }
177
+ * }
178
+ * }
179
+ * ```
180
+ */
60
181
  sqlLoggingConfig(context: AppContext): Promise<SqlLoggingConfig>;
182
+ /**
183
+ * Retrieves a list of all currently active SQL logging sessions.
184
+ *
185
+ * Returns detailed information for each active session including:
186
+ * - Unique session identifier and file path
187
+ * - Start time and statement count
188
+ * - Session configuration options
189
+ * - User filtering settings
190
+ *
191
+ * @param context - GraphQL context (requires Owner privileges)
192
+ * @returns Promise resolving to array of active SqlLoggingSession objects
193
+ * @throws Error if user lacks Owner privileges
194
+ *
195
+ * @example
196
+ * ```graphql
197
+ * query {
198
+ * activeSqlLoggingSessions {
199
+ * id
200
+ * sessionName
201
+ * filePath
202
+ * startTime
203
+ * statementCount
204
+ * filterByUserId
205
+ * options {
206
+ * prettyPrint
207
+ * statementTypes
208
+ * }
209
+ * }
210
+ * }
211
+ * ```
212
+ */
61
213
  activeSqlLoggingSessions(context: AppContext): Promise<SqlLoggingSession[]>;
214
+ /**
215
+ * Creates and starts a new SQL logging session with specified configuration.
216
+ *
217
+ * This mutation:
218
+ * - Validates SQL logging is enabled and session limits
219
+ * - Creates a secure file path within the allowed log directory
220
+ * - Configures session options (filtering, formatting, etc.)
221
+ * - Starts the logging session in SQLServerDataProvider
222
+ * - Sets up automatic cleanup after session timeout
223
+ *
224
+ * @param input - Configuration for the new logging session
225
+ * @param input.fileName - Optional custom filename for the log file
226
+ * @param input.filterToCurrentUser - Whether to filter SQL to current user only
227
+ * @param input.options - Logging options (formatting, statement types, etc.)
228
+ * @param context - GraphQL context (requires Owner privileges)
229
+ * @returns Promise resolving to the created SqlLoggingSession object
230
+ * @throws Error if logging disabled, session limit reached, or invalid file path
231
+ *
232
+ * @example
233
+ * ```graphql
234
+ * mutation {
235
+ * startSqlLogging(input: {
236
+ * fileName: "debug-session.sql"
237
+ * filterToCurrentUser: true
238
+ * options: {
239
+ * prettyPrint: true
240
+ * statementTypes: "both"
241
+ * sessionName: "Debug Session"
242
+ * }
243
+ * }) {
244
+ * id
245
+ * filePath
246
+ * sessionName
247
+ * }
248
+ * }
249
+ * ```
250
+ */
62
251
  startSqlLogging(input: StartSqlLoggingInput, context: AppContext): Promise<SqlLoggingSession>;
252
+ /**
253
+ * Stops and disposes of a specific SQL logging session.
254
+ *
255
+ * This mutation:
256
+ * - Validates the session exists and user has access
257
+ * - Calls dispose() on the session to close file handles
258
+ * - Removes the session from the active sessions map
259
+ * - Performs any configured cleanup operations
260
+ *
261
+ * @param sessionId - Unique identifier of the session to stop
262
+ * @param context - GraphQL context (requires Owner privileges)
263
+ * @returns Promise resolving to true if session was successfully stopped
264
+ * @throws Error if session not found or user lacks Owner privileges
265
+ *
266
+ * @example
267
+ * ```graphql
268
+ * mutation {
269
+ * stopSqlLogging(sessionId: "session-123-456")
270
+ * }
271
+ * ```
272
+ */
63
273
  stopSqlLogging(sessionId: string, context: AppContext): Promise<boolean>;
274
+ /**
275
+ * Stops and disposes of all currently active SQL logging sessions.
276
+ *
277
+ * This is a convenience method that:
278
+ * - Calls DisposeAllSqlLoggingSessions() on the data provider
279
+ * - Ensures all file handles are properly closed
280
+ * - Clears the active sessions map
281
+ * - Performs cleanup for all sessions at once
282
+ *
283
+ * @param context - GraphQL context (requires Owner privileges)
284
+ * @returns Promise resolving to true if all sessions were successfully stopped
285
+ * @throws Error if user lacks Owner privileges
286
+ *
287
+ * @example
288
+ * ```graphql
289
+ * mutation {
290
+ * stopAllSqlLogging
291
+ * }
292
+ * ```
293
+ */
64
294
  stopAllSqlLogging(context: AppContext): Promise<boolean>;
295
+ /**
296
+ * Updates the default SQL logging options for new sessions.
297
+ *
298
+ * **Note**: This updates runtime configuration only, not the static config file.
299
+ * Changes apply to new sessions but do not persist across server restarts.
300
+ * In a production system, consider persisting changes to a database.
301
+ *
302
+ * @param options - New default options to apply (partial update supported)
303
+ * @param context - GraphQL context (requires Owner privileges)
304
+ * @returns Promise resolving to the updated SqlLoggingOptions object
305
+ * @throws Error if SQL logging not configured or user lacks Owner privileges
306
+ *
307
+ * @example
308
+ * ```graphql
309
+ * mutation {
310
+ * updateSqlLoggingDefaults(options: {
311
+ * prettyPrint: true
312
+ * statementTypes: "both"
313
+ * logRecordChangeMetadata: false
314
+ * }) {
315
+ * prettyPrint
316
+ * statementTypes
317
+ * formatAsMigration
318
+ * }
319
+ * }
320
+ * ```
321
+ */
65
322
  updateSqlLoggingDefaults(options: SqlLoggingOptionsInput, context: AppContext): Promise<SqlLoggingOptions>;
323
+ /**
324
+ * Reads the contents of a specific SQL log file.
325
+ *
326
+ * This method:
327
+ * - Validates the session exists and user has access
328
+ * - Ensures the file path is within the allowed log directory
329
+ * - Reads the file content with optional line limits
330
+ * - Returns the content as a string
331
+ *
332
+ * @param sessionId - Unique identifier of the logging session
333
+ * @param maxLines - Maximum number of lines to read (optional, defaults to all)
334
+ * @param context - GraphQL context (requires Owner privileges)
335
+ * @returns Promise resolving to the log file content
336
+ * @throws Error if session not found, file not accessible, or user lacks privileges
337
+ *
338
+ * @example
339
+ * ```graphql
340
+ * query {
341
+ * readSqlLogFile(sessionId: "session-123", maxLines: 100)
342
+ * }
343
+ * ```
344
+ */
66
345
  readSqlLogFile(sessionId: string, maxLines: number | null, context: AppContext): Promise<string>;
346
+ /**
347
+ * Debug query to check what the current user email is in the SQL provider.
348
+ * This helps diagnose user filtering issues when SQL statements aren't being captured.
349
+ *
350
+ * Returns a comparison of the user email stored in the SQLServerDataProvider
351
+ * versus the user email from the GraphQL context, which helps identify mismatches
352
+ * that could prevent SQL filtering from working correctly.
353
+ *
354
+ * @param context - GraphQL context containing user information
355
+ * @returns Formatted string showing both email values and whether they match
356
+ * @throws Error if user doesn't have Owner privileges
357
+ */
67
358
  debugCurrentUserEmail(context: AppContext): Promise<string>;
359
+ /**
360
+ * Ensures the specified log directory exists, creating it if necessary.
361
+ *
362
+ * This method:
363
+ * - Attempts to access the directory to check if it exists
364
+ * - Creates the directory recursively if it doesn't exist
365
+ * - Handles permission and file system errors gracefully
366
+ *
367
+ * @param dir - Absolute path to the directory to ensure exists
368
+ * @throws Error if directory cannot be created due to permissions or other issues
369
+ *
370
+ * @private
371
+ */
68
372
  private ensureDirectoryExists;
373
+ /**
374
+ * Converts SqlLoggingOptions from the provider to the GraphQL-compatible type.
375
+ * The provider's filterPatterns can contain RegExp objects, but GraphQL only supports strings.
376
+ *
377
+ * @param options - Options from SQLServerDataProvider
378
+ * @returns GraphQL-compatible SqlLoggingOptions
379
+ * @private
380
+ */
69
381
  private convertOptionsToGraphQL;
70
382
  }
71
383
  //# sourceMappingURL=SqlLoggingConfigResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqlLoggingConfigResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/SqlLoggingConfigResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlLoggingConfigResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/SqlLoggingConfigResolver.ts"],"names":[],"mappings":"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"}