@grafana/plugin-ui 0.13.1 → 0.14.1-dsconfig.032cfc4

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 (440) hide show
  1. package/dist/cjs/index.cjs +2989 -372
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs/index.d.cts +695 -40
  4. package/dist/cjs/schemas.cjs +25 -0
  5. package/dist/cjs/schemas.cjs.map +1 -0
  6. package/dist/cjs/schemas.d.cts +448 -0
  7. package/dist/cjs/test-utils.cjs +2 -2
  8. package/dist/cjs/test-utils.cjs.map +1 -1
  9. package/dist/cjs/test-utils.d.cts +24 -24
  10. package/dist/cjs/useDatasourceSchema-CxPGD2-b.js +17125 -0
  11. package/dist/cjs/useDatasourceSchema-CxPGD2-b.js.map +1 -0
  12. package/dist/esm/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js.map +1 -1
  13. package/dist/esm/components/ConfigEditor/Auth/Auth.js.map +1 -1
  14. package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js +4 -4
  15. package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js.map +1 -1
  16. package/dist/esm/components/ConfigEditor/Auth/auth-method/BasicAuth.js.map +1 -1
  17. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeader.js.map +1 -1
  18. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js +1 -1
  19. package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js.map +1 -1
  20. package/dist/esm/components/ConfigEditor/Auth/styles.js.map +1 -1
  21. package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js +1 -1
  22. package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js.map +1 -1
  23. package/dist/esm/components/ConfigEditor/Auth/tls/SkipTLSVerification.js.map +1 -1
  24. package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js +3 -3
  25. package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js.map +1 -1
  26. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettings.js.map +1 -1
  27. package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettingsSection.js.map +1 -1
  28. package/dist/esm/components/ConfigEditor/Auth/types.js.map +1 -1
  29. package/dist/esm/components/ConfigEditor/Auth/utils.js +3 -3
  30. package/dist/esm/components/ConfigEditor/Auth/utils.js.map +1 -1
  31. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +2 -2
  32. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js.map +1 -1
  33. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSection.js.map +1 -1
  34. package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSubSection.js.map +1 -1
  35. package/dist/esm/components/ConfigEditor/ConfigSection/GenericConfigSection.js.map +1 -1
  36. package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js +1 -1
  37. package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js.map +1 -1
  38. package/dist/esm/components/ConfigEditor/DataSourceDescription.js.map +1 -1
  39. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js +234 -0
  40. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js.map +1 -0
  41. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js +27 -0
  42. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js.map +1 -0
  43. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js +71 -0
  44. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js.map +1 -0
  45. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SidebarNav.js +54 -0
  46. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SidebarNav.js.map +1 -0
  47. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/TabLayout.js +181 -0
  48. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/TabLayout.js.map +1 -0
  49. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/cel.js +75 -0
  50. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/cel.js.map +1 -0
  51. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/config.js +258 -0
  52. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/config.js.map +1 -0
  53. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/datasource.js +354 -0
  54. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/datasource.js.map +1 -0
  55. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/fieldUtils.js +138 -0
  56. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/fieldUtils.js.map +1 -0
  57. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useDatasourceConfigForm.js +326 -0
  58. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useDatasourceConfigForm.js.map +1 -0
  59. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js +106 -0
  60. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js.map +1 -0
  61. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/AuthorizationHeaderField.js +51 -0
  62. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/AuthorizationHeaderField.js.map +1 -0
  63. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ComplexFieldNote.js +26 -0
  64. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ComplexFieldNote.js.map +1 -0
  65. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js +106 -0
  66. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js.map +1 -0
  67. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/IndexedPairEditor.js +124 -0
  68. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/IndexedPairEditor.js.map +1 -0
  69. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js +190 -0
  70. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js.map +1 -0
  71. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PdcFieldNote.js +31 -0
  72. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PdcFieldNote.js.map +1 -0
  73. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/SecureFieldInput.js +59 -0
  74. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/SecureFieldInput.js.map +1 -0
  75. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js +80 -0
  76. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js.map +1 -0
  77. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/renderFieldInput.js +141 -0
  78. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/renderFieldInput.js.map +1 -0
  79. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js +30 -0
  80. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js.map +1 -0
  81. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/styles.js +360 -0
  82. package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/styles.js.map +1 -0
  83. package/dist/esm/components/ConfigEditor/SecureSocksProxyToggle.js.map +1 -1
  84. package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js +11 -11
  85. package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js.map +1 -1
  86. package/dist/esm/components/DataLinks/DataLink.js +4 -4
  87. package/dist/esm/components/DataLinks/DataLink.js.map +1 -1
  88. package/dist/esm/components/DataLinks/DataLinks.js +3 -3
  89. package/dist/esm/components/DataLinks/DataLinks.js.map +1 -1
  90. package/dist/esm/components/DataSourcePicker/DataSourcePicker.js +8 -8
  91. package/dist/esm/components/DataSourcePicker/DataSourcePicker.js.map +1 -1
  92. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  93. package/dist/esm/components/DatePicker/styles.js +2 -2
  94. package/dist/esm/components/DatePicker/styles.js.map +1 -1
  95. package/dist/esm/components/DatePickerWithInput/DatePickerWithInput.js.map +1 -1
  96. package/dist/esm/components/DatePickerWithInput/styles.js +2 -2
  97. package/dist/esm/components/DatePickerWithInput/styles.js.map +1 -1
  98. package/dist/esm/components/DebounceInput/DebounceInput.js.map +1 -1
  99. package/dist/esm/components/Plugins/PluginSignatureBadge.js.map +1 -1
  100. package/dist/esm/components/QueryEditor/AccessoryButton.js.map +1 -1
  101. package/dist/esm/components/QueryEditor/CatalogSelector.js +1 -1
  102. package/dist/esm/components/QueryEditor/CatalogSelector.js.map +1 -1
  103. package/dist/esm/components/QueryEditor/ConfirmModal.js +1 -1
  104. package/dist/esm/components/QueryEditor/ConfirmModal.js.map +1 -1
  105. package/dist/esm/components/QueryEditor/DatasetSelector.js +1 -1
  106. package/dist/esm/components/QueryEditor/DatasetSelector.js.map +1 -1
  107. package/dist/esm/components/QueryEditor/EditorField.js +5 -5
  108. package/dist/esm/components/QueryEditor/EditorField.js.map +1 -1
  109. package/dist/esm/components/QueryEditor/EditorFieldGroup.js.map +1 -1
  110. package/dist/esm/components/QueryEditor/EditorHeader.js +2 -2
  111. package/dist/esm/components/QueryEditor/EditorHeader.js.map +1 -1
  112. package/dist/esm/components/QueryEditor/EditorList.js.map +1 -1
  113. package/dist/esm/components/QueryEditor/EditorRow.js +4 -4
  114. package/dist/esm/components/QueryEditor/EditorRow.js.map +1 -1
  115. package/dist/esm/components/QueryEditor/EditorRows.js +2 -2
  116. package/dist/esm/components/QueryEditor/EditorRows.js.map +1 -1
  117. package/dist/esm/components/QueryEditor/EditorStack.js +1 -1
  118. package/dist/esm/components/QueryEditor/EditorStack.js.map +1 -1
  119. package/dist/esm/components/QueryEditor/EditorSwitch.js +2 -2
  120. package/dist/esm/components/QueryEditor/EditorSwitch.js.map +1 -1
  121. package/dist/esm/components/QueryEditor/FlexItem.js.map +1 -1
  122. package/dist/esm/components/QueryEditor/InlineSelect.js +1 -1
  123. package/dist/esm/components/QueryEditor/InlineSelect.js.map +1 -1
  124. package/dist/esm/components/QueryEditor/InputGroup.js +2 -2
  125. package/dist/esm/components/QueryEditor/InputGroup.js.map +1 -1
  126. package/dist/esm/components/QueryEditor/QueryEditor.js +10 -8
  127. package/dist/esm/components/QueryEditor/QueryEditor.js.map +1 -1
  128. package/dist/esm/components/QueryEditor/QueryHeader.js +20 -20
  129. package/dist/esm/components/QueryEditor/QueryHeader.js.map +1 -1
  130. package/dist/esm/components/QueryEditor/RunQueryButton.js +1 -1
  131. package/dist/esm/components/QueryEditor/RunQueryButton.js.map +1 -1
  132. package/dist/esm/components/QueryEditor/Space.js +2 -2
  133. package/dist/esm/components/QueryEditor/Space.js.map +1 -1
  134. package/dist/esm/components/QueryEditor/TableSelector.js +0 -1
  135. package/dist/esm/components/QueryEditor/TableSelector.js.map +1 -1
  136. package/dist/esm/components/QueryEditor/defaults.js +7 -7
  137. package/dist/esm/components/QueryEditor/defaults.js.map +1 -1
  138. package/dist/esm/components/QueryEditor/expressions.js.map +1 -1
  139. package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js +10 -2
  140. package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js.map +1 -1
  141. package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js +7 -2
  142. package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js.map +1 -1
  143. package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js +4 -4
  144. package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js.map +1 -1
  145. package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js +14 -4
  146. package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js.map +1 -1
  147. package/dist/esm/components/QueryEditor/types.js +0 -1
  148. package/dist/esm/components/QueryEditor/types.js.map +1 -1
  149. package/dist/esm/components/QueryEditor/utils/formatSQL.js +15 -4
  150. package/dist/esm/components/QueryEditor/utils/formatSQL.js.map +1 -1
  151. package/dist/esm/components/QueryEditor/utils/sql.utils.js +8 -8
  152. package/dist/esm/components/QueryEditor/utils/sql.utils.js.map +1 -1
  153. package/dist/esm/components/QueryEditor/utils/useSqlChange.js.map +1 -1
  154. package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js +26 -27
  155. package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js.map +1 -1
  156. package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js +3 -3
  157. package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js.map +1 -1
  158. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js +2 -2
  159. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js.map +1 -1
  160. package/dist/esm/components/QueryEditor/visual-query-builder/EditorRows.js.map +1 -1
  161. package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js +2 -2
  162. package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js.map +1 -1
  163. package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js +4 -4
  164. package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js.map +1 -1
  165. package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js +4 -4
  166. package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js.map +1 -1
  167. package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js +0 -1
  168. package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js.map +1 -1
  169. package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js +2 -3
  170. package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js.map +1 -1
  171. package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js +0 -1
  172. package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js.map +1 -1
  173. package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js +0 -1
  174. package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js.map +1 -1
  175. package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js +9 -9
  176. package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js.map +1 -1
  177. package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js +10 -2
  178. package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js.map +1 -1
  179. package/dist/esm/components/QueryEditor/visual-query-builder/WhereRow.js.map +1 -1
  180. package/dist/esm/components/QueryEditorRow/QueryEditorRow.js.map +1 -1
  181. package/dist/esm/components/SQLEditor/components/SQLEditor.js +13 -13
  182. package/dist/esm/components/SQLEditor/components/SQLEditor.js.map +1 -1
  183. package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js +1 -1
  184. package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js.map +1 -1
  185. package/dist/esm/components/SQLEditor/mocks/Monaco.js.map +1 -1
  186. package/dist/esm/components/SQLEditor/mocks/TextModel.js.map +1 -1
  187. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQuery.js.map +1 -1
  188. package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js.map +1 -1
  189. package/dist/esm/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js.map +1 -1
  190. package/dist/esm/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js.map +1 -1
  191. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQuery.js.map +1 -1
  192. package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js.map +1 -1
  193. package/dist/esm/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js.map +1 -1
  194. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueries.js.map +1 -1
  195. package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js.map +1 -1
  196. package/dist/esm/components/SQLEditor/standardSql/definition.js +0 -6
  197. package/dist/esm/components/SQLEditor/standardSql/definition.js.map +1 -1
  198. package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js +2 -2
  199. package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js.map +1 -1
  200. package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js +5 -4
  201. package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js.map +1 -1
  202. package/dist/esm/components/SQLEditor/standardSql/language.js.map +1 -1
  203. package/dist/esm/components/SQLEditor/standardSql/macros.js.map +1 -1
  204. package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js +2 -2
  205. package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js.map +1 -1
  206. package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js +1 -1
  207. package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js.map +1 -1
  208. package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js +27 -26
  209. package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js.map +1 -1
  210. package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js +1 -1
  211. package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js.map +1 -1
  212. package/dist/esm/components/SQLEditor/test-utils/index.js.map +1 -1
  213. package/dist/esm/components/SQLEditor/test-utils/statementPosition.js.map +1 -1
  214. package/dist/esm/components/SQLEditor/types.js +1 -17
  215. package/dist/esm/components/SQLEditor/types.js.map +1 -1
  216. package/dist/esm/components/SQLEditor/utils/LinkedToken.js +8 -8
  217. package/dist/esm/components/SQLEditor/utils/LinkedToken.js.map +1 -1
  218. package/dist/esm/components/SQLEditor/utils/commands.js.map +1 -1
  219. package/dist/esm/components/SQLEditor/utils/debugger.js +1 -1
  220. package/dist/esm/components/SQLEditor/utils/debugger.js.map +1 -1
  221. package/dist/esm/components/SQLEditor/utils/getSuggestionKind.js.map +1 -1
  222. package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js +3 -3
  223. package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js.map +1 -1
  224. package/dist/esm/components/SQLEditor/utils/toCompletionItem.js +1 -1
  225. package/dist/esm/components/SQLEditor/utils/toCompletionItem.js.map +1 -1
  226. package/dist/esm/components/SQLEditor/utils/tokenType.js +18 -0
  227. package/dist/esm/components/SQLEditor/utils/tokenType.js.map +1 -0
  228. package/dist/esm/components/SQLEditor/utils/tokenUtils.js +10 -10
  229. package/dist/esm/components/SQLEditor/utils/tokenUtils.js.map +1 -1
  230. package/dist/esm/components/Segment/Segment.js.map +1 -1
  231. package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js +2 -2
  232. package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js.map +1 -1
  233. package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js +11 -11
  234. package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js.map +1 -1
  235. package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js +1 -1
  236. package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js.map +1 -1
  237. package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js +4 -4
  238. package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js.map +1 -1
  239. package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js +3 -3
  240. package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js.map +1 -1
  241. package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js +3 -3
  242. package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js.map +1 -1
  243. package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js +2 -2
  244. package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js.map +1 -1
  245. package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js +2 -2
  246. package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js.map +1 -1
  247. package/dist/esm/components/VisualQueryBuilder/components/OperationList.js +4 -4
  248. package/dist/esm/components/VisualQueryBuilder/components/OperationList.js.map +1 -1
  249. package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js +2 -2
  250. package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js.map +1 -1
  251. package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js +6 -6
  252. package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js.map +1 -1
  253. package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js +3 -3
  254. package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js.map +1 -1
  255. package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js +8 -8
  256. package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js.map +1 -1
  257. package/dist/esm/components/VisualQueryBuilder/components/QueryEditorModeToggle.js.map +1 -1
  258. package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js +3 -3
  259. package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js.map +1 -1
  260. package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js +1 -1
  261. package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js.map +1 -1
  262. package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js +2 -2
  263. package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js.map +1 -1
  264. package/dist/esm/components/VisualQueryBuilder/types.js.map +1 -1
  265. package/dist/esm/datasource/SqlDatasource.js +14 -14
  266. package/dist/esm/datasource/SqlDatasource.js.map +1 -1
  267. package/dist/esm/datasource/constants.js.map +1 -1
  268. package/dist/esm/hooks/useDebounce.js.map +1 -1
  269. package/dist/esm/index.d.ts +695 -40
  270. package/dist/esm/index.js +13 -1
  271. package/dist/esm/index.js.map +1 -1
  272. package/dist/esm/schema/registry/alertmanager.schema.json.js +77 -0
  273. package/dist/esm/schema/registry/alertmanager.schema.json.js.map +1 -0
  274. package/dist/esm/schema/registry/cloudwatch.schema.json.js +384 -0
  275. package/dist/esm/schema/registry/cloudwatch.schema.json.js.map +1 -0
  276. package/dist/esm/schema/registry/elasticsearch.schema.json.js +597 -0
  277. package/dist/esm/schema/registry/elasticsearch.schema.json.js.map +1 -0
  278. package/dist/esm/schema/registry/grafana-adobeanalytics-datasource.schema.json.js +95 -0
  279. package/dist/esm/schema/registry/grafana-adobeanalytics-datasource.schema.json.js.map +1 -0
  280. package/dist/esm/schema/registry/grafana-amazonprometheus-datasource.schema.json.js +166 -0
  281. package/dist/esm/schema/registry/grafana-amazonprometheus-datasource.schema.json.js.map +1 -0
  282. package/dist/esm/schema/registry/grafana-appdynamics-datasource.schema.json.js +145 -0
  283. package/dist/esm/schema/registry/grafana-appdynamics-datasource.schema.json.js.map +1 -0
  284. package/dist/esm/schema/registry/grafana-astradb-datasource.schema.json.js +123 -0
  285. package/dist/esm/schema/registry/grafana-astradb-datasource.schema.json.js.map +1 -0
  286. package/dist/esm/schema/registry/grafana-athena-datasource.schema.json.js +158 -0
  287. package/dist/esm/schema/registry/grafana-athena-datasource.schema.json.js.map +1 -0
  288. package/dist/esm/schema/registry/grafana-atlassianstatuspage-datasource.schema.json.js +43 -0
  289. package/dist/esm/schema/registry/grafana-atlassianstatuspage-datasource.schema.json.js.map +1 -0
  290. package/dist/esm/schema/registry/grafana-azure-data-explorer-datasource.schema.json.js +204 -0
  291. package/dist/esm/schema/registry/grafana-azure-data-explorer-datasource.schema.json.js.map +1 -0
  292. package/dist/esm/schema/registry/grafana-azure-monitor-datasource.schema.json.js +300 -0
  293. package/dist/esm/schema/registry/grafana-azure-monitor-datasource.schema.json.js.map +1 -0
  294. package/dist/esm/schema/registry/grafana-azuredevops-datasource.schema.json.js +101 -0
  295. package/dist/esm/schema/registry/grafana-azuredevops-datasource.schema.json.js.map +1 -0
  296. package/dist/esm/schema/registry/grafana-azureprometheus-datasource.schema.json.js +125 -0
  297. package/dist/esm/schema/registry/grafana-azureprometheus-datasource.schema.json.js.map +1 -0
  298. package/dist/esm/schema/registry/grafana-bigquery-datasource.schema.json.js +508 -0
  299. package/dist/esm/schema/registry/grafana-bigquery-datasource.schema.json.js.map +1 -0
  300. package/dist/esm/schema/registry/grafana-catchpoint-datasource.schema.json.js +42 -0
  301. package/dist/esm/schema/registry/grafana-catchpoint-datasource.schema.json.js.map +1 -0
  302. package/dist/esm/schema/registry/grafana-clickhouse-datasource.schema.json.js +1400 -0
  303. package/dist/esm/schema/registry/grafana-clickhouse-datasource.schema.json.js.map +1 -0
  304. package/dist/esm/schema/registry/grafana-cloudflare-datasource.schema.json.js +42 -0
  305. package/dist/esm/schema/registry/grafana-cloudflare-datasource.schema.json.js.map +1 -0
  306. package/dist/esm/schema/registry/grafana-cockroachdb-datasource.schema.json.js +302 -0
  307. package/dist/esm/schema/registry/grafana-cockroachdb-datasource.schema.json.js.map +1 -0
  308. package/dist/esm/schema/registry/grafana-databricks-datasource.schema.json.js +291 -0
  309. package/dist/esm/schema/registry/grafana-databricks-datasource.schema.json.js.map +1 -0
  310. package/dist/esm/schema/registry/grafana-datadog-datasource.schema.json.js +155 -0
  311. package/dist/esm/schema/registry/grafana-datadog-datasource.schema.json.js.map +1 -0
  312. package/dist/esm/schema/registry/grafana-drone-datasource.schema.json.js +64 -0
  313. package/dist/esm/schema/registry/grafana-drone-datasource.schema.json.js.map +1 -0
  314. package/dist/esm/schema/registry/grafana-dynatrace-datasource.schema.json.js +179 -0
  315. package/dist/esm/schema/registry/grafana-dynatrace-datasource.schema.json.js.map +1 -0
  316. package/dist/esm/schema/registry/grafana-falconlogscale-datasource.schema.json.js +134 -0
  317. package/dist/esm/schema/registry/grafana-falconlogscale-datasource.schema.json.js.map +1 -0
  318. package/dist/esm/schema/registry/grafana-github-datasource.schema.json.js +156 -0
  319. package/dist/esm/schema/registry/grafana-github-datasource.schema.json.js.map +1 -0
  320. package/dist/esm/schema/registry/grafana-gitlab-datasource.schema.json.js +84 -0
  321. package/dist/esm/schema/registry/grafana-gitlab-datasource.schema.json.js.map +1 -0
  322. package/dist/esm/schema/registry/grafana-googlesheets-datasource.schema.json.js +231 -0
  323. package/dist/esm/schema/registry/grafana-googlesheets-datasource.schema.json.js.map +1 -0
  324. package/dist/esm/schema/registry/grafana-honeycomb-datasource.schema.json.js +87 -0
  325. package/dist/esm/schema/registry/grafana-honeycomb-datasource.schema.json.js.map +1 -0
  326. package/dist/esm/schema/registry/grafana-iot-sitewise-datasource.schema.json.js +159 -0
  327. package/dist/esm/schema/registry/grafana-iot-sitewise-datasource.schema.json.js.map +1 -0
  328. package/dist/esm/schema/registry/grafana-jira-datasource.schema.json.js +188 -0
  329. package/dist/esm/schema/registry/grafana-jira-datasource.schema.json.js.map +1 -0
  330. package/dist/esm/schema/registry/grafana-logicmonitor-datasource.schema.json.js +63 -0
  331. package/dist/esm/schema/registry/grafana-logicmonitor-datasource.schema.json.js.map +1 -0
  332. package/dist/esm/schema/registry/grafana-looker-datasource.schema.json.js +82 -0
  333. package/dist/esm/schema/registry/grafana-looker-datasource.schema.json.js.map +1 -0
  334. package/dist/esm/schema/registry/grafana-mongodb-datasource.schema.json.js +278 -0
  335. package/dist/esm/schema/registry/grafana-mongodb-datasource.schema.json.js.map +1 -0
  336. package/dist/esm/schema/registry/grafana-mqtt-datasource.schema.json.js +168 -0
  337. package/dist/esm/schema/registry/grafana-mqtt-datasource.schema.json.js.map +1 -0
  338. package/dist/esm/schema/registry/grafana-netlify-datasource.schema.json.js +42 -0
  339. package/dist/esm/schema/registry/grafana-netlify-datasource.schema.json.js.map +1 -0
  340. package/dist/esm/schema/registry/grafana-newrelic-datasource.schema.json.js +129 -0
  341. package/dist/esm/schema/registry/grafana-newrelic-datasource.schema.json.js.map +1 -0
  342. package/dist/esm/schema/registry/grafana-odbc-datasource.schema.json.js +56 -0
  343. package/dist/esm/schema/registry/grafana-odbc-datasource.schema.json.js.map +1 -0
  344. package/dist/esm/schema/registry/grafana-opensearch-datasource.schema.json.js +212 -0
  345. package/dist/esm/schema/registry/grafana-opensearch-datasource.schema.json.js.map +1 -0
  346. package/dist/esm/schema/registry/grafana-oracle-datasource.schema.json.js +186 -0
  347. package/dist/esm/schema/registry/grafana-oracle-datasource.schema.json.js.map +1 -0
  348. package/dist/esm/schema/registry/grafana-pagerduty-datasource.schema.json.js +85 -0
  349. package/dist/esm/schema/registry/grafana-pagerduty-datasource.schema.json.js.map +1 -0
  350. package/dist/esm/schema/registry/grafana-postgresql-datasource.schema.json.js +411 -0
  351. package/dist/esm/schema/registry/grafana-postgresql-datasource.schema.json.js.map +1 -0
  352. package/dist/esm/schema/registry/grafana-pyroscope-datasource.schema.json.js +41 -0
  353. package/dist/esm/schema/registry/grafana-pyroscope-datasource.schema.json.js.map +1 -0
  354. package/dist/esm/schema/registry/grafana-redshift-datasource.schema.json.js +201 -0
  355. package/dist/esm/schema/registry/grafana-redshift-datasource.schema.json.js.map +1 -0
  356. package/dist/esm/schema/registry/grafana-salesforce-datasource.schema.json.js +248 -0
  357. package/dist/esm/schema/registry/grafana-salesforce-datasource.schema.json.js.map +1 -0
  358. package/dist/esm/schema/registry/grafana-saphana-datasource.schema.json.js +208 -0
  359. package/dist/esm/schema/registry/grafana-saphana-datasource.schema.json.js.map +1 -0
  360. package/dist/esm/schema/registry/grafana-sentry-datasource.schema.json.js +94 -0
  361. package/dist/esm/schema/registry/grafana-sentry-datasource.schema.json.js.map +1 -0
  362. package/dist/esm/schema/registry/grafana-servicenow-datasource.schema.json.js +179 -0
  363. package/dist/esm/schema/registry/grafana-servicenow-datasource.schema.json.js.map +1 -0
  364. package/dist/esm/schema/registry/grafana-snowflake-datasource.schema.json.js +304 -0
  365. package/dist/esm/schema/registry/grafana-snowflake-datasource.schema.json.js.map +1 -0
  366. package/dist/esm/schema/registry/grafana-solarwinds-datasource.schema.json.js +77 -0
  367. package/dist/esm/schema/registry/grafana-solarwinds-datasource.schema.json.js.map +1 -0
  368. package/dist/esm/schema/registry/grafana-splunk-datasource.schema.json.js +690 -0
  369. package/dist/esm/schema/registry/grafana-splunk-datasource.schema.json.js.map +1 -0
  370. package/dist/esm/schema/registry/grafana-splunkobservability-datasource.schema.json.js +90 -0
  371. package/dist/esm/schema/registry/grafana-splunkobservability-datasource.schema.json.js.map +1 -0
  372. package/dist/esm/schema/registry/grafana-strava-datasource.schema.json.js +74 -0
  373. package/dist/esm/schema/registry/grafana-strava-datasource.schema.json.js.map +1 -0
  374. package/dist/esm/schema/registry/grafana-sumologic-datasource.schema.json.js +102 -0
  375. package/dist/esm/schema/registry/grafana-sumologic-datasource.schema.json.js.map +1 -0
  376. package/dist/esm/schema/registry/grafana-surrealdb-datasource.schema.json.js +92 -0
  377. package/dist/esm/schema/registry/grafana-surrealdb-datasource.schema.json.js.map +1 -0
  378. package/dist/esm/schema/registry/grafana-timestream-datasource.schema.json.js +145 -0
  379. package/dist/esm/schema/registry/grafana-timestream-datasource.schema.json.js.map +1 -0
  380. package/dist/esm/schema/registry/grafana-vercel-datasource.schema.json.js +62 -0
  381. package/dist/esm/schema/registry/grafana-vercel-datasource.schema.json.js.map +1 -0
  382. package/dist/esm/schema/registry/grafana-wavefront-datasource.schema.json.js +80 -0
  383. package/dist/esm/schema/registry/grafana-wavefront-datasource.schema.json.js.map +1 -0
  384. package/dist/esm/schema/registry/grafana-x-ray-datasource.schema.json.js +112 -0
  385. package/dist/esm/schema/registry/grafana-x-ray-datasource.schema.json.js.map +1 -0
  386. package/dist/esm/schema/registry/grafana-yugabyte-datasource.schema.json.js +114 -0
  387. package/dist/esm/schema/registry/grafana-yugabyte-datasource.schema.json.js.map +1 -0
  388. package/dist/esm/schema/registry/grafana-zendesk-datasource.schema.json.js +76 -0
  389. package/dist/esm/schema/registry/grafana-zendesk-datasource.schema.json.js.map +1 -0
  390. package/dist/esm/schema/registry/graphite.schema.json.js +104 -0
  391. package/dist/esm/schema/registry/graphite.schema.json.js.map +1 -0
  392. package/dist/esm/schema/registry/index.js +157 -0
  393. package/dist/esm/schema/registry/index.js.map +1 -0
  394. package/dist/esm/schema/registry/influxdb.schema.json.js +717 -0
  395. package/dist/esm/schema/registry/influxdb.schema.json.js.map +1 -0
  396. package/dist/esm/schema/registry/jaeger.schema.json.js +59 -0
  397. package/dist/esm/schema/registry/jaeger.schema.json.js.map +1 -0
  398. package/dist/esm/schema/registry/loki.schema.json.js +545 -0
  399. package/dist/esm/schema/registry/loki.schema.json.js.map +1 -0
  400. package/dist/esm/schema/registry/marcusolsson-csv-datasource.schema.json.js +45 -0
  401. package/dist/esm/schema/registry/marcusolsson-csv-datasource.schema.json.js.map +1 -0
  402. package/dist/esm/schema/registry/marcusolsson-json-datasource.schema.json.js +36 -0
  403. package/dist/esm/schema/registry/marcusolsson-json-datasource.schema.json.js.map +1 -0
  404. package/dist/esm/schema/registry/mssql.schema.json.js +292 -0
  405. package/dist/esm/schema/registry/mssql.schema.json.js.map +1 -0
  406. package/dist/esm/schema/registry/mysql.schema.json.js +304 -0
  407. package/dist/esm/schema/registry/mysql.schema.json.js.map +1 -0
  408. package/dist/esm/schema/registry/opentsdb.schema.json.js +113 -0
  409. package/dist/esm/schema/registry/opentsdb.schema.json.js.map +1 -0
  410. package/dist/esm/schema/registry/prometheus.schema.json.js +783 -0
  411. package/dist/esm/schema/registry/prometheus.schema.json.js.map +1 -0
  412. package/dist/esm/schema/registry/stackdriver.schema.json.js +224 -0
  413. package/dist/esm/schema/registry/stackdriver.schema.json.js.map +1 -0
  414. package/dist/esm/schema/registry/tempo.schema.json.js +664 -0
  415. package/dist/esm/schema/registry/tempo.schema.json.js.map +1 -0
  416. package/dist/esm/schema/registry/yesoreyeram-infinity-datasource.schema.json.js +1073 -0
  417. package/dist/esm/schema/registry/yesoreyeram-infinity-datasource.schema.json.js.map +1 -0
  418. package/dist/esm/schema/registry/zipkin.schema.json.js +40 -0
  419. package/dist/esm/schema/registry/zipkin.schema.json.js.map +1 -0
  420. package/dist/esm/schema/utils/dsconfig.js +97 -0
  421. package/dist/esm/schema/utils/dsconfig.js.map +1 -0
  422. package/dist/esm/schema/utils/llm.js +54 -0
  423. package/dist/esm/schema/utils/llm.js.map +1 -0
  424. package/dist/esm/schema/utils/provisioning.js +434 -0
  425. package/dist/esm/schema/utils/provisioning.js.map +1 -0
  426. package/dist/esm/schema/utils/useDatasourceSchema.js +16 -0
  427. package/dist/esm/schema/utils/useDatasourceSchema.js.map +1 -0
  428. package/dist/esm/schemas.d.ts +448 -0
  429. package/dist/esm/schemas.js +6 -0
  430. package/dist/esm/schemas.js.map +1 -0
  431. package/dist/esm/test/mocks/DataQuery.js.map +1 -1
  432. package/dist/esm/test/mocks/Datasource.js +1 -1
  433. package/dist/esm/test/mocks/Datasource.js.map +1 -1
  434. package/dist/esm/test/mocks/Plugin.js +1 -1
  435. package/dist/esm/test/mocks/Plugin.js.map +1 -1
  436. package/dist/esm/test/mocks/QueryEditorProps.js.map +1 -1
  437. package/dist/esm/test/mocks/utils.js +2 -2
  438. package/dist/esm/test/mocks/utils.js.map +1 -1
  439. package/dist/esm/test-utils.d.ts +24 -24
  440. package/package.json +40 -20
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var useDatasourceSchema = require('./useDatasourceSchema-CxPGD2-b.js');
6
+ require('js-yaml');
7
+ require('@marcbachmann/cel-js');
8
+ require('react');
9
+
10
+
11
+
12
+ exports.ROOT_CONFIG_FIELDS = useDatasourceSchema.ROOT_CONFIG_FIELDS;
13
+ exports.buildCloneDatasourcePayload = useDatasourceSchema.buildCloneDatasourcePayload;
14
+ exports.buildCreateDatasourcePayload = useDatasourceSchema.buildCreateDatasourcePayload;
15
+ exports.buildUpdateDatasourcePayload = useDatasourceSchema.buildUpdateDatasourcePayload;
16
+ exports.configToYaml = useDatasourceSchema.configToYaml;
17
+ exports.datasourceToProvisioningYaml = useDatasourceSchema.datasourceToProvisioningYaml;
18
+ exports.fetchConfigSchema = useDatasourceSchema.fetchConfigSchema;
19
+ exports.formatYamlDiff = useDatasourceSchema.formatYamlDiff;
20
+ exports.generateLLMHint = useDatasourceSchema.generateLLMHint;
21
+ exports.generateTroubleshootingFields = useDatasourceSchema.generateTroubleshootingFields;
22
+ exports.getConfigSchema = useDatasourceSchema.getConfigSchema;
23
+ exports.toProvisioningYaml = useDatasourceSchema.toProvisioningYaml;
24
+ exports.useDatasourceSchema = useDatasourceSchema.useDatasourceSchema;
25
+ //# sourceMappingURL=schemas.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,448 @@
1
+ interface DatasourceConfigSchema {
2
+ /**
3
+ * Schema version (required)
4
+ * Used for compatibility and migrations
5
+ *
6
+ * Example: "v2"
7
+ */
8
+ schemaVersion: string;
9
+ /**
10
+ * Unique datasource plugin identifier
11
+ * Example: "prometheus"
12
+ */
13
+ pluginType: string;
14
+ /**
15
+ * Human-readable name
16
+ */
17
+ pluginName: string;
18
+ /**
19
+ * Optional documentation URL
20
+ */
21
+ docURL?: string;
22
+ /**
23
+ * Source of truth for configuration
24
+ */
25
+ fields: ConfigField[];
26
+ /**
27
+ * Optional UI grouping
28
+ */
29
+ groups?: ConfigGroup[];
30
+ /**
31
+ * Relationships between fields
32
+ */
33
+ relationships?: FieldRelationship[];
34
+ }
35
+ interface ConfigField {
36
+ /**
37
+ * Globally unique identifier
38
+ * Recommended format: dot-separated path
39
+ * Example: "auth.method", "httpHeaders.item.key"
40
+ */
41
+ id: string;
42
+ /**
43
+ * Local key used in storage or object
44
+ */
45
+ key: string;
46
+ /**
47
+ * UI metadata
48
+ */
49
+ label?: string;
50
+ description?: string;
51
+ docURL?: string;
52
+ /**
53
+ * Core type of the field
54
+ */
55
+ valueType: ValueType;
56
+ /**
57
+ * Semantic meaning (optional)
58
+ */
59
+ semanticType?: SemanticType;
60
+ /**
61
+ * Storage location (required for storage fields)
62
+ */
63
+ target?: TargetLocation;
64
+ /**
65
+ * Dotted path prefix within the target for nested objects.
66
+ * Example: for jsonData.tracesToLogs.datasourceUid,
67
+ * target="jsonData", section="tracesToLogs", key="datasourceUid".
68
+ */
69
+ section?: string;
70
+ /**
71
+ * Field kind.
72
+ * @default "storage"
73
+ */
74
+ kind?: FieldKind;
75
+ /**
76
+ * True if field belongs to array item schema
77
+ */
78
+ isItemField?: boolean;
79
+ /**
80
+ * Lifecycle state
81
+ */
82
+ lifecycle?: Lifecycle;
83
+ /**
84
+ * UI rendering hints
85
+ */
86
+ ui?: FieldUI;
87
+ /**
88
+ * Validations rules
89
+ */
90
+ validations?: FieldValidationRule[];
91
+ /**
92
+ * Visibility condition (CEL expression)
93
+ */
94
+ dependsOn?: Expression;
95
+ /**
96
+ * Always required
97
+ */
98
+ required?: boolean;
99
+ /**
100
+ * Conditionally required
101
+ */
102
+ requiredWhen?: Expression;
103
+ /**
104
+ * Disabled condition
105
+ */
106
+ disabledWhen?: Expression;
107
+ /**
108
+ * Dynamic overrides
109
+ */
110
+ overrides?: FieldOverride[];
111
+ /**
112
+ * Declarative multi-field write side-effects.
113
+ * When this field's value matches a condition, the listed target
114
+ * fields are set to specified values. Typically used on virtual
115
+ * selector fields (e.g. auth method dropdown).
116
+ */
117
+ effects?: FieldEffect[];
118
+ /**
119
+ * Item schema for array elements or map values.
120
+ * Required if valueType === "array" or "map".
121
+ */
122
+ item?: FieldItemSchema;
123
+ /**
124
+ * Legacy indexed fields (deprecated)
125
+ */
126
+ repeatable?: boolean;
127
+ pattern?: string;
128
+ /**
129
+ * Storage mapping
130
+ */
131
+ storage?: StorageMapping;
132
+ /**
133
+ * Metadata
134
+ */
135
+ tags?: string[];
136
+ examples?: unknown[];
137
+ defaultValue?: unknown;
138
+ }
139
+ interface FieldItemSchema {
140
+ /**
141
+ * Type of array items or map values.
142
+ * For arrays, describes each element.
143
+ * For maps, describes each value (keys are always strings).
144
+ */
145
+ valueType: ValueType;
146
+ /**
147
+ * Sub-fields for object items. Optional even when valueType = "object"
148
+ * (omitting allows an unconstrained object).
149
+ */
150
+ fields?: ConfigField[];
151
+ }
152
+ /**
153
+ * CEL expression string
154
+ */
155
+ type Expression = string;
156
+ type ValueType = 'string' | 'number' | 'boolean' | 'array' | 'object' | 'map' | 'any';
157
+ type SemanticType = 'url' | 'password' | 'token' | 'hostname' | 'duration' | 'datasourceUid' | 'query';
158
+ type FieldKind = 'storage' | 'virtual';
159
+ type Lifecycle = 'stable' | 'deprecated' | 'experimental';
160
+ type TargetLocation = 'root' | 'jsonData' | 'secureJsonData';
161
+ type UIComponent = 'input' | 'textarea' | 'select' | 'multiselect' | 'radio' | 'checkbox' | 'switch' | 'code' | 'keyvalue' | 'list' | 'fileUpload';
162
+ type UIWidth = 'full' | 'half';
163
+ /**
164
+ * UI configuration
165
+ */
166
+ interface FieldUI {
167
+ component: UIComponent;
168
+ multiline?: boolean;
169
+ rows?: number;
170
+ options?: FieldOption[];
171
+ allowCustom?: boolean;
172
+ width?: UIWidth;
173
+ placeholder?: string;
174
+ /**
175
+ * Language hint for code editor components.
176
+ * Example: "promql", "logql", "traceql", "sql", "json"
177
+ */
178
+ language?: string;
179
+ /**
180
+ * Layout row index for item fields inside object arrays.
181
+ * Fields with the same row number are rendered horizontally.
182
+ * Fields without a row number use auto-layout:
183
+ * - ≤3 fields: all on one row
184
+ * - >3 fields: each on its own row
185
+ */
186
+ row?: number;
187
+ /**
188
+ * Accepted file types for fileUpload component.
189
+ * Uses HTML accept attribute format with leading dot.
190
+ * Example: [".json"]
191
+ */
192
+ accept?: string[];
193
+ /**
194
+ * Maps keys in an uploaded JSON file to target field IDs.
195
+ * Used by fileUpload to distribute parsed values to other form fields.
196
+ * Example: { "private_key": "secureJsonData.privateKey", "client_email": "jsonData.clientEmail" }
197
+ */
198
+ fileMapping?: Record<string, string>;
199
+ }
200
+ type FieldValidationRule = PatternValidationRule | RangeValidationRule | LengthValidationRule | ItemCountValidationRule | AllowedValuesValidationRule | CustomValidationRule;
201
+ interface BaseValidationRule {
202
+ /**
203
+ * Optional stable ID for the validation rule.
204
+ * Useful for docs, localization, and test snapshots.
205
+ */
206
+ id?: string;
207
+ /**
208
+ * Human-readable validation error message.
209
+ */
210
+ message?: string;
211
+ }
212
+ interface PatternValidationRule extends BaseValidationRule {
213
+ type: 'pattern';
214
+ pattern: string;
215
+ }
216
+ interface RangeValidationRule extends BaseValidationRule {
217
+ type: 'range';
218
+ min?: number;
219
+ max?: number;
220
+ }
221
+ interface LengthValidationRule extends BaseValidationRule {
222
+ type: 'length';
223
+ min?: number;
224
+ max?: number;
225
+ }
226
+ interface ItemCountValidationRule extends BaseValidationRule {
227
+ type: 'itemCount';
228
+ min?: number;
229
+ max?: number;
230
+ }
231
+ interface AllowedValuesValidationRule extends BaseValidationRule {
232
+ type: 'allowedValues';
233
+ values: unknown[];
234
+ }
235
+ interface CustomValidationRule extends BaseValidationRule {
236
+ type: 'custom';
237
+ /**
238
+ * CEL expression.
239
+ *
240
+ * Should evaluate to true when the field value is valid.
241
+ */
242
+ expression: Expression;
243
+ }
244
+ interface FieldOverride {
245
+ /**
246
+ * CEL condition
247
+ */
248
+ when: Expression;
249
+ defaultValue?: unknown;
250
+ /**
251
+ * When true, the field is disabled/read-only while this override is active.
252
+ */
253
+ readOnly?: boolean;
254
+ description?: string;
255
+ placeholder?: string;
256
+ tooltip?: string;
257
+ validations?: FieldValidationRule[];
258
+ options?: FieldOption[];
259
+ /**
260
+ * When present on an `isItemField` field, the value is routed to
261
+ * `secureJsonData` under the resolved key instead of being stored
262
+ * inline in the parent array.
263
+ *
264
+ * The template string supports placeholders:
265
+ * - `{index}` — 0-based array position
266
+ * - `{index1}` — 1-based array position
267
+ * - `{item.KEY}` — value of sibling item field `KEY`
268
+ *
269
+ * Examples:
270
+ * - `"secureHttpHeaders.{item.name}"` (ClickHouse)
271
+ * - `"httpHeaderValue{index1}"` (Grafana core headers)
272
+ */
273
+ secureKey?: string;
274
+ }
275
+ /**
276
+ * Declares that when a field's value matches a condition,
277
+ * listed target fields should be set to specified values.
278
+ *
279
+ * Use "value" in the `when` expression to refer to the field's value.
280
+ */
281
+ interface FieldEffect {
282
+ /**
283
+ * CEL expression. Example: "value == 'basic-auth'"
284
+ */
285
+ when: Expression;
286
+ /**
287
+ * Maps field IDs to the values they should be set to.
288
+ * Must contain at least one entry.
289
+ */
290
+ set: Record<string, unknown> & {
291
+ [k: string]: unknown;
292
+ };
293
+ }
294
+ type StorageMapping = DirectMapping | IndexedPairMapping | ComputedMapping;
295
+ /**
296
+ * Direct mapping
297
+ */
298
+ interface DirectMapping {
299
+ type: 'direct';
300
+ }
301
+ /**
302
+ * Indexed pair mapping (headers)
303
+ */
304
+ interface IndexedPairMapping {
305
+ type: 'indexedPair';
306
+ key: MappingField;
307
+ value: MappingField;
308
+ startIndex?: number;
309
+ }
310
+ /**
311
+ * Computed mapping (virtual fields).
312
+ * At least one of `read` or `write` must be provided.
313
+ */
314
+ type ComputedMapping = {
315
+ type: 'computed';
316
+ read: Expression;
317
+ write?: Expression;
318
+ } | {
319
+ type: 'computed';
320
+ read?: Expression;
321
+ write: Expression;
322
+ };
323
+ /**
324
+ * Mapping field
325
+ */
326
+ interface MappingField {
327
+ target: TargetLocation;
328
+ pattern: string;
329
+ }
330
+ interface FieldOption {
331
+ label: string;
332
+ /**
333
+ * Must match parent field valueType.
334
+ * Must not be null.
335
+ */
336
+ value: NonNullable<unknown>;
337
+ /**
338
+ * Optional human-readable description of the option.
339
+ */
340
+ description?: string;
341
+ }
342
+ interface ConfigGroup {
343
+ id: string;
344
+ title: string;
345
+ description?: string;
346
+ order?: number;
347
+ /**
348
+ * When true, the group is optional and can be collapsed/hidden by default.
349
+ */
350
+ optional?: boolean;
351
+ /**
352
+ * References field IDs (not keys)
353
+ */
354
+ fieldRefs: string[];
355
+ }
356
+ type RelationshipType = 'pair' | 'group' | 'datasourceReference';
357
+ interface FieldRelationship {
358
+ type: RelationshipType;
359
+ /**
360
+ * References field IDs
361
+ */
362
+ fields: string[];
363
+ description?: string;
364
+ /**
365
+ * Constrains the datasource UID to a specific plugin type.
366
+ * Only applicable when type is "datasourceReference".
367
+ */
368
+ targetPluginType?: string;
369
+ }
370
+ type SecureFieldState = {
371
+ type: 'unset';
372
+ } | {
373
+ type: 'configured';
374
+ } | {
375
+ type: 'updated';
376
+ value: string;
377
+ };
378
+ interface FormState {
379
+ values: Record<string, unknown>;
380
+ secure: Record<string, SecureFieldState>;
381
+ }
382
+
383
+ declare function getConfigSchema(pluginType: string): DatasourceConfigSchema | null;
384
+
385
+ /**
386
+ * Generate LLM hints for select fields (used when creating datasources).
387
+ */
388
+ declare function generateLLMHint(schema: DatasourceConfigSchema): string;
389
+ /**
390
+ * Generate comprehensive structured field data for troubleshooting context.
391
+ * Returns an array of field descriptors the LLM can use to render rich tables.
392
+ */
393
+ declare function generateTroubleshootingFields(schema: DatasourceConfigSchema): Array<{
394
+ label: string;
395
+ key: string;
396
+ target: string;
397
+ type: string;
398
+ required: boolean;
399
+ description?: string;
400
+ defaultValue?: unknown;
401
+ options?: string[];
402
+ section?: string;
403
+ dependsOn?: string;
404
+ }>;
405
+
406
+ type YamlRenderOptions = {
407
+ jsonDataKeys?: string[];
408
+ secureKeys?: string[];
409
+ };
410
+ type ProvisioningYamlOptions = {
411
+ /** Include comments with field descriptions. Default: true for template, false for export. */
412
+ comments?: boolean;
413
+ /** Name override (used in template mode). */
414
+ name?: string;
415
+ };
416
+ /**
417
+ * Generate a Grafana provisioning YAML from a dsconfig schema.
418
+ * In template mode (no values), emits all fields with defaults and comments.
419
+ * When values are provided, emits actual values — used for existing datasource export.
420
+ */
421
+ declare function toProvisioningYaml(schema: DatasourceConfigSchema, values?: Record<string, unknown>, options?: ProvisioningYamlOptions): string;
422
+ /**
423
+ * Generate provisioning YAML from an existing Grafana datasource API response.
424
+ * If a dsconfig schema is available, uses it for field ordering and comments.
425
+ * If not, generates basic YAML from the raw API response.
426
+ */
427
+ declare function datasourceToProvisioningYaml(ds: Record<string, unknown>, schema: DatasourceConfigSchema | null): string;
428
+ declare const configToYaml: (ds: Record<string, unknown>, options?: YamlRenderOptions) => string;
429
+ declare const formatYamlDiff: (existing: Record<string, unknown>, body: Record<string, unknown>) => string;
430
+
431
+ type UseDatasourceSchemaResult = {
432
+ schema: DatasourceConfigSchema | null;
433
+ loading: boolean;
434
+ error: string | null;
435
+ };
436
+ declare function useDatasourceSchema(pluginType: string): UseDatasourceSchemaResult;
437
+ declare function fetchConfigSchema(pluginType: string): DatasourceConfigSchema | null;
438
+
439
+ declare const ROOT_CONFIG_FIELDS: readonly ["name", "type", "id", "uid", "access", "url", "basicAuth", "basicAuthUser", "user", "isDefault", "database", "withCredentials"];
440
+ type DatasourceConfig = Record<any, any>;
441
+ declare const buildCreateDatasourcePayload: (input: DatasourceConfig) => DatasourceConfig;
442
+ declare const buildCloneDatasourcePayload: (source: DatasourceConfig, name: string) => DatasourceConfig;
443
+ declare const buildUpdateDatasourcePayload: (existing: DatasourceConfig, input: DatasourceConfig) => {
444
+ body: DatasourceConfig;
445
+ hasChanges: boolean;
446
+ };
447
+
448
+ export { type AllowedValuesValidationRule, type BaseValidationRule, type ComputedMapping, type ConfigField, type ConfigGroup, type CustomValidationRule, type DatasourceConfigSchema, type DirectMapping, type Expression, type FieldEffect, type FieldItemSchema, type FieldKind, type FieldOption, type FieldOverride, type FieldRelationship, type FieldUI, type FieldValidationRule, type FormState, type IndexedPairMapping, type ItemCountValidationRule, type LengthValidationRule, type Lifecycle, type MappingField, type PatternValidationRule, type ProvisioningYamlOptions, ROOT_CONFIG_FIELDS, type RangeValidationRule, type RelationshipType, type SecureFieldState, type SemanticType, type StorageMapping, type TargetLocation, type UIComponent, type UIWidth, type ValueType, buildCloneDatasourcePayload, buildCreateDatasourcePayload, buildUpdateDatasourcePayload, configToYaml, datasourceToProvisioningYaml, fetchConfigSchema, formatYamlDiff, generateLLMHint, generateTroubleshootingFields, getConfigSchema, toProvisioningYaml, useDatasourceSchema };
@@ -14,7 +14,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
14
14
  var userEvent__default = /*#__PURE__*/_interopDefaultCompat(userEvent);
15
15
 
16
16
  const generateBoolean = () => chance.Chance().pickone([true, false]);
17
- const undefinedOr = (fn) => chance.Chance().pickone([undefined, fn()]);
17
+ const undefinedOr = (fn) => chance.Chance().pickone([void 0, fn()]);
18
18
  const generateArrayOf = (fn, numberOf = 3) => Array.from(new Array(numberOf), () => fn());
19
19
  const openSelect = (container, optionLabel) => {
20
20
  const selectInput = react.within(container).getByRole("textbox");
@@ -22,7 +22,7 @@ const openSelect = (container, optionLabel) => {
22
22
  userEvent__default.default.type(selectInput, optionLabel != null ? optionLabel : "{arrowdown}");
23
23
  };
24
24
  const selectOption = async (container, optionLabel, typeOptionLabel) => {
25
- openSelect(container, typeOptionLabel ? optionLabel : undefined);
25
+ openSelect(container, typeOptionLabel ? optionLabel : void 0);
26
26
  const option = await react.waitFor(() => react.within(container).getByText(optionLabel));
27
27
  userEvent__default.default.click(option);
28
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.cjs","sources":["../../src/test/mocks/utils.ts","../../src/test/mocks/Plugin.ts","../../src/test/mocks/Datasource.ts","../../src/test/mocks/DataQuery.ts","../../src/test/mocks/QueryEditorProps.ts"],"sourcesContent":["import { type SelectableValue } from '@grafana/data';\nimport { Chance } from 'chance';\nimport { within, fireEvent, waitFor } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { kebabCase } from 'lodash';\n\nexport const generateBoolean = () => Chance().pickone([true, false]);\n\nexport const undefinedOr = (fn: Function) => Chance().pickone([undefined, fn()]);\n\nexport const generateArrayOf = (fn: Function, numberOf = 3) => Array.from(new Array(numberOf), () => fn());\n\n// react-select (used by @grafana/ui) renders very differently from the native Select HTML element\n// and because they are not accessible and do not pass data-testid or aria-labels down,\n// it is difficult to grab the correct element and simulate selecting different options\n// the helper functions below can be used instead\n\n/**\n * Opens a Select or MultiSelect dropdown\n *\n * @param {HTMLElement} container The container wrapping the Select or MultiSelect component\n * @param {string} optionLabel The option text we want to type or search\n */\nexport const openSelect = (container: HTMLElement, optionLabel?: string) => {\n const selectInput = within(container).getByRole('textbox');\n\n // this needs to be here to support autoFocus=true prop\n fireEvent.blur(selectInput);\n\n // if we have an async Select, we want to type the option label to make the option available\n // otherwise, just press down to open the dropdown\n userEvent.type(selectInput, optionLabel ?? '{arrowdown}');\n};\n\n/**\n * Selects an option from the Select or MultiSelect component\n *\n * @param {HTMLElement} container The container wrapping the Select or MultiSelect component\n * @param {string} optionLabel The option we want to select\n * @param {boolean} [typeOptionLabel=false] If we should type the optional label after opening - this is useful for AsyncSelect\n */\nexport const selectOption = async (container: HTMLElement, optionLabel: string, typeOptionLabel?: boolean) => {\n openSelect(container, typeOptionLabel ? optionLabel : undefined);\n\n // wait for the list to show\n const option = await waitFor(() => within(container).getByText(optionLabel));\n\n // select the option\n userEvent.click(option);\n};\n\nexport const generateOptions = (): Array<SelectableValue<string>> => {\n const numberOfOptions = 5;\n\n return Array.from(new Array(numberOfOptions), () => {\n const name = Chance().name();\n\n return {\n label: name,\n value: kebabCase(name),\n };\n });\n};\n","import { Chance } from 'chance';\nimport {\n type DataSourcePluginMeta,\n type PluginMetaInfo,\n type PluginMeta,\n PluginState,\n PluginSignatureStatus,\n type PluginInclude,\n PluginIncludeType,\n type PluginDependencies,\n PluginType,\n} from '@grafana/data';\nimport { generateBoolean } from './utils';\n\nexport const mockDataSourcePluginMeta = (): DataSourcePluginMeta => ({\n builtIn: generateBoolean(),\n metrics: generateBoolean(),\n logs: generateBoolean(),\n annotations: generateBoolean(),\n alerting: generateBoolean(),\n tracing: generateBoolean(),\n mixed: generateBoolean(),\n hasQueryHelp: generateBoolean(),\n category: Chance().word(),\n queryOptions: {\n cacheTimeout: generateBoolean(),\n maxDataPoints: generateBoolean(),\n minInterval: generateBoolean(),\n },\n sort: 1,\n streaming: generateBoolean(),\n unlicensed: generateBoolean(),\n id: Chance().word(),\n name: Chance().word(),\n type: mockPluginType(),\n info: mockPluginMetaInfo(),\n module: Chance().word(),\n baseUrl: Chance().word(),\n});\n\nexport const mockPluginMetaInfo = (): PluginMetaInfo => ({\n author: {\n name: Chance().word(),\n url: Chance().word(),\n },\n description: Chance().word(),\n links: [],\n logos: {\n large: Chance().word(),\n small: Chance().word(),\n },\n screenshots: [],\n updated: Chance().word(),\n version: Chance().word(),\n});\n\nexport const mockPluginMeta = (): PluginMeta => ({\n id: Chance().word(),\n name: Chance().word(),\n type: mockPluginType(),\n info: mockPluginMetaInfo(),\n includes: [mockPluginInclude()],\n state: mockPluginState(),\n module: Chance().word(),\n baseUrl: Chance().word(),\n dependencies: mockPluginDependencies(),\n jsonData: {},\n secureJsonData: {},\n enabled: generateBoolean(),\n defaultNavUrl: Chance().word(),\n hasUpdate: generateBoolean(),\n enterprise: generateBoolean(),\n latestVersion: Chance().word(),\n pinned: generateBoolean(),\n signature: mockPluginSignatureStatus(),\n live: generateBoolean(),\n});\n\nexport const mockPluginInclude = (): PluginInclude => ({\n type: mockPluginIncludeType(),\n name: Chance().word(),\n path: Chance().word(),\n icon: Chance().word(),\n role: Chance().word(),\n addToNav: generateBoolean(),\n component: Chance().word(),\n});\n\nexport const mockPluginType = (): PluginType =>\n Chance().pickone([PluginType.panel, PluginType.datasource, PluginType.app, PluginType.renderer]);\n\nexport const mockPluginIncludeType = (): PluginIncludeType =>\n Chance().pickone([\n PluginIncludeType.dashboard,\n PluginIncludeType.page,\n PluginIncludeType.panel,\n PluginIncludeType.datasource,\n ]);\n\nexport const mockPluginState = (): PluginState =>\n Chance().pickone([PluginState.alpha, PluginState.beta, PluginState.deprecated]);\n\nexport const mockPluginDependencies = (): PluginDependencies => ({\n grafanaVersion: Chance().word(),\n plugins: [],\n});\n\nexport const mockPluginSignatureStatus = (): PluginSignatureStatus =>\n Chance().pickone([\n PluginSignatureStatus.internal,\n PluginSignatureStatus.valid,\n PluginSignatureStatus.invalid,\n PluginSignatureStatus.modified,\n PluginSignatureStatus.missing,\n ]);\n","import { type DataSourceInstanceSettings, type QueryHint } from '@grafana/data';\nimport { DataSourceWithBackend } from '@grafana/runtime';\nimport { Chance } from 'chance';\nimport { mockDataSourcePluginMeta } from './Plugin';\nimport { generateBoolean, undefinedOr } from './utils';\n\nclass DatasourceMock extends DataSourceWithBackend {\n // DataSourceWithBackend\n query = jest.fn();\n filterQuery = undefinedOr(generateBoolean);\n applyTemplateVariables = jest.fn();\n getResource = jest.fn();\n postResource = jest.fn();\n callHealthCheck = jest.fn();\n testDatasource = jest.fn();\n // DataSourceApi\n uid = Chance().guid();\n name = Chance().word();\n id = 1;\n type = Chance().word();\n interval = Chance().word();\n importQueries = jest.fn();\n init = jest.fn();\n getQueryHints = jest.fn().mockReturnValue([mockQueryHint()]);\n getQueryDisplayText = jest.fn().mockReturnValue(Chance().word());\n metricFindQuery = jest.fn();\n getTagKeys = jest.fn();\n getTagValues = jest.fn();\n components = {};\n meta = mockDataSourcePluginMeta();\n targetContainsTemplate = jest.fn();\n modifyQuery = jest.fn();\n getHighlighterExpression = jest.fn();\n languageProvider = jest.fn();\n getVersion = jest.fn();\n interpolateVariablesInQueries = jest.fn();\n annotations = {};\n annotationQuery = jest.fn();\n streamOptionsProvider = jest.fn();\n getRef = jest.fn();\n protected getRequestHeaders = jest.fn();\n}\n\nexport const mockDatasource = () => new DatasourceMock(mockDatasourceInstanceSettings());\n\nconst mockQueryHint = (): QueryHint => ({\n type: Chance().word(),\n label: Chance().word(),\n fix: {\n label: Chance().word(),\n action: {\n type: Chance().word(),\n query: Chance().word(),\n preventSubmit: generateBoolean(),\n },\n },\n});\n\nexport const mockDatasourceInstanceSettings = (): DataSourceInstanceSettings => ({\n id: Chance().integer(),\n uid: Chance().word(),\n type: Chance().word(),\n name: Chance().word(),\n meta: mockDataSourcePluginMeta(),\n url: Chance().word(),\n jsonData: {},\n username: Chance().word(),\n password: Chance().word(),\n database: Chance().word(),\n basicAuth: Chance().word(),\n withCredentials: generateBoolean(),\n access: Chance().pickone(['direct', 'proxy']),\n readOnly: false,\n});\n","import { type DataQuery } from '@grafana/data';\nimport { Chance } from 'chance';\nimport { undefinedOr } from './utils';\n\nexport const mockDataQuery = (): DataQuery => ({\n refId: Chance().word(),\n hide: false,\n key: Chance().guid(),\n queryType: Chance().word(),\n datasource: undefinedOr(() => Chance().word()),\n});\n","import { type QueryEditorProps, DataTopic, dateTime, LoadingState, type TimeRange } from '@grafana/data';\nimport { Chance } from 'chance';\n\nexport const mockQueryEditorProps = (): QueryEditorProps<any, any, any> => ({\n datasource: {},\n query: {\n refId: Chance().word(),\n hide: false,\n key: Chance().word(),\n queryType: Chance().word(),\n dataTopic: DataTopic.Annotations,\n datasource: Chance().pickone([Chance().word(), null]),\n },\n onRunQuery: jest.fn(),\n onChange: jest.fn(),\n onBlur: jest.fn(),\n data: {\n state: mockLoadingState(),\n series: [],\n annotations: [],\n timeRange: mockTimeRange(),\n },\n range: mockTimeRange(),\n history: [],\n});\n\nexport const mockLoadingState = (): LoadingState =>\n Chance().pickone([\n LoadingState.NotStarted,\n LoadingState.Loading,\n LoadingState.Streaming,\n LoadingState.Done,\n LoadingState.Error,\n ]);\n\nexport const mockTimeRange = (): TimeRange => ({\n from: dateTime(),\n to: dateTime(),\n raw: {\n from: dateTime(),\n to: dateTime(),\n },\n});\n"],"names":["Chance","within","fireEvent","userEvent","waitFor","kebabCase","PluginType","PluginIncludeType","PluginState","PluginSignatureStatus","DataSourceWithBackend","DataTopic","LoadingState","dateTime"],"mappings":"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"}
1
+ {"version":3,"file":"test-utils.cjs","sources":["../../src/test/mocks/utils.ts","../../src/test/mocks/Plugin.ts","../../src/test/mocks/Datasource.ts","../../src/test/mocks/DataQuery.ts","../../src/test/mocks/QueryEditorProps.ts"],"sourcesContent":["import { type SelectableValue } from '@grafana/data';\nimport { Chance } from 'chance';\nimport { within, fireEvent, waitFor } from '@testing-library/react';\nimport userEvent from '@testing-library/user-event';\nimport { kebabCase } from 'lodash';\n\nexport const generateBoolean = () => Chance().pickone([true, false]);\n\nexport const undefinedOr = (fn: Function) => Chance().pickone([undefined, fn()]);\n\nexport const generateArrayOf = (fn: Function, numberOf = 3) => Array.from(new Array(numberOf), () => fn());\n\n// react-select (used by @grafana/ui) renders very differently from the native Select HTML element\n// and because they are not accessible and do not pass data-testid or aria-labels down,\n// it is difficult to grab the correct element and simulate selecting different options\n// the helper functions below can be used instead\n\n/**\n * Opens a Select or MultiSelect dropdown\n *\n * @param {HTMLElement} container The container wrapping the Select or MultiSelect component\n * @param {string} optionLabel The option text we want to type or search\n */\nexport const openSelect = (container: HTMLElement, optionLabel?: string) => {\n const selectInput = within(container).getByRole('textbox');\n\n // this needs to be here to support autoFocus=true prop\n fireEvent.blur(selectInput);\n\n // if we have an async Select, we want to type the option label to make the option available\n // otherwise, just press down to open the dropdown\n userEvent.type(selectInput, optionLabel ?? '{arrowdown}');\n};\n\n/**\n * Selects an option from the Select or MultiSelect component\n *\n * @param {HTMLElement} container The container wrapping the Select or MultiSelect component\n * @param {string} optionLabel The option we want to select\n * @param {boolean} [typeOptionLabel=false] If we should type the optional label after opening - this is useful for AsyncSelect\n */\nexport const selectOption = async (container: HTMLElement, optionLabel: string, typeOptionLabel?: boolean) => {\n openSelect(container, typeOptionLabel ? optionLabel : undefined);\n\n // wait for the list to show\n const option = await waitFor(() => within(container).getByText(optionLabel));\n\n // select the option\n userEvent.click(option);\n};\n\nexport const generateOptions = (): Array<SelectableValue<string>> => {\n const numberOfOptions = 5;\n\n return Array.from(new Array(numberOfOptions), () => {\n const name = Chance().name();\n\n return {\n label: name,\n value: kebabCase(name),\n };\n });\n};\n","import { Chance } from 'chance';\nimport {\n type DataSourcePluginMeta,\n type PluginMetaInfo,\n type PluginMeta,\n PluginState,\n PluginSignatureStatus,\n type PluginInclude,\n PluginIncludeType,\n type PluginDependencies,\n PluginType,\n} from '@grafana/data';\nimport { generateBoolean } from './utils';\n\nexport const mockDataSourcePluginMeta = (): DataSourcePluginMeta => ({\n builtIn: generateBoolean(),\n metrics: generateBoolean(),\n logs: generateBoolean(),\n annotations: generateBoolean(),\n alerting: generateBoolean(),\n tracing: generateBoolean(),\n mixed: generateBoolean(),\n hasQueryHelp: generateBoolean(),\n category: Chance().word(),\n queryOptions: {\n cacheTimeout: generateBoolean(),\n maxDataPoints: generateBoolean(),\n minInterval: generateBoolean(),\n },\n sort: 1,\n streaming: generateBoolean(),\n unlicensed: generateBoolean(),\n id: Chance().word(),\n name: Chance().word(),\n type: mockPluginType(),\n info: mockPluginMetaInfo(),\n module: Chance().word(),\n baseUrl: Chance().word(),\n});\n\nexport const mockPluginMetaInfo = (): PluginMetaInfo => ({\n author: {\n name: Chance().word(),\n url: Chance().word(),\n },\n description: Chance().word(),\n links: [],\n logos: {\n large: Chance().word(),\n small: Chance().word(),\n },\n screenshots: [],\n updated: Chance().word(),\n version: Chance().word(),\n});\n\nexport const mockPluginMeta = (): PluginMeta => ({\n id: Chance().word(),\n name: Chance().word(),\n type: mockPluginType(),\n info: mockPluginMetaInfo(),\n includes: [mockPluginInclude()],\n state: mockPluginState(),\n module: Chance().word(),\n baseUrl: Chance().word(),\n dependencies: mockPluginDependencies(),\n jsonData: {},\n secureJsonData: {},\n enabled: generateBoolean(),\n defaultNavUrl: Chance().word(),\n hasUpdate: generateBoolean(),\n enterprise: generateBoolean(),\n latestVersion: Chance().word(),\n pinned: generateBoolean(),\n signature: mockPluginSignatureStatus(),\n live: generateBoolean(),\n});\n\nexport const mockPluginInclude = (): PluginInclude => ({\n type: mockPluginIncludeType(),\n name: Chance().word(),\n path: Chance().word(),\n icon: Chance().word(),\n role: Chance().word(),\n addToNav: generateBoolean(),\n component: Chance().word(),\n});\n\nexport const mockPluginType = (): PluginType =>\n Chance().pickone([PluginType.panel, PluginType.datasource, PluginType.app, PluginType.renderer]);\n\nexport const mockPluginIncludeType = (): PluginIncludeType =>\n Chance().pickone([\n PluginIncludeType.dashboard,\n PluginIncludeType.page,\n PluginIncludeType.panel,\n PluginIncludeType.datasource,\n ]);\n\nexport const mockPluginState = (): PluginState =>\n Chance().pickone([PluginState.alpha, PluginState.beta, PluginState.deprecated]);\n\nexport const mockPluginDependencies = (): PluginDependencies => ({\n grafanaVersion: Chance().word(),\n plugins: [],\n});\n\nexport const mockPluginSignatureStatus = (): PluginSignatureStatus =>\n Chance().pickone([\n PluginSignatureStatus.internal,\n PluginSignatureStatus.valid,\n PluginSignatureStatus.invalid,\n PluginSignatureStatus.modified,\n PluginSignatureStatus.missing,\n ]);\n","import { type DataSourceInstanceSettings, type QueryHint } from '@grafana/data';\nimport { DataSourceWithBackend } from '@grafana/runtime';\nimport { Chance } from 'chance';\nimport { mockDataSourcePluginMeta } from './Plugin';\nimport { generateBoolean, undefinedOr } from './utils';\n\nclass DatasourceMock extends DataSourceWithBackend {\n // DataSourceWithBackend\n query = jest.fn();\n filterQuery = undefinedOr(generateBoolean);\n applyTemplateVariables = jest.fn();\n getResource = jest.fn();\n postResource = jest.fn();\n callHealthCheck = jest.fn();\n testDatasource = jest.fn();\n // DataSourceApi\n uid = Chance().guid();\n name = Chance().word();\n id = 1;\n type = Chance().word();\n interval = Chance().word();\n importQueries = jest.fn();\n init = jest.fn();\n getQueryHints = jest.fn().mockReturnValue([mockQueryHint()]);\n getQueryDisplayText = jest.fn().mockReturnValue(Chance().word());\n metricFindQuery = jest.fn();\n getTagKeys = jest.fn();\n getTagValues = jest.fn();\n components = {};\n meta = mockDataSourcePluginMeta();\n targetContainsTemplate = jest.fn();\n modifyQuery = jest.fn();\n getHighlighterExpression = jest.fn();\n languageProvider = jest.fn();\n getVersion = jest.fn();\n interpolateVariablesInQueries = jest.fn();\n annotations = {};\n annotationQuery = jest.fn();\n streamOptionsProvider = jest.fn();\n getRef = jest.fn();\n protected getRequestHeaders = jest.fn();\n}\n\nexport const mockDatasource = () => new DatasourceMock(mockDatasourceInstanceSettings());\n\nconst mockQueryHint = (): QueryHint => ({\n type: Chance().word(),\n label: Chance().word(),\n fix: {\n label: Chance().word(),\n action: {\n type: Chance().word(),\n query: Chance().word(),\n preventSubmit: generateBoolean(),\n },\n },\n});\n\nexport const mockDatasourceInstanceSettings = (): DataSourceInstanceSettings => ({\n id: Chance().integer(),\n uid: Chance().word(),\n type: Chance().word(),\n name: Chance().word(),\n meta: mockDataSourcePluginMeta(),\n url: Chance().word(),\n jsonData: {},\n username: Chance().word(),\n password: Chance().word(),\n database: Chance().word(),\n basicAuth: Chance().word(),\n withCredentials: generateBoolean(),\n access: Chance().pickone(['direct', 'proxy']),\n readOnly: false,\n});\n","import { type DataQuery } from '@grafana/data';\nimport { Chance } from 'chance';\nimport { undefinedOr } from './utils';\n\nexport const mockDataQuery = (): DataQuery => ({\n refId: Chance().word(),\n hide: false,\n key: Chance().guid(),\n queryType: Chance().word(),\n datasource: undefinedOr(() => Chance().word()),\n});\n","import { type QueryEditorProps, DataTopic, dateTime, LoadingState, type TimeRange } from '@grafana/data';\nimport { Chance } from 'chance';\n\nexport const mockQueryEditorProps = (): QueryEditorProps<any, any, any> => ({\n datasource: {},\n query: {\n refId: Chance().word(),\n hide: false,\n key: Chance().word(),\n queryType: Chance().word(),\n dataTopic: DataTopic.Annotations,\n datasource: Chance().pickone([Chance().word(), null]),\n },\n onRunQuery: jest.fn(),\n onChange: jest.fn(),\n onBlur: jest.fn(),\n data: {\n state: mockLoadingState(),\n series: [],\n annotations: [],\n timeRange: mockTimeRange(),\n },\n range: mockTimeRange(),\n history: [],\n});\n\nexport const mockLoadingState = (): LoadingState =>\n Chance().pickone([\n LoadingState.NotStarted,\n LoadingState.Loading,\n LoadingState.Streaming,\n LoadingState.Done,\n LoadingState.Error,\n ]);\n\nexport const mockTimeRange = (): TimeRange => ({\n from: dateTime(),\n to: dateTime(),\n raw: {\n from: dateTime(),\n to: dateTime(),\n },\n});\n"],"names":["Chance","within","fireEvent","userEvent","waitFor","kebabCase","PluginType","PluginIncludeType","PluginState","PluginSignatureStatus","DataSourceWithBackend","DataTopic","LoadingState","dateTime"],"mappings":"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"}
@@ -1,40 +1,40 @@
1
1
  import * as _grafana_data from '@grafana/data';
2
- import { DataSourceInstanceSettings, DataQuery, DataSourcePluginMeta, PluginMetaInfo, PluginMeta, PluginInclude, PluginType, PluginIncludeType, PluginState, PluginDependencies, PluginSignatureStatus, QueryEditorProps, LoadingState, TimeRange, SelectableValue } from '@grafana/data';
2
+ import { DataSourceInstanceSettings, DataQuery, DataSourcePluginMeta, PluginDependencies, PluginInclude, PluginIncludeType, PluginMeta, PluginMetaInfo, PluginSignatureStatus, PluginState, PluginType, LoadingState, QueryEditorProps, TimeRange, SelectableValue } from '@grafana/data';
3
3
  import { DataSourceWithBackend } from '@grafana/runtime';
4
4
 
5
5
  declare class DatasourceMock extends DataSourceWithBackend {
6
- query: jest.Mock<any, any>;
6
+ query: jest.Mock<any, any, any>;
7
7
  filterQuery: any;
8
- applyTemplateVariables: jest.Mock<any, any>;
9
- getResource: jest.Mock<any, any>;
10
- postResource: jest.Mock<any, any>;
11
- callHealthCheck: jest.Mock<any, any>;
12
- testDatasource: jest.Mock<any, any>;
8
+ applyTemplateVariables: jest.Mock<any, any, any>;
9
+ getResource: jest.Mock<any, any, any>;
10
+ postResource: jest.Mock<any, any, any>;
11
+ callHealthCheck: jest.Mock<any, any, any>;
12
+ testDatasource: jest.Mock<any, any, any>;
13
13
  uid: string;
14
14
  name: string;
15
15
  id: number;
16
16
  type: string;
17
17
  interval: string;
18
- importQueries: jest.Mock<any, any>;
19
- init: jest.Mock<any, any>;
20
- getQueryHints: jest.Mock<any, any>;
21
- getQueryDisplayText: jest.Mock<any, any>;
22
- metricFindQuery: jest.Mock<any, any>;
23
- getTagKeys: jest.Mock<any, any>;
24
- getTagValues: jest.Mock<any, any>;
18
+ importQueries: jest.Mock<any, any, any>;
19
+ init: jest.Mock<any, any, any>;
20
+ getQueryHints: jest.Mock<any, any, any>;
21
+ getQueryDisplayText: jest.Mock<any, any, any>;
22
+ metricFindQuery: jest.Mock<any, any, any>;
23
+ getTagKeys: jest.Mock<any, any, any>;
24
+ getTagValues: jest.Mock<any, any, any>;
25
25
  components: {};
26
26
  meta: _grafana_data.DataSourcePluginMeta<{}>;
27
- targetContainsTemplate: jest.Mock<any, any>;
28
- modifyQuery: jest.Mock<any, any>;
29
- getHighlighterExpression: jest.Mock<any, any>;
30
- languageProvider: jest.Mock<any, any>;
31
- getVersion: jest.Mock<any, any>;
32
- interpolateVariablesInQueries: jest.Mock<any, any>;
27
+ targetContainsTemplate: jest.Mock<any, any, any>;
28
+ modifyQuery: jest.Mock<any, any, any>;
29
+ getHighlighterExpression: jest.Mock<any, any, any>;
30
+ languageProvider: jest.Mock<any, any, any>;
31
+ getVersion: jest.Mock<any, any, any>;
32
+ interpolateVariablesInQueries: jest.Mock<any, any, any>;
33
33
  annotations: {};
34
- annotationQuery: jest.Mock<any, any>;
35
- streamOptionsProvider: jest.Mock<any, any>;
36
- getRef: jest.Mock<any, any>;
37
- protected getRequestHeaders: jest.Mock<any, any>;
34
+ annotationQuery: jest.Mock<any, any, any>;
35
+ streamOptionsProvider: jest.Mock<any, any, any>;
36
+ getRef: jest.Mock<any, any, any>;
37
+ protected getRequestHeaders: jest.Mock<any, any, any>;
38
38
  }
39
39
  declare const mockDatasource: () => DatasourceMock;
40
40
  declare const mockDatasourceInstanceSettings: () => DataSourceInstanceSettings;