quidproquo-web-admin 0.0.263 → 0.1.1

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 (274) hide show
  1. package/README.md +53 -41
  2. package/lib/commonjs/App/App.d.ts +2 -0
  3. package/lib/commonjs/App/App.js +3 -2
  4. package/lib/commonjs/Auth/Auth.d.ts +1 -1
  5. package/lib/commonjs/Auth/Auth.js +15 -8
  6. package/lib/commonjs/Auth/AuthChallengeMfaSetup/AuthChallengeMfaSetup.d.ts +6 -0
  7. package/lib/commonjs/Auth/AuthChallengeMfaSetup/AuthChallengeMfaSetup.js +50 -0
  8. package/lib/commonjs/Auth/AuthChallengeMfaSetup/index.d.ts +1 -0
  9. package/lib/commonjs/Auth/AuthChallengeMfaSetup/index.js +17 -0
  10. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authActionCreator.d.ts +3 -0
  11. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authActionCreator.js +15 -0
  12. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authChallengeReducer.d.ts +3 -0
  13. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authChallengeReducer.js +19 -0
  14. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authChallengeTypes.d.ts +25 -0
  15. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authChallengeTypes.js +8 -0
  16. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/index.d.ts +4 -0
  17. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/index.js +20 -0
  18. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeAssociateSoftwareToken.d.ts +2 -0
  19. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeAssociateSoftwareToken.js +18 -0
  20. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeSendMfaSetupCode.d.ts +2 -0
  21. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeSendMfaSetupCode.js +24 -0
  22. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/authChallengeLogic.d.ts +8 -0
  23. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/authChallengeLogic.js +11 -0
  24. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/index.d.ts +1 -0
  25. package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/index.js +17 -0
  26. package/lib/commonjs/Auth/AuthChallengeNewPasswordRequired/AuthChallengeNewPasswordRequired.d.ts +1 -1
  27. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/AuthChallengeSoftwareTokenMfa.d.ts +6 -0
  28. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/AuthChallengeSoftwareTokenMfa.js +36 -0
  29. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/index.d.ts +1 -0
  30. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/index.js +17 -0
  31. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authActionCreator.d.ts +2 -0
  32. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authActionCreator.js +8 -0
  33. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeReducer.d.ts +3 -0
  34. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeReducer.js +13 -0
  35. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeTypes.d.ts +15 -0
  36. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeTypes.js +7 -0
  37. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/index.d.ts +4 -0
  38. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/index.js +20 -0
  39. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/askAuthChallengeSendMfaCode.d.ts +2 -0
  40. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/askAuthChallengeSendMfaCode.js +22 -0
  41. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/authChallengeLogic.d.ts +6 -0
  42. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/authChallengeLogic.js +9 -0
  43. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/index.d.ts +1 -0
  44. package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/index.js +17 -0
  45. package/lib/commonjs/Auth/Login.d.ts +1 -1
  46. package/lib/commonjs/Auth/logic/authRuntime.d.ts +7 -0
  47. package/lib/commonjs/Auth/logic/authRuntime.js +7 -0
  48. package/lib/commonjs/Auth/logic/index.d.ts +1 -0
  49. package/lib/commonjs/Auth/logic/index.js +1 -0
  50. package/lib/commonjs/Auth/logic/runtime/askAuthLogout.d.ts +2 -0
  51. package/lib/commonjs/Auth/logic/runtime/askAuthLogout.js +15 -0
  52. package/lib/commonjs/Auth/logic/runtime/authLogic.d.ts +2 -0
  53. package/lib/commonjs/Auth/logic/runtime/authLogic.js +2 -0
  54. package/lib/commonjs/Config/Config.d.ts +2 -1
  55. package/lib/commonjs/FederatedAddon.d.ts +6 -0
  56. package/lib/commonjs/FederatedAddonProvider.d.ts +8 -0
  57. package/lib/commonjs/FederatedAddonProvider.js +21 -0
  58. package/lib/commonjs/LogViewer/ActionHistoryItem.d.ts +1 -1
  59. package/lib/commonjs/LogViewer/ActionHistoryItemTimeStamp.d.ts +1 -1
  60. package/lib/commonjs/LogViewer/ActionRender/ActionRender.d.ts +2 -2
  61. package/lib/commonjs/LogViewer/AdminLogs/AdminLogGrid/AdminLogGrid.d.ts +1 -1
  62. package/lib/commonjs/LogViewer/AdminLogs/AdminLogSearchBar/AdminLogSearchBar.d.ts +1 -1
  63. package/lib/commonjs/LogViewer/AdminLogs/AdminLogs.d.ts +1 -1
  64. package/lib/commonjs/LogViewer/ConsoleLogViewer.d.ts +2 -2
  65. package/lib/commonjs/LogViewer/LogCorrelationTree.d.ts +1 -1
  66. package/lib/commonjs/LogViewer/LogCorrelationTree.js +9 -1
  67. package/lib/commonjs/LogViewer/LogCorrelations.d.ts +1 -1
  68. package/lib/commonjs/LogViewer/LogDetails.d.ts +1 -1
  69. package/lib/commonjs/LogViewer/LogDialog/LogDialog.d.ts +1 -1
  70. package/lib/commonjs/LogViewer/LogMetadataGrid.d.ts +1 -1
  71. package/lib/commonjs/LogViewer/LogRawJson.d.ts +1 -1
  72. package/lib/commonjs/LogViewer/LogSearch.d.ts +1 -1
  73. package/lib/commonjs/LogViewer/LogSummary.d.ts +1 -1
  74. package/lib/commonjs/LogViewer/LogSummaryDetails.d.ts +1 -1
  75. package/lib/commonjs/LogViewer/LogSummaryDetails.js +10 -2
  76. package/lib/commonjs/LogViewer/LogSummaryReturn.d.ts +1 -1
  77. package/lib/commonjs/LogViewer/LogSummaryReturn.js +8 -1
  78. package/lib/commonjs/LogViewer/TopSection.d.ts +1 -1
  79. package/lib/commonjs/LogViewer/TruncatedText.d.ts +1 -1
  80. package/lib/commonjs/LogViewer/actionComponents/genericActionRenderer/AnyVariableView/AnyVariableView.d.ts +8 -8
  81. package/lib/commonjs/LogViewer/actionComponents/genericActionRenderer/AnyVariableView/AnyVariableView.js +47 -9
  82. package/lib/commonjs/LogViewer/charts/CostPerService.d.ts +1 -1
  83. package/lib/commonjs/LogViewer/charts/ErrorsByType.d.ts +1 -1
  84. package/lib/commonjs/LogViewer/charts/ErrorsOverTime.d.ts +1 -1
  85. package/lib/commonjs/LogViewer/charts/RequestsByService.d.ts +1 -1
  86. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreAiActionComponentMap.d.ts +2 -0
  87. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreAiActionComponentMap.js +8 -0
  88. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreClaudeAiActionComponentMap.d.ts +2 -0
  89. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreClaudeAiActionComponentMap.js +7 -0
  90. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreConfigActionComponentMap.js +1 -0
  91. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreEventActionComponentMap.js +4 -0
  92. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreEventBusActionComponentMap.js +1 -1
  93. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreFileActionComponentMap.js +5 -0
  94. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreGraphDatabaseActionComponentMap.d.ts +2 -0
  95. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreGraphDatabaseActionComponentMap.js +14 -0
  96. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreInlineFunctionActionComponentMap.d.ts +2 -0
  97. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreInlineFunctionActionComponentMap.js +7 -0
  98. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreKeyValueStoreActionComponentMap.js +5 -0
  99. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreStateActionComponentMap.d.ts +2 -0
  100. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreStateActionComponentMap.js +8 -0
  101. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreStreamActionComponentMap.d.ts +2 -0
  102. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreStreamActionComponentMap.js +8 -0
  103. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreSystemActionComponentMap.js +1 -0
  104. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreUserDirectoryActionComponentMap.js +12 -2
  105. package/lib/commonjs/LogViewer/logic/actionComponentMap/core/index.js +7 -1
  106. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/index.js +8 -1
  107. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverAdminActionComponentMap.d.ts +2 -0
  108. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverAdminActionComponentMap.js +10 -0
  109. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverApiKeyValidationActionComponentMap.d.ts +2 -0
  110. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverApiKeyValidationActionComponentMap.js +7 -0
  111. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverDnsActionComponentMap.d.ts +2 -0
  112. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverDnsActionComponentMap.js +7 -0
  113. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverGenericDataResourceActionComponentMap.d.ts +2 -0
  114. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverGenericDataResourceActionComponentMap.js +8 -0
  115. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverOpenApiSpecActionComponentMap.d.ts +2 -0
  116. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverOpenApiSpecActionComponentMap.js +7 -0
  117. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverRouteAuthValidationActionComponentMap.d.ts +2 -0
  118. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverRouteAuthValidationActionComponentMap.js +7 -0
  119. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.d.ts +2 -0
  120. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.js +7 -0
  121. package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverWebEntryActionComponentMap.js +1 -1
  122. package/lib/commonjs/LogViewer/logic/index.d.ts +0 -1
  123. package/lib/commonjs/LogViewer/logic/index.js +0 -1
  124. package/lib/commonjs/components/AdminDialog.d.ts +1 -1
  125. package/lib/commonjs/components/AsyncButton.d.ts +2 -2
  126. package/lib/commonjs/components/DataGrid.d.ts +1 -1
  127. package/lib/commonjs/components/DataGridPagination/DataGridPagination.d.ts +1 -1
  128. package/lib/commonjs/components/LastSeen/LastSeen.d.ts +1 -1
  129. package/lib/commonjs/components/LoadingBox/LoadingBox.d.ts +1 -1
  130. package/lib/commonjs/components/MainLayout/MainLayout.d.ts +1 -1
  131. package/lib/commonjs/components/MainLayout/MainLayout.js +11 -2
  132. package/lib/commonjs/index.d.ts +2 -0
  133. package/lib/commonjs/index.js +2 -0
  134. package/lib/commonjs/logic/platform/apiRequest.js +29 -19
  135. package/lib/commonjs/useFederatedAddon.js +4 -33
  136. package/lib/esm/App/App.d.ts +2 -0
  137. package/lib/esm/App/App.js +3 -2
  138. package/lib/esm/Auth/Auth.d.ts +1 -1
  139. package/lib/esm/Auth/Auth.js +10 -3
  140. package/lib/esm/Auth/AuthChallengeMfaSetup/AuthChallengeMfaSetup.d.ts +6 -0
  141. package/lib/esm/Auth/AuthChallengeMfaSetup/AuthChallengeMfaSetup.js +43 -0
  142. package/lib/esm/Auth/AuthChallengeMfaSetup/index.d.ts +1 -0
  143. package/lib/esm/Auth/AuthChallengeMfaSetup/index.js +1 -0
  144. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authActionCreator.d.ts +3 -0
  145. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authActionCreator.js +11 -0
  146. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authChallengeReducer.d.ts +3 -0
  147. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authChallengeReducer.js +16 -0
  148. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authChallengeTypes.d.ts +25 -0
  149. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authChallengeTypes.js +5 -0
  150. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/index.d.ts +4 -0
  151. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/index.js +4 -0
  152. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeAssociateSoftwareToken.d.ts +2 -0
  153. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeAssociateSoftwareToken.js +15 -0
  154. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeSendMfaSetupCode.d.ts +2 -0
  155. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeSendMfaSetupCode.js +21 -0
  156. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/authChallengeLogic.d.ts +8 -0
  157. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/authChallengeLogic.js +8 -0
  158. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/index.d.ts +1 -0
  159. package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/index.js +1 -0
  160. package/lib/esm/Auth/AuthChallengeNewPasswordRequired/AuthChallengeNewPasswordRequired.d.ts +1 -1
  161. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/AuthChallengeSoftwareTokenMfa.d.ts +6 -0
  162. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/AuthChallengeSoftwareTokenMfa.js +27 -0
  163. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/index.d.ts +1 -0
  164. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/index.js +1 -0
  165. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authActionCreator.d.ts +2 -0
  166. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authActionCreator.js +5 -0
  167. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeReducer.d.ts +3 -0
  168. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeReducer.js +10 -0
  169. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeTypes.d.ts +15 -0
  170. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeTypes.js +4 -0
  171. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/index.d.ts +4 -0
  172. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/index.js +4 -0
  173. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/askAuthChallengeSendMfaCode.d.ts +2 -0
  174. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/askAuthChallengeSendMfaCode.js +19 -0
  175. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/authChallengeLogic.d.ts +6 -0
  176. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/authChallengeLogic.js +6 -0
  177. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/index.d.ts +1 -0
  178. package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/index.js +1 -0
  179. package/lib/esm/Auth/Login.d.ts +1 -1
  180. package/lib/esm/Auth/logic/authRuntime.d.ts +7 -0
  181. package/lib/esm/Auth/logic/authRuntime.js +4 -0
  182. package/lib/esm/Auth/logic/index.d.ts +1 -0
  183. package/lib/esm/Auth/logic/index.js +1 -0
  184. package/lib/esm/Auth/logic/runtime/askAuthLogout.d.ts +2 -0
  185. package/lib/esm/Auth/logic/runtime/askAuthLogout.js +12 -0
  186. package/lib/esm/Auth/logic/runtime/authLogic.d.ts +2 -0
  187. package/lib/esm/Auth/logic/runtime/authLogic.js +2 -0
  188. package/lib/esm/Config/Config.d.ts +2 -1
  189. package/lib/esm/FederatedAddon.d.ts +6 -0
  190. package/lib/esm/FederatedAddonProvider.d.ts +8 -0
  191. package/lib/esm/FederatedAddonProvider.js +7 -0
  192. package/lib/esm/LogViewer/ActionHistoryItem.d.ts +1 -1
  193. package/lib/esm/LogViewer/ActionHistoryItemTimeStamp.d.ts +1 -1
  194. package/lib/esm/LogViewer/ActionRender/ActionRender.d.ts +2 -2
  195. package/lib/esm/LogViewer/AdminLogs/AdminLogGrid/AdminLogGrid.d.ts +1 -1
  196. package/lib/esm/LogViewer/AdminLogs/AdminLogSearchBar/AdminLogSearchBar.d.ts +1 -1
  197. package/lib/esm/LogViewer/AdminLogs/AdminLogs.d.ts +1 -1
  198. package/lib/esm/LogViewer/ConsoleLogViewer.d.ts +2 -2
  199. package/lib/esm/LogViewer/LogCorrelationTree.d.ts +1 -1
  200. package/lib/esm/LogViewer/LogCorrelationTree.js +9 -1
  201. package/lib/esm/LogViewer/LogCorrelations.d.ts +1 -1
  202. package/lib/esm/LogViewer/LogDetails.d.ts +1 -1
  203. package/lib/esm/LogViewer/LogDialog/LogDialog.d.ts +1 -1
  204. package/lib/esm/LogViewer/LogMetadataGrid.d.ts +1 -1
  205. package/lib/esm/LogViewer/LogRawJson.d.ts +1 -1
  206. package/lib/esm/LogViewer/LogSearch.d.ts +1 -1
  207. package/lib/esm/LogViewer/LogSummary.d.ts +1 -1
  208. package/lib/esm/LogViewer/LogSummaryDetails.d.ts +1 -1
  209. package/lib/esm/LogViewer/LogSummaryDetails.js +8 -3
  210. package/lib/esm/LogViewer/LogSummaryReturn.d.ts +1 -1
  211. package/lib/esm/LogViewer/LogSummaryReturn.js +6 -2
  212. package/lib/esm/LogViewer/TopSection.d.ts +1 -1
  213. package/lib/esm/LogViewer/TruncatedText.d.ts +1 -1
  214. package/lib/esm/LogViewer/actionComponents/genericActionRenderer/AnyVariableView/AnyVariableView.d.ts +8 -8
  215. package/lib/esm/LogViewer/actionComponents/genericActionRenderer/AnyVariableView/AnyVariableView.js +47 -9
  216. package/lib/esm/LogViewer/charts/CostPerService.d.ts +1 -1
  217. package/lib/esm/LogViewer/charts/ErrorsByType.d.ts +1 -1
  218. package/lib/esm/LogViewer/charts/ErrorsOverTime.d.ts +1 -1
  219. package/lib/esm/LogViewer/charts/RequestsByService.d.ts +1 -1
  220. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreAiActionComponentMap.d.ts +2 -0
  221. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreAiActionComponentMap.js +6 -0
  222. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreClaudeAiActionComponentMap.d.ts +2 -0
  223. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreClaudeAiActionComponentMap.js +5 -0
  224. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreConfigActionComponentMap.js +1 -0
  225. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreEventActionComponentMap.js +4 -0
  226. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreEventBusActionComponentMap.js +1 -1
  227. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreFileActionComponentMap.js +5 -0
  228. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreGraphDatabaseActionComponentMap.d.ts +2 -0
  229. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreGraphDatabaseActionComponentMap.js +12 -0
  230. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreInlineFunctionActionComponentMap.d.ts +2 -0
  231. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreInlineFunctionActionComponentMap.js +5 -0
  232. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreKeyValueStoreActionComponentMap.js +5 -0
  233. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreStateActionComponentMap.d.ts +2 -0
  234. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreStateActionComponentMap.js +6 -0
  235. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreStreamActionComponentMap.d.ts +2 -0
  236. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreStreamActionComponentMap.js +6 -0
  237. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreSystemActionComponentMap.js +1 -0
  238. package/lib/esm/LogViewer/logic/actionComponentMap/core/coreUserDirectoryActionComponentMap.js +12 -2
  239. package/lib/esm/LogViewer/logic/actionComponentMap/core/index.js +12 -0
  240. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/index.js +14 -0
  241. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverAdminActionComponentMap.d.ts +2 -0
  242. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverAdminActionComponentMap.js +8 -0
  243. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverApiKeyValidationActionComponentMap.d.ts +2 -0
  244. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverApiKeyValidationActionComponentMap.js +5 -0
  245. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverDnsActionComponentMap.d.ts +2 -0
  246. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverDnsActionComponentMap.js +5 -0
  247. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverGenericDataResourceActionComponentMap.d.ts +2 -0
  248. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverGenericDataResourceActionComponentMap.js +6 -0
  249. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverOpenApiSpecActionComponentMap.d.ts +2 -0
  250. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverOpenApiSpecActionComponentMap.js +5 -0
  251. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverRouteAuthValidationActionComponentMap.d.ts +2 -0
  252. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverRouteAuthValidationActionComponentMap.js +5 -0
  253. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.d.ts +2 -0
  254. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.js +5 -0
  255. package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverWebEntryActionComponentMap.js +1 -1
  256. package/lib/esm/LogViewer/logic/index.d.ts +0 -1
  257. package/lib/esm/LogViewer/logic/index.js +0 -1
  258. package/lib/esm/components/AdminDialog.d.ts +1 -1
  259. package/lib/esm/components/AsyncButton.d.ts +2 -2
  260. package/lib/esm/components/DataGrid.d.ts +1 -1
  261. package/lib/esm/components/DataGridPagination/DataGridPagination.d.ts +1 -1
  262. package/lib/esm/components/LastSeen/LastSeen.d.ts +1 -1
  263. package/lib/esm/components/LoadingBox/LoadingBox.d.ts +1 -1
  264. package/lib/esm/components/MainLayout/MainLayout.d.ts +1 -1
  265. package/lib/esm/components/MainLayout/MainLayout.js +11 -2
  266. package/lib/esm/index.d.ts +2 -0
  267. package/lib/esm/index.js +2 -0
  268. package/lib/esm/logic/platform/apiRequest.js +29 -16
  269. package/lib/esm/useFederatedAddon.js +4 -33
  270. package/package.json +10 -22
  271. package/lib/commonjs/LogViewer/logic/getFederationManifestUrl.d.ts +0 -3
  272. package/lib/commonjs/LogViewer/logic/getFederationManifestUrl.js +0 -19
  273. package/lib/esm/LogViewer/logic/getFederationManifestUrl.d.ts +0 -3
  274. package/lib/esm/LogViewer/logic/getFederationManifestUrl.js +0 -5
@@ -1,6 +1,8 @@
1
1
  import { BaseUrlResolvers } from 'quidproquo-web-react';
2
2
  import React from 'react';
3
+ import { LoadFederatedAddons } from '../FederatedAddon';
3
4
  export type AppProps = {
4
5
  urlResolvers: BaseUrlResolvers;
6
+ loadAddons?: LoadFederatedAddons;
5
7
  };
6
8
  export declare const App: React.FC<AppProps>;
@@ -6,6 +6,7 @@ import CssBaseline from '@mui/material/CssBaseline';
6
6
  import { createTheme, ThemeProvider } from '@mui/material/styles';
7
7
  import { Auth } from '../Auth/Auth';
8
8
  import { MainLayout } from '../components';
9
+ import { FederatedAddonProvider } from '../FederatedAddonProvider';
9
10
  import { baseUrlsContext } from '../platformLogic/contexts';
10
11
  import { LoadingProvider } from '../view';
11
12
  import { WebSocketAuthProvider } from '../WebSocketAuthProvider';
@@ -14,10 +15,10 @@ const darkTheme = createTheme({
14
15
  mode: 'light',
15
16
  },
16
17
  });
17
- export const App = ({ urlResolvers }) => {
18
+ export const App = ({ urlResolvers, loadAddons }) => {
18
19
  const baseUrls = useMemo(() => ({
19
20
  api: urlResolvers.getApiUrl(),
20
21
  ws: urlResolvers.getWsUrl(),
21
22
  }), [urlResolvers]);
22
- return (_jsx(QpqContextProvider, { contextIdentifier: baseUrlsContext, value: baseUrls, children: _jsx(Router, { children: _jsx(BaseUrlProvider, { urlResolvers: urlResolvers, children: _jsxs(ThemeProvider, { theme: darkTheme, children: [_jsx(CssBaseline, {}), _jsx(LoadingProvider, { children: _jsx(Auth, { children: _jsx(WebsocketProvider, { wsUrl: urlResolvers.getWsUrl(), children: _jsx(WebSocketAuthProvider, { children: _jsx(MainLayout, {}) }) }) }) })] }) }) }) }));
23
+ return (_jsx(QpqContextProvider, { contextIdentifier: baseUrlsContext, value: baseUrls, children: _jsx(Router, { children: _jsx(BaseUrlProvider, { urlResolvers: urlResolvers, children: _jsxs(ThemeProvider, { theme: darkTheme, children: [_jsx(CssBaseline, {}), _jsx(LoadingProvider, { children: _jsx(Auth, { children: _jsx(WebsocketProvider, { wsUrl: urlResolvers.getWsUrl(), children: _jsx(WebSocketAuthProvider, { children: _jsx(FederatedAddonProvider, { loadAddons: loadAddons, children: _jsx(MainLayout, {}) }) }) }) }) })] }) }) }) }));
23
24
  };
@@ -2,5 +2,5 @@ import { ReactNode } from 'react';
2
2
  interface AuthProps {
3
3
  children?: ReactNode;
4
4
  }
5
- export declare function Auth({ children }: AuthProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function Auth({ children }: AuthProps): import("react").JSX.Element;
6
6
  export {};
@@ -1,18 +1,25 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { AuthenticateUserChallenge } from 'quidproquo-core';
3
- import { authContext, createQpqRuntimeDefinition, QpqRuntimeEffectCatcher, useQpqRuntime } from 'quidproquo-web-react';
3
+ import { authContext, QpqRuntimeEffectCatcher, useQpqRuntime } from 'quidproquo-web-react';
4
+ import { AuthChallengeMfaSetup } from './AuthChallengeMfaSetup/AuthChallengeMfaSetup';
4
5
  import { AuthChallengeNewPasswordRequired } from './AuthChallengeNewPasswordRequired/AuthChallengeNewPasswordRequired';
6
+ import { AuthChallengeSoftwareTokenMfa } from './AuthChallengeSoftwareTokenMfa/AuthChallengeSoftwareTokenMfa';
5
7
  import { isLoggedOn } from './logic/isLoggedOn';
6
8
  import { askAuthMain } from './logic/runtime/askAuthMain';
7
- import { authInitalState, authLogic, authReducer } from './logic';
9
+ import { authRuntime } from './logic';
8
10
  import { Login } from './Login';
9
- const authRuntime = createQpqRuntimeDefinition(authLogic, authInitalState, authReducer);
10
11
  export function Auth({ children }) {
11
12
  const [api, state, dispatch] = useQpqRuntime(authRuntime, askAuthMain);
12
13
  const isAuthenticated = isLoggedOn(state);
13
14
  if (state.authenticateUserResponse?.challenge === AuthenticateUserChallenge.NEW_PASSWORD_REQUIRED) {
14
15
  return (_jsx(QpqRuntimeEffectCatcher, { runtime: authRuntime, children: _jsx(AuthChallengeNewPasswordRequired, { authState: state }) }));
15
16
  }
17
+ if (state.authenticateUserResponse?.challenge === AuthenticateUserChallenge.SOFTWARE_TOKEN_MFA) {
18
+ return (_jsx(QpqRuntimeEffectCatcher, { runtime: authRuntime, children: _jsx(AuthChallengeSoftwareTokenMfa, { authState: state }) }));
19
+ }
20
+ if (state.authenticateUserResponse?.challenge === AuthenticateUserChallenge.MFA_SETUP) {
21
+ return (_jsx(QpqRuntimeEffectCatcher, { runtime: authRuntime, children: _jsx(AuthChallengeMfaSetup, { authState: state }) }));
22
+ }
16
23
  return (_jsxs(QpqRuntimeEffectCatcher, { runtime: authRuntime, children: [!isAuthenticated && (_jsx(Login, { setUsername: api.authUISetUsername, setPassword: api.authUISetPassword, username: state.username, password: state.password, onLogin: api.authLogin })), isAuthenticated && (_jsx(authContext.Provider, { value: {
17
24
  challenge: state.authenticateUserResponse?.challenge,
18
25
  session: state.authenticateUserResponse?.session,
@@ -0,0 +1,6 @@
1
+ import { AuthState } from '../logic';
2
+ interface AuthChallengeMfaSetupProps {
3
+ authState: AuthState;
4
+ }
5
+ export declare function AuthChallengeMfaSetup({ authState }: AuthChallengeMfaSetupProps): import("react").JSX.Element;
6
+ export {};
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createQpqRuntimeDefinition, useQpqRuntime } from 'quidproquo-web-react';
3
+ import { useEffect, useRef } from 'react';
4
+ import LockIcon from '@mui/icons-material/Lock';
5
+ import Box from '@mui/material/Box';
6
+ import Grid from '@mui/material/Grid';
7
+ import TextField from '@mui/material/TextField';
8
+ import Typography from '@mui/material/Typography';
9
+ import { AsyncButton } from '../../components';
10
+ import { authChallengeMfaSetupInitalState, authChallengeMfaSetupLogic, authChallengeMfaSetupReducer } from './logic';
11
+ const atom = createQpqRuntimeDefinition(authChallengeMfaSetupLogic, authChallengeMfaSetupInitalState, authChallengeMfaSetupReducer);
12
+ // otpauth:// URI consumed by authenticator apps when scanning / importing.
13
+ const buildOtpAuthUri = (email, secretCode) => {
14
+ const issuer = window.location.host;
15
+ const label = encodeURIComponent(`${issuer}:${email}`);
16
+ return `otpauth://totp/${label}?secret=${secretCode}&issuer=${encodeURIComponent(issuer)}`;
17
+ };
18
+ export function AuthChallengeMfaSetup({ authState }) {
19
+ const [api, state] = useQpqRuntime(atom);
20
+ const isCodeValid = /^\d{6}$/.test(state.mfaCode);
21
+ const challenge = authState.authenticateUserResponse?.challenge;
22
+ const session = authState.authenticateUserResponse?.session;
23
+ // Associate a software token once, using the MFA_SETUP challenge session.
24
+ const hasAssociated = useRef(false);
25
+ useEffect(() => {
26
+ if (!hasAssociated.current && session) {
27
+ hasAssociated.current = true;
28
+ api.authChallengeAssociateSoftwareToken(session);
29
+ }
30
+ }, [api, session]);
31
+ if (!challenge || !session) {
32
+ return _jsx("div", { children: "Error, missing challenge / session" });
33
+ }
34
+ return (_jsx(Box, { sx: {
35
+ height: '100vh',
36
+ width: '100%',
37
+ p: 2,
38
+ display: 'flex',
39
+ flexDirection: 'column',
40
+ justifyContent: 'center',
41
+ alignItems: 'center',
42
+ }, children: _jsx(Box, { component: "form", sx: { width: '100%', maxWidth: 360 }, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(Grid, { item: true, xs: 12, children: _jsxs(Typography, { variant: "h5", gutterBottom: true, sx: { display: 'flex', alignItems: 'center' }, children: [_jsx(LockIcon, { sx: { marginRight: 1 } }), "Set Up Authenticator"] }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(Typography, { variant: "body2", color: "text.secondary", children: "Add this account to your authenticator app, then enter the 6-digit code it generates." }) }), _jsxs(Grid, { item: true, xs: 12, children: [_jsx(Typography, { variant: "caption", color: "text.secondary", children: "Secret key" }), _jsx(Typography, { variant: "body1", sx: { fontFamily: 'monospace', wordBreak: 'break-all' }, children: state.secretCode || 'Loading…' })] }), state.secretCode && (_jsx(Grid, { item: true, xs: 12, children: _jsx(Typography, { variant: "caption", color: "text.secondary", sx: { wordBreak: 'break-all' }, children: buildOtpAuthUri(authState.username, state.secretCode) }) })), _jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { required: true, fullWidth: true, id: "mfaCode", label: "Authentication Code", autoFocus: true, inputProps: { inputMode: 'numeric', pattern: '[0-9]*', maxLength: 6 }, value: state.mfaCode, onChange: (event) => api.authChallengeSetMfaSetupCode(event.target.value.replace(/\D/g, '')) }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(AsyncButton, { onClick: () => api.authChallengeSendMfaSetupCode(challenge, authState.username), disabled: !isCodeValid || !state.secretCode, children: "Verify" }) })] }) }) }));
43
+ }
@@ -0,0 +1 @@
1
+ export * from './AuthChallengeMfaSetup';
@@ -0,0 +1 @@
1
+ export * from './AuthChallengeMfaSetup';
@@ -0,0 +1,3 @@
1
+ import { AskResponse } from 'quidproquo-core';
2
+ export declare function askAuthChallengeSetMfaSetupCode(mfaCode: string): AskResponse<void>;
3
+ export declare function askAuthChallengeSetMfaSetupAssociation(secretCode: string, session: string): AskResponse<void>;
@@ -0,0 +1,11 @@
1
+ import { askStateDispatchEffect } from 'quidproquo-core';
2
+ import { AuthChallengeMfaSetupEffect, } from './authChallengeTypes';
3
+ export function* askAuthChallengeSetMfaSetupCode(mfaCode) {
4
+ yield* askStateDispatchEffect(AuthChallengeMfaSetupEffect.SetMfaCode, mfaCode);
5
+ }
6
+ export function* askAuthChallengeSetMfaSetupAssociation(secretCode, session) {
7
+ yield* askStateDispatchEffect(AuthChallengeMfaSetupEffect.SetAssociation, {
8
+ secretCode,
9
+ session,
10
+ });
11
+ }
@@ -0,0 +1,3 @@
1
+ import { AuthChallengeMfaSetupEffects, AuthChallengeMfaSetupState } from './authChallengeTypes';
2
+ export declare const authChallengeMfaSetupInitalState: AuthChallengeMfaSetupState;
3
+ export declare const authChallengeMfaSetupReducer: (state: AuthChallengeMfaSetupState, effect: AuthChallengeMfaSetupEffects) => [AuthChallengeMfaSetupState, boolean];
@@ -0,0 +1,16 @@
1
+ import { buildMutableEffectReducer } from 'quidproquo-core';
2
+ import { AuthChallengeMfaSetupEffect } from './authChallengeTypes';
3
+ export const authChallengeMfaSetupInitalState = {
4
+ secretCode: '',
5
+ session: '',
6
+ mfaCode: '',
7
+ };
8
+ export const authChallengeMfaSetupReducer = buildMutableEffectReducer({
9
+ [AuthChallengeMfaSetupEffect.SetMfaCode]: (state, mfaCode) => {
10
+ state.mfaCode = mfaCode;
11
+ },
12
+ [AuthChallengeMfaSetupEffect.SetAssociation]: (state, { secretCode, session }) => {
13
+ state.secretCode = secretCode;
14
+ state.session = session;
15
+ },
16
+ });
@@ -0,0 +1,25 @@
1
+ import { Effect } from 'quidproquo-core';
2
+ export type AuthChallengeMfaSetupState = {
3
+ secretCode: string;
4
+ session: string;
5
+ mfaCode: string;
6
+ };
7
+ export declare enum AuthChallengeMfaSetupEffect {
8
+ SetMfaCode = "authMfaSetup/SetMfaCode",
9
+ SetAssociation = "authMfaSetup/SetAssociation"
10
+ }
11
+ export type AuthChallengeMfaSetupSetMfaCodeEffect = Effect<AuthChallengeMfaSetupEffect.SetMfaCode, string>;
12
+ export type AuthChallengeMfaSetupSetAssociationEffect = Effect<AuthChallengeMfaSetupEffect.SetAssociation, {
13
+ secretCode: string;
14
+ session: string;
15
+ }>;
16
+ export type AuthChallengeMfaSetupEffects = AuthChallengeMfaSetupSetMfaCodeEffect | AuthChallengeMfaSetupSetAssociationEffect;
17
+ export type AuthChallengeAssociateSoftwareTokenPayload = {
18
+ session: string;
19
+ };
20
+ export type AuthChallengeSendMfaSetupCodePayload = {
21
+ email: string;
22
+ session: string;
23
+ challenge: string;
24
+ mfaCode: string;
25
+ };
@@ -0,0 +1,5 @@
1
+ export var AuthChallengeMfaSetupEffect;
2
+ (function (AuthChallengeMfaSetupEffect) {
3
+ AuthChallengeMfaSetupEffect["SetMfaCode"] = "authMfaSetup/SetMfaCode";
4
+ AuthChallengeMfaSetupEffect["SetAssociation"] = "authMfaSetup/SetAssociation";
5
+ })(AuthChallengeMfaSetupEffect || (AuthChallengeMfaSetupEffect = {}));
@@ -0,0 +1,4 @@
1
+ export * from './authActionCreator';
2
+ export * from './authChallengeReducer';
3
+ export * from './authChallengeTypes';
4
+ export * from './runtime';
@@ -0,0 +1,4 @@
1
+ export * from './authActionCreator';
2
+ export * from './authChallengeReducer';
3
+ export * from './authChallengeTypes';
4
+ export * from './runtime';
@@ -0,0 +1,2 @@
1
+ import { AskResponse } from 'quidproquo-core';
2
+ export declare function askAuthChallengeAssociateSoftwareToken(session: string): AskResponse<void>;
@@ -0,0 +1,15 @@
1
+ import { askPlatformRequest } from '../../../../platformLogic';
2
+ import { askAuthChallengeSetMfaSetupAssociation } from '../authActionCreator';
3
+ // Kicks off TOTP enrollment: trades the MFA_SETUP challenge session for the
4
+ // shared secret (to show as a QR / manual key) and a refreshed session.
5
+ export function* askAuthChallengeAssociateSoftwareToken(session) {
6
+ const response = yield* askPlatformRequest('POST', '/associateSoftwareToken', {
7
+ body: {
8
+ session,
9
+ },
10
+ });
11
+ if (response.status < 200 || response.status >= 300) {
12
+ return;
13
+ }
14
+ yield* askAuthChallengeSetMfaSetupAssociation(response.data.secretCode, response.data.session);
15
+ }
@@ -0,0 +1,2 @@
1
+ import { AskResponse } from 'quidproquo-core';
2
+ export declare function askAuthChallengeSendMfaSetupCode(challenge: string, email: string): AskResponse<void>;
@@ -0,0 +1,21 @@
1
+ import { askStateRead } from 'quidproquo-core';
2
+ import { askPlatformRequest, askSaveAuthToken } from '../../../../platformLogic';
3
+ import { askAuthUISetAuthInfo } from '../../../logic';
4
+ // Completes MFA_SETUP. Sends the first TOTP code together with the refreshed
5
+ // session from the associate step; the server verifies the code and finishes login.
6
+ export function* askAuthChallengeSendMfaSetupCode(challenge, email) {
7
+ const { mfaCode, session } = yield* askStateRead('');
8
+ const response = yield* askPlatformRequest('POST', '/challenge', {
9
+ body: {
10
+ challenge,
11
+ email,
12
+ mfaCode,
13
+ session,
14
+ },
15
+ });
16
+ if (response.status < 200 || response.status >= 300) {
17
+ return;
18
+ }
19
+ yield* askSaveAuthToken(response.data);
20
+ yield* askAuthUISetAuthInfo(response.data);
21
+ }
@@ -0,0 +1,8 @@
1
+ import { askAuthChallengeSetMfaSetupCode } from '../authActionCreator';
2
+ import { askAuthChallengeAssociateSoftwareToken } from './askAuthChallengeAssociateSoftwareToken';
3
+ import { askAuthChallengeSendMfaSetupCode } from './askAuthChallengeSendMfaSetupCode';
4
+ export declare const authChallengeMfaSetupLogic: {
5
+ askAuthChallengeSetMfaSetupCode: typeof askAuthChallengeSetMfaSetupCode;
6
+ askAuthChallengeAssociateSoftwareToken: typeof askAuthChallengeAssociateSoftwareToken;
7
+ askAuthChallengeSendMfaSetupCode: typeof askAuthChallengeSendMfaSetupCode;
8
+ };
@@ -0,0 +1,8 @@
1
+ import { askAuthChallengeSetMfaSetupCode } from '../authActionCreator';
2
+ import { askAuthChallengeAssociateSoftwareToken } from './askAuthChallengeAssociateSoftwareToken';
3
+ import { askAuthChallengeSendMfaSetupCode } from './askAuthChallengeSendMfaSetupCode';
4
+ export const authChallengeMfaSetupLogic = {
5
+ askAuthChallengeSetMfaSetupCode,
6
+ askAuthChallengeAssociateSoftwareToken,
7
+ askAuthChallengeSendMfaSetupCode,
8
+ };
@@ -0,0 +1 @@
1
+ export * from './authChallengeLogic';
@@ -0,0 +1 @@
1
+ export * from './authChallengeLogic';
@@ -2,5 +2,5 @@ import { AuthState } from '../logic';
2
2
  interface AuthChallengeNewPasswordRequiredProps {
3
3
  authState: AuthState;
4
4
  }
5
- export declare function AuthChallengeNewPasswordRequired({ authState }: AuthChallengeNewPasswordRequiredProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function AuthChallengeNewPasswordRequired({ authState }: AuthChallengeNewPasswordRequiredProps): import("react").JSX.Element;
6
6
  export {};
@@ -0,0 +1,6 @@
1
+ import { AuthState } from '../logic';
2
+ interface AuthChallengeSoftwareTokenMfaProps {
3
+ authState: AuthState;
4
+ }
5
+ export declare function AuthChallengeSoftwareTokenMfa({ authState }: AuthChallengeSoftwareTokenMfaProps): import("react").JSX.Element;
6
+ export {};
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
3
+ import { createQpqRuntimeDefinition, useQpqRuntime } from 'quidproquo-web-react';
4
+ import LockIcon from '@mui/icons-material/Lock';
5
+ import Box from '@mui/material/Box';
6
+ import Grid from '@mui/material/Grid';
7
+ import TextField from '@mui/material/TextField';
8
+ import Typography from '@mui/material/Typography';
9
+ import { AsyncButton } from '../../components';
10
+ import { authChallengeMfaInitalState, authChallengeMfaLogic, authChallengeMfaReducer } from './logic';
11
+ const atom = createQpqRuntimeDefinition(authChallengeMfaLogic, authChallengeMfaInitalState, authChallengeMfaReducer);
12
+ export function AuthChallengeSoftwareTokenMfa({ authState }) {
13
+ const [api, state] = useQpqRuntime(atom);
14
+ const isCodeValid = /^\d{6}$/.test(state.mfaCode);
15
+ if (!authState.authenticateUserResponse || !authState.authenticateUserResponse.challenge || !authState.authenticateUserResponse.session) {
16
+ return _jsx("div", { children: "Error, missing challenge / session" });
17
+ }
18
+ return (_jsx(Box, { sx: {
19
+ height: '100vh',
20
+ width: '100%',
21
+ p: 2,
22
+ display: 'flex',
23
+ flexDirection: 'column',
24
+ justifyContent: 'center',
25
+ alignItems: 'center',
26
+ }, children: _jsx(Box, { component: "form", sx: { width: '100%', maxWidth: 360 }, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(Grid, { item: true, xs: 12, children: _jsxs(Typography, { variant: "h5", gutterBottom: true, sx: { display: 'flex', alignItems: 'center' }, children: [_jsx(LockIcon, { sx: { marginRight: 1 } }), "Verification Code"] }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(Typography, { variant: "body2", color: "text.secondary", children: "Enter the 6-digit code from your authenticator app." }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { required: true, fullWidth: true, id: "mfaCode", label: "Authentication Code", autoFocus: true, inputProps: { inputMode: 'numeric', pattern: '[0-9]*', maxLength: 6 }, value: state.mfaCode, onChange: (event) => api.authChallengeSetMfaCode(event.target.value.replace(/\D/g, '')) }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(AsyncButton, { onClick: () => api.authChallengeSendMfaCode(authState.authenticateUserResponse?.challenge, authState.authenticateUserResponse?.session, authState.username), disabled: !isCodeValid, children: "Verify" }) })] }) }) }));
27
+ }
@@ -0,0 +1 @@
1
+ export * from './AuthChallengeSoftwareTokenMfa';
@@ -0,0 +1 @@
1
+ export * from './AuthChallengeSoftwareTokenMfa';
@@ -0,0 +1,2 @@
1
+ import { AskResponse } from 'quidproquo-core';
2
+ export declare function askAuthChallengeSetMfaCode(mfaCode: string): AskResponse<void>;
@@ -0,0 +1,5 @@
1
+ import { askStateDispatchEffect } from 'quidproquo-core';
2
+ import { AuthChallengeMfaEffect } from './authChallengeTypes';
3
+ export function* askAuthChallengeSetMfaCode(mfaCode) {
4
+ yield* askStateDispatchEffect(AuthChallengeMfaEffect.SetMfaCode, mfaCode);
5
+ }
@@ -0,0 +1,3 @@
1
+ import { AuthChallengeMfaState } from './authChallengeTypes';
2
+ export declare const authChallengeMfaInitalState: AuthChallengeMfaState;
3
+ export declare const authChallengeMfaReducer: (state: AuthChallengeMfaState, effect: import("./authChallengeTypes").AuthChallengeSetMfaCodeEffect) => [AuthChallengeMfaState, boolean];
@@ -0,0 +1,10 @@
1
+ import { buildMutableEffectReducer } from 'quidproquo-core';
2
+ import { AuthChallengeMfaEffect } from './authChallengeTypes';
3
+ export const authChallengeMfaInitalState = {
4
+ mfaCode: '',
5
+ };
6
+ export const authChallengeMfaReducer = buildMutableEffectReducer({
7
+ [AuthChallengeMfaEffect.SetMfaCode]: (state, mfaCode) => {
8
+ state.mfaCode = mfaCode;
9
+ },
10
+ });
@@ -0,0 +1,15 @@
1
+ import { Effect } from 'quidproquo-core';
2
+ export type AuthChallengeMfaState = {
3
+ mfaCode: string;
4
+ };
5
+ export declare enum AuthChallengeMfaEffect {
6
+ SetMfaCode = "authMfa/SetMfaCode"
7
+ }
8
+ export type AuthChallengeSetMfaCodeEffect = Effect<AuthChallengeMfaEffect.SetMfaCode, string>;
9
+ export type AuthChallengeMfaEffects = AuthChallengeSetMfaCodeEffect;
10
+ export type AuthChallengeSendMfaCodePayload = {
11
+ email: string;
12
+ session: string;
13
+ challenge: string;
14
+ mfaCode: string;
15
+ };
@@ -0,0 +1,4 @@
1
+ export var AuthChallengeMfaEffect;
2
+ (function (AuthChallengeMfaEffect) {
3
+ AuthChallengeMfaEffect["SetMfaCode"] = "authMfa/SetMfaCode";
4
+ })(AuthChallengeMfaEffect || (AuthChallengeMfaEffect = {}));
@@ -0,0 +1,4 @@
1
+ export * from './authActionCreator';
2
+ export * from './authChallengeReducer';
3
+ export * from './authChallengeTypes';
4
+ export * from './runtime';
@@ -0,0 +1,4 @@
1
+ export * from './authActionCreator';
2
+ export * from './authChallengeReducer';
3
+ export * from './authChallengeTypes';
4
+ export * from './runtime';
@@ -0,0 +1,2 @@
1
+ import { AskResponse } from 'quidproquo-core';
2
+ export declare function askAuthChallengeSendMfaCode(challenge: string, session: string, email: string): AskResponse<void>;
@@ -0,0 +1,19 @@
1
+ import { askStateRead } from 'quidproquo-core';
2
+ import { askPlatformRequest, askSaveAuthToken } from '../../../../platformLogic';
3
+ import { askAuthUISetAuthInfo } from '../../../logic';
4
+ export function* askAuthChallengeSendMfaCode(challenge, session, email) {
5
+ const { mfaCode } = yield* askStateRead('');
6
+ const response = yield* askPlatformRequest('POST', '/challenge', {
7
+ body: {
8
+ challenge,
9
+ email,
10
+ mfaCode,
11
+ session,
12
+ },
13
+ });
14
+ if (response.status < 200 || response.status >= 300) {
15
+ return;
16
+ }
17
+ yield* askSaveAuthToken(response.data);
18
+ yield* askAuthUISetAuthInfo(response.data);
19
+ }
@@ -0,0 +1,6 @@
1
+ import { askAuthChallengeSetMfaCode } from '../authActionCreator';
2
+ import { askAuthChallengeSendMfaCode } from './askAuthChallengeSendMfaCode';
3
+ export declare const authChallengeMfaLogic: {
4
+ askAuthChallengeSetMfaCode: typeof askAuthChallengeSetMfaCode;
5
+ askAuthChallengeSendMfaCode: typeof askAuthChallengeSendMfaCode;
6
+ };
@@ -0,0 +1,6 @@
1
+ import { askAuthChallengeSetMfaCode } from '../authActionCreator';
2
+ import { askAuthChallengeSendMfaCode } from './askAuthChallengeSendMfaCode';
3
+ export const authChallengeMfaLogic = {
4
+ askAuthChallengeSetMfaCode,
5
+ askAuthChallengeSendMfaCode,
6
+ };
@@ -0,0 +1 @@
1
+ export * from './authChallengeLogic';
@@ -0,0 +1 @@
1
+ export * from './authChallengeLogic';
@@ -5,5 +5,5 @@ interface LoginProps {
5
5
  setPassword: (password: string) => void;
6
6
  onLogin: () => Promise<void>;
7
7
  }
8
- export declare function Login({ username, password, setUsername, setPassword, onLogin }: LoginProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function Login({ username, password, setUsername, setPassword, onLogin }: LoginProps): import("react").JSX.Element;
9
9
  export {};
@@ -0,0 +1,7 @@
1
+ export declare const authRuntime: import("quidproquo-web-react").QpqRuntimeDefinition<import("./authTypes").AuthState, import("./authTypes").AuthEffects, {
2
+ askAuthLogin: typeof import("./runtime/askAuthLogin").askAuthLogin;
3
+ askAuthLogout: typeof import("./runtime/askAuthLogout").askAuthLogout;
4
+ askAuthMain: typeof import("./runtime/askAuthMain").askAuthMain;
5
+ askAuthUISetUsername: typeof import("./authActionCreator").askAuthUISetUsername;
6
+ askAuthUISetPassword: typeof import("./authActionCreator").askAuthUISetPassword;
7
+ }>;
@@ -0,0 +1,4 @@
1
+ import { createQpqRuntimeDefinition } from 'quidproquo-web-react';
2
+ import { authLogic } from './runtime/authLogic';
3
+ import { authInitalState, authReducer } from './authReducer';
4
+ export const authRuntime = createQpqRuntimeDefinition(authLogic, authInitalState, authReducer);
@@ -1,4 +1,5 @@
1
1
  export * from './authActionCreator';
2
2
  export * from './authReducer';
3
+ export * from './authRuntime';
3
4
  export * from './authTypes';
4
5
  export * from './runtime';
@@ -1,4 +1,5 @@
1
1
  export * from './authActionCreator';
2
2
  export * from './authReducer';
3
+ export * from './authRuntime';
3
4
  export * from './authTypes';
4
5
  export * from './runtime';
@@ -0,0 +1,2 @@
1
+ import { AskResponse } from 'quidproquo-core';
2
+ export declare function askAuthLogout(): AskResponse<void>;
@@ -0,0 +1,12 @@
1
+ import { AuthenticateUserChallenge } from 'quidproquo-core';
2
+ import { askSaveAuthToken } from '../../../platformLogic';
3
+ import { askAuthUISetAuthInfo, askAuthUISetPassword } from '../authActionCreator';
4
+ export function* askAuthLogout() {
5
+ yield* askSaveAuthToken({
6
+ challenge: AuthenticateUserChallenge.NONE,
7
+ });
8
+ yield* askAuthUISetPassword('');
9
+ yield* askAuthUISetAuthInfo({
10
+ challenge: AuthenticateUserChallenge.NONE,
11
+ });
12
+ }
@@ -1,8 +1,10 @@
1
1
  import { askAuthUISetPassword, askAuthUISetUsername } from '../authActionCreator';
2
2
  import { askAuthLogin } from './askAuthLogin';
3
+ import { askAuthLogout } from './askAuthLogout';
3
4
  import { askAuthMain } from './askAuthMain';
4
5
  export declare const authLogic: {
5
6
  askAuthLogin: typeof askAuthLogin;
7
+ askAuthLogout: typeof askAuthLogout;
6
8
  askAuthMain: typeof askAuthMain;
7
9
  askAuthUISetUsername: typeof askAuthUISetUsername;
8
10
  askAuthUISetPassword: typeof askAuthUISetPassword;
@@ -1,8 +1,10 @@
1
1
  import { askAuthUISetPassword, askAuthUISetUsername } from '../authActionCreator';
2
2
  import { askAuthLogin } from './askAuthLogin';
3
+ import { askAuthLogout } from './askAuthLogout';
3
4
  import { askAuthMain } from './askAuthMain';
4
5
  export const authLogic = {
5
6
  askAuthLogin,
7
+ askAuthLogout,
6
8
  askAuthMain,
7
9
  askAuthUISetUsername,
8
10
  askAuthUISetPassword,
@@ -1,2 +1,3 @@
1
- export declare function Config(): import("react/jsx-runtime").JSX.Element;
1
+ import React from 'react';
2
+ export declare function Config(): React.JSX.Element;
2
3
  export default Config;
@@ -1,3 +1,4 @@
1
+ import { BaseUrlResolvers } from 'quidproquo-web-react';
1
2
  export type FederatedTab = {
2
3
  name: string;
3
4
  View: React.ComponentType;
@@ -7,3 +8,8 @@ export type FederatedAddon = {
7
8
  tab: FederatedTab;
8
9
  isQpqAdminFederatedAddon: boolean;
9
10
  };
11
+ export type LoadFederatedAddonsContext = {
12
+ baseUrlResolvers: BaseUrlResolvers;
13
+ accessToken?: string;
14
+ };
15
+ export type LoadFederatedAddons = (context: LoadFederatedAddonsContext) => Promise<FederatedAddon[]>;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { LoadFederatedAddons } from './FederatedAddon';
3
+ export type FederatedAddonProviderProps = {
4
+ loadAddons?: LoadFederatedAddons;
5
+ children: React.ReactNode;
6
+ };
7
+ export declare const FederatedAddonProvider: React.FC<FederatedAddonProviderProps>;
8
+ export declare const useLoadFederatedAddons: () => LoadFederatedAddons;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext } from 'react';
3
+ // Default: no host loader provided, so there are no addons.
4
+ const noopLoadAddons = async () => [];
5
+ const FederatedAddonContext = createContext(noopLoadAddons);
6
+ export const FederatedAddonProvider = ({ loadAddons, children }) => (_jsx(FederatedAddonContext.Provider, { value: loadAddons ?? noopLoadAddons, children: children }));
7
+ export const useLoadFederatedAddons = () => useContext(FederatedAddonContext);
@@ -4,5 +4,5 @@ interface ActionHistoryItemProps {
4
4
  result: any;
5
5
  expanded: boolean;
6
6
  }
7
- export declare const ActionHistoryItem: ({ action, result, expanded }: ActionHistoryItemProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const ActionHistoryItem: ({ action, result, expanded }: ActionHistoryItemProps) => import("react").JSX.Element;
8
8
  export {};
@@ -2,5 +2,5 @@ interface ActionHistoryItemTimeStampProps {
2
2
  startedAt: string;
3
3
  finishedAt: string;
4
4
  }
5
- export declare const ActionHistoryItemTimeStamp: ({ startedAt, finishedAt }: ActionHistoryItemTimeStampProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const ActionHistoryItemTimeStamp: ({ startedAt, finishedAt }: ActionHistoryItemTimeStampProps) => import("react").JSX.Element;
6
6
  export {};
@@ -12,6 +12,6 @@ interface ActionRenderProps {
12
12
  }
13
13
  export declare const CoreBatchCustomAction: ActionComponent<SystemBatchActionPayload, any[]>;
14
14
  export declare const AnyCustomAction: ActionComponent;
15
- export declare const ActionRender: ({ action, result, isLegacy, expanded }: ActionRenderProps) => import("react/jsx-runtime").JSX.Element;
16
- export declare const AnyActionHistoryItem: ({ action, result }: AnyActionHistoryItemProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const ActionRender: ({ action, result, isLegacy, expanded }: ActionRenderProps) => import("react").JSX.Element;
16
+ export declare const AnyActionHistoryItem: ({ action, result }: AnyActionHistoryItemProps) => import("react").JSX.Element;
17
17
  export {};
@@ -4,5 +4,5 @@ type AdminLogGridProps = {
4
4
  isLoading: boolean;
5
5
  searchProgress: number;
6
6
  };
7
- export declare const AdminLogGrid: ({ logs, isLoading, searchProgress }: AdminLogGridProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const AdminLogGrid: ({ logs, isLoading, searchProgress }: AdminLogGridProps) => import("react").JSX.Element;
8
8
  export {};