@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
@@ -1,9 +1,10 @@
1
- import React, { ComponentProps, PureComponent, ReactElement, ReactNode, FunctionComponent, HTMLProps } from 'react';
1
+ import React, { ComponentProps, PureComponent, ReactElement, ReactNode, Component, ErrorInfo, FunctionComponent, HTMLProps } from 'react';
2
2
  import { Input, Segment as Segment$1, monacoTypes, Monaco, ButtonProps, Field, PopoverContent, Switch, SelectCommonProps, InlineLabel } from '@grafana/ui';
3
- import { DataSourceInstanceSettings, SelectableValue, DataSourceJsonData, VariableSuggestion, TimeRange, DataFrame, MetricFindValue, ThemeSpacingTokens, ScopedVars, DataFrameView, VariableModel, QueryEditorProps as QueryEditorProps$1, DataSourceSettings, RegistryItem, DataSourceApi, Registry, DataQuery as DataQuery$1, PanelData } from '@grafana/data';
3
+ import { DataSourceInstanceSettings, SelectableValue, DataSourceJsonData, VariableSuggestion, TimeRange, DataFrame, MetricFindValue, ThemeSpacingTokens, ScopedVars, VariableModel, DataFrameView, QueryEditorProps as QueryEditorProps$1, DataSourceSettings, RegistryItem, DataSourceApi, Registry, DataQuery as DataQuery$1, PanelData } from '@grafana/data';
4
4
  import { DataSourceSrv, DataSourceWithBackend, TemplateSrv } from '@grafana/runtime';
5
5
  import { JsonTree } from '@react-awesome-query-builder/ui';
6
6
  import { DataQuery } from '@grafana/schema';
7
+ import { SqlLanguage } from 'sql-formatter';
7
8
  import { Grammar } from 'prismjs';
8
9
 
9
10
  interface QueryEditorRowProps {
@@ -99,9 +100,6 @@ type Props$q = {
99
100
  };
100
101
  declare const DataLink: (props: Props$q) => React.JSX.Element;
101
102
 
102
- declare function applyQueryDefaults(q?: SQLQuery): SQLQuery;
103
- type QueryWithDefaults = ReturnType<typeof applyQueryDefaults>;
104
-
105
103
  declare enum QueryEditorPropertyType {
106
104
  String = "string"
107
105
  }
@@ -136,6 +134,21 @@ interface QueryEditorFunctionParameterExpression {
136
134
  name?: string;
137
135
  }
138
136
 
137
+ declare enum TokenType {
138
+ Parenthesis = "delimiter.parenthesis.sql",
139
+ Whitespace = "white.sql",
140
+ Keyword = "keyword.sql",
141
+ Delimiter = "delimiter.sql",
142
+ Operator = "operator.sql",
143
+ Identifier = "identifier.sql",
144
+ IdentifierQuote = "identifier.quote.sql",
145
+ Type = "type.sql",
146
+ Function = "predefined.sql",
147
+ Number = "number.sql",
148
+ String = "string.sql",
149
+ Variable = "variable.sql"
150
+ }
151
+
139
152
  declare class LinkedToken {
140
153
  type: string;
141
154
  value: string;
@@ -164,17 +177,6 @@ declare class LinkedToken {
164
177
  getNextOfType(type: TokenType, value?: string): LinkedToken | null;
165
178
  }
166
179
 
167
- type StatementPositionResolver = (currentToken: LinkedToken | null, previousKeyword: LinkedToken | null, previousNonWhiteSpace: LinkedToken | null, previousIsSlash: Boolean) => Boolean;
168
- type SuggestionsResolver = <T extends PositionContext = PositionContext>(positionContext: T) => Promise<CustomSuggestion[]>;
169
- interface SQLMonarchLanguage extends monacoTypes.languages.IMonarchLanguage {
170
- keywords?: string[];
171
- builtinFunctions?: string[];
172
- logicalOperators?: string[];
173
- comparisonOperators?: string[];
174
- /** Used by basic languages in the monaco registry **/
175
- operators?: string[];
176
- }
177
-
178
180
  /**
179
181
  * Provides a context for suggestions resolver
180
182
  * @alpha
@@ -290,7 +292,25 @@ interface SQLCompletionItemProvider extends Omit<monacoTypes.languages.Completio
290
292
  */
291
293
  provideCompletionItems?: (model: monacoTypes.editor.ITextModel, position: monacoTypes.Position, context: monacoTypes.languages.CompletionContext, token: monacoTypes.CancellationToken, positionContext: PositionContext) => monacoTypes.languages.CompletionList;
292
294
  }
295
+ interface SQLMonarchLanguage extends monacoTypes.languages.IMonarchLanguage {
296
+ keywords?: string[];
297
+ builtinFunctions?: string[];
298
+ logicalOperators?: string[];
299
+ comparisonOperators?: string[];
300
+ /** Used by basic languages in the monaco registry **/
301
+ operators?: string[];
302
+ }
303
+ type StatementPositionResolver = (currentToken: LinkedToken | null, previousKeyword: LinkedToken | null, previousNonWhiteSpace: LinkedToken | null, previousIsSlash: Boolean) => Boolean;
304
+ type SuggestionsResolver = <T extends PositionContext = PositionContext>(positionContext: T) => Promise<CustomSuggestion[]>;
293
305
  type LanguageCompletionProvider = (m: Monaco, l?: SQLMonarchLanguage) => SQLCompletionItemProvider;
306
+ interface LanguageDefinition extends monacoTypes.languages.ILanguageExtensionPoint {
307
+ loader?: (module: any) => Promise<{
308
+ language: SQLMonarchLanguage;
309
+ conf: monacoTypes.languages.LanguageConfiguration;
310
+ }>;
311
+ completionProvider?: (m: Monaco, language: SQLMonarchLanguage) => SQLCompletionItemProvider;
312
+ formatter?: (q: string) => string;
313
+ }
294
314
  declare enum OperatorType {
295
315
  Comparison = 0,
296
316
  Logical = 1
@@ -302,20 +322,7 @@ declare enum MacroType {
302
322
  Column = 3,
303
323
  Table = 4
304
324
  }
305
- declare enum TokenType {
306
- Parenthesis = "delimiter.parenthesis.sql",
307
- Whitespace = "white.sql",
308
- Keyword = "keyword.sql",
309
- Delimiter = "delimiter.sql",
310
- Operator = "operator.sql",
311
- Identifier = "identifier.sql",
312
- IdentifierQuote = "identifier.quote.sql",
313
- Type = "type.sql",
314
- Function = "predefined.sql",
315
- Number = "number.sql",
316
- String = "string.sql",
317
- Variable = "variable.sql"
318
- }
325
+
319
326
  declare enum StatementPosition {
320
327
  Unknown = "unknown",
321
328
  SelectKeyword = "selectKeyword",
@@ -417,14 +424,6 @@ declare enum SQLEditorMode {
417
424
  Code = "code"
418
425
  }
419
426
 
420
- interface LanguageDefinition extends monacoTypes.languages.ILanguageExtensionPoint {
421
- loader?: (module: any) => Promise<{
422
- language: SQLMonarchLanguage;
423
- conf: monacoTypes.languages.LanguageConfiguration;
424
- }>;
425
- completionProvider?: (m: Monaco, language: SQLMonarchLanguage) => SQLCompletionItemProvider;
426
- formatter?: (q: string) => string;
427
- }
428
427
  interface SQLEditorProps {
429
428
  query: string;
430
429
  /**
@@ -640,6 +639,11 @@ interface MetaDefinition {
640
639
  completion?: string;
641
640
  kind: CompletionItemKind;
642
641
  }
642
+ /**
643
+ * Represents a query with all default values applied.
644
+ * This is equivalent to SQLQuery since applyQueryDefaults returns SQLQuery.
645
+ */
646
+ type QueryWithDefaults = SQLQuery;
643
647
 
644
648
  interface GroupByRowProps {
645
649
  sql: SQLExpression;
@@ -781,8 +785,9 @@ interface MetricFindQueryOptions extends SearchFilterOptions {
781
785
  }
782
786
 
783
787
  interface Props$p extends QueryEditorProps$1<SqlDatasource, SQLQuery, SQLOptions> {
788
+ language?: SqlLanguage;
784
789
  }
785
- declare function SqlQueryEditor({ datasource, query, onChange, onRunQuery, range }: Props$p): React.JSX.Element | null;
790
+ declare function SqlQueryEditor({ datasource, query, onChange, onRunQuery, range, language }: Props$p): React.JSX.Element | null;
786
791
 
787
792
  type RunQueryButtonProps = {
788
793
  ariaLabel?: string;
@@ -1008,6 +1013,656 @@ type Props$a<C extends Config = Config> = {
1008
1013
  };
1009
1014
  declare const AdvancedHttpSettings: <C extends Config = Config>(props: Props$a<C>) => JSX.Element;
1010
1015
 
1016
+ interface DatasourceConfigSchema {
1017
+ /**
1018
+ * Schema version (required)
1019
+ * Used for compatibility and migrations
1020
+ *
1021
+ * Example: "v2"
1022
+ */
1023
+ schemaVersion: string;
1024
+ /**
1025
+ * Unique datasource plugin identifier
1026
+ * Example: "prometheus"
1027
+ */
1028
+ pluginType: string;
1029
+ /**
1030
+ * Human-readable name
1031
+ */
1032
+ pluginName: string;
1033
+ /**
1034
+ * Optional documentation URL
1035
+ */
1036
+ docURL?: string;
1037
+ /**
1038
+ * Source of truth for configuration
1039
+ */
1040
+ fields: ConfigField[];
1041
+ /**
1042
+ * Optional UI grouping
1043
+ */
1044
+ groups?: ConfigGroup[];
1045
+ /**
1046
+ * Relationships between fields
1047
+ */
1048
+ relationships?: FieldRelationship[];
1049
+ }
1050
+ interface ConfigField {
1051
+ /**
1052
+ * Globally unique identifier
1053
+ * Recommended format: dot-separated path
1054
+ * Example: "auth.method", "httpHeaders.item.key"
1055
+ */
1056
+ id: string;
1057
+ /**
1058
+ * Local key used in storage or object
1059
+ */
1060
+ key: string;
1061
+ /**
1062
+ * UI metadata
1063
+ */
1064
+ label?: string;
1065
+ description?: string;
1066
+ docURL?: string;
1067
+ /**
1068
+ * Core type of the field
1069
+ */
1070
+ valueType: ValueType;
1071
+ /**
1072
+ * Semantic meaning (optional)
1073
+ */
1074
+ semanticType?: SemanticType;
1075
+ /**
1076
+ * Storage location (required for storage fields)
1077
+ */
1078
+ target?: TargetLocation;
1079
+ /**
1080
+ * Dotted path prefix within the target for nested objects.
1081
+ * Example: for jsonData.tracesToLogs.datasourceUid,
1082
+ * target="jsonData", section="tracesToLogs", key="datasourceUid".
1083
+ */
1084
+ section?: string;
1085
+ /**
1086
+ * Field kind.
1087
+ * @default "storage"
1088
+ */
1089
+ kind?: FieldKind;
1090
+ /**
1091
+ * True if field belongs to array item schema
1092
+ */
1093
+ isItemField?: boolean;
1094
+ /**
1095
+ * Lifecycle state
1096
+ */
1097
+ lifecycle?: Lifecycle;
1098
+ /**
1099
+ * UI rendering hints
1100
+ */
1101
+ ui?: FieldUI;
1102
+ /**
1103
+ * Validations rules
1104
+ */
1105
+ validations?: FieldValidationRule[];
1106
+ /**
1107
+ * Visibility condition (CEL expression)
1108
+ */
1109
+ dependsOn?: Expression;
1110
+ /**
1111
+ * Always required
1112
+ */
1113
+ required?: boolean;
1114
+ /**
1115
+ * Conditionally required
1116
+ */
1117
+ requiredWhen?: Expression;
1118
+ /**
1119
+ * Disabled condition
1120
+ */
1121
+ disabledWhen?: Expression;
1122
+ /**
1123
+ * Dynamic overrides
1124
+ */
1125
+ overrides?: FieldOverride[];
1126
+ /**
1127
+ * Declarative multi-field write side-effects.
1128
+ * When this field's value matches a condition, the listed target
1129
+ * fields are set to specified values. Typically used on virtual
1130
+ * selector fields (e.g. auth method dropdown).
1131
+ */
1132
+ effects?: FieldEffect[];
1133
+ /**
1134
+ * Item schema for array elements or map values.
1135
+ * Required if valueType === "array" or "map".
1136
+ */
1137
+ item?: FieldItemSchema;
1138
+ /**
1139
+ * Legacy indexed fields (deprecated)
1140
+ */
1141
+ repeatable?: boolean;
1142
+ pattern?: string;
1143
+ /**
1144
+ * Storage mapping
1145
+ */
1146
+ storage?: StorageMapping;
1147
+ /**
1148
+ * Metadata
1149
+ */
1150
+ tags?: string[];
1151
+ examples?: unknown[];
1152
+ defaultValue?: unknown;
1153
+ }
1154
+ interface FieldItemSchema {
1155
+ /**
1156
+ * Type of array items or map values.
1157
+ * For arrays, describes each element.
1158
+ * For maps, describes each value (keys are always strings).
1159
+ */
1160
+ valueType: ValueType;
1161
+ /**
1162
+ * Sub-fields for object items. Optional even when valueType = "object"
1163
+ * (omitting allows an unconstrained object).
1164
+ */
1165
+ fields?: ConfigField[];
1166
+ }
1167
+ /**
1168
+ * CEL expression string
1169
+ */
1170
+ type Expression = string;
1171
+ type ValueType = 'string' | 'number' | 'boolean' | 'array' | 'object' | 'map' | 'any';
1172
+ type SemanticType = 'url' | 'password' | 'token' | 'hostname' | 'duration' | 'datasourceUid' | 'query';
1173
+ type FieldKind = 'storage' | 'virtual';
1174
+ type Lifecycle = 'stable' | 'deprecated' | 'experimental';
1175
+ type TargetLocation = 'root' | 'jsonData' | 'secureJsonData';
1176
+ type UIComponent = 'input' | 'textarea' | 'select' | 'multiselect' | 'radio' | 'checkbox' | 'switch' | 'code' | 'keyvalue' | 'list' | 'fileUpload';
1177
+ type UIWidth = 'full' | 'half';
1178
+ /**
1179
+ * UI configuration
1180
+ */
1181
+ interface FieldUI {
1182
+ component: UIComponent;
1183
+ multiline?: boolean;
1184
+ rows?: number;
1185
+ options?: FieldOption[];
1186
+ allowCustom?: boolean;
1187
+ width?: UIWidth;
1188
+ placeholder?: string;
1189
+ /**
1190
+ * Language hint for code editor components.
1191
+ * Example: "promql", "logql", "traceql", "sql", "json"
1192
+ */
1193
+ language?: string;
1194
+ /**
1195
+ * Layout row index for item fields inside object arrays.
1196
+ * Fields with the same row number are rendered horizontally.
1197
+ * Fields without a row number use auto-layout:
1198
+ * - ≤3 fields: all on one row
1199
+ * - >3 fields: each on its own row
1200
+ */
1201
+ row?: number;
1202
+ /**
1203
+ * Accepted file types for fileUpload component.
1204
+ * Uses HTML accept attribute format with leading dot.
1205
+ * Example: [".json"]
1206
+ */
1207
+ accept?: string[];
1208
+ /**
1209
+ * Maps keys in an uploaded JSON file to target field IDs.
1210
+ * Used by fileUpload to distribute parsed values to other form fields.
1211
+ * Example: { "private_key": "secureJsonData.privateKey", "client_email": "jsonData.clientEmail" }
1212
+ */
1213
+ fileMapping?: Record<string, string>;
1214
+ }
1215
+ type FieldValidationRule = PatternValidationRule | RangeValidationRule | LengthValidationRule | ItemCountValidationRule | AllowedValuesValidationRule | CustomValidationRule;
1216
+ interface BaseValidationRule {
1217
+ /**
1218
+ * Optional stable ID for the validation rule.
1219
+ * Useful for docs, localization, and test snapshots.
1220
+ */
1221
+ id?: string;
1222
+ /**
1223
+ * Human-readable validation error message.
1224
+ */
1225
+ message?: string;
1226
+ }
1227
+ interface PatternValidationRule extends BaseValidationRule {
1228
+ type: 'pattern';
1229
+ pattern: string;
1230
+ }
1231
+ interface RangeValidationRule extends BaseValidationRule {
1232
+ type: 'range';
1233
+ min?: number;
1234
+ max?: number;
1235
+ }
1236
+ interface LengthValidationRule extends BaseValidationRule {
1237
+ type: 'length';
1238
+ min?: number;
1239
+ max?: number;
1240
+ }
1241
+ interface ItemCountValidationRule extends BaseValidationRule {
1242
+ type: 'itemCount';
1243
+ min?: number;
1244
+ max?: number;
1245
+ }
1246
+ interface AllowedValuesValidationRule extends BaseValidationRule {
1247
+ type: 'allowedValues';
1248
+ values: unknown[];
1249
+ }
1250
+ interface CustomValidationRule extends BaseValidationRule {
1251
+ type: 'custom';
1252
+ /**
1253
+ * CEL expression.
1254
+ *
1255
+ * Should evaluate to true when the field value is valid.
1256
+ */
1257
+ expression: Expression;
1258
+ }
1259
+ interface FieldOverride {
1260
+ /**
1261
+ * CEL condition
1262
+ */
1263
+ when: Expression;
1264
+ defaultValue?: unknown;
1265
+ /**
1266
+ * When true, the field is disabled/read-only while this override is active.
1267
+ */
1268
+ readOnly?: boolean;
1269
+ description?: string;
1270
+ placeholder?: string;
1271
+ tooltip?: string;
1272
+ validations?: FieldValidationRule[];
1273
+ options?: FieldOption[];
1274
+ /**
1275
+ * When present on an `isItemField` field, the value is routed to
1276
+ * `secureJsonData` under the resolved key instead of being stored
1277
+ * inline in the parent array.
1278
+ *
1279
+ * The template string supports placeholders:
1280
+ * - `{index}` — 0-based array position
1281
+ * - `{index1}` — 1-based array position
1282
+ * - `{item.KEY}` — value of sibling item field `KEY`
1283
+ *
1284
+ * Examples:
1285
+ * - `"secureHttpHeaders.{item.name}"` (ClickHouse)
1286
+ * - `"httpHeaderValue{index1}"` (Grafana core headers)
1287
+ */
1288
+ secureKey?: string;
1289
+ }
1290
+ /**
1291
+ * Declares that when a field's value matches a condition,
1292
+ * listed target fields should be set to specified values.
1293
+ *
1294
+ * Use "value" in the `when` expression to refer to the field's value.
1295
+ */
1296
+ interface FieldEffect {
1297
+ /**
1298
+ * CEL expression. Example: "value == 'basic-auth'"
1299
+ */
1300
+ when: Expression;
1301
+ /**
1302
+ * Maps field IDs to the values they should be set to.
1303
+ * Must contain at least one entry.
1304
+ */
1305
+ set: Record<string, unknown> & {
1306
+ [k: string]: unknown;
1307
+ };
1308
+ }
1309
+ type StorageMapping = DirectMapping | IndexedPairMapping | ComputedMapping;
1310
+ /**
1311
+ * Direct mapping
1312
+ */
1313
+ interface DirectMapping {
1314
+ type: 'direct';
1315
+ }
1316
+ /**
1317
+ * Indexed pair mapping (headers)
1318
+ */
1319
+ interface IndexedPairMapping {
1320
+ type: 'indexedPair';
1321
+ key: MappingField;
1322
+ value: MappingField;
1323
+ startIndex?: number;
1324
+ }
1325
+ /**
1326
+ * Computed mapping (virtual fields).
1327
+ * At least one of `read` or `write` must be provided.
1328
+ */
1329
+ type ComputedMapping = {
1330
+ type: 'computed';
1331
+ read: Expression;
1332
+ write?: Expression;
1333
+ } | {
1334
+ type: 'computed';
1335
+ read?: Expression;
1336
+ write: Expression;
1337
+ };
1338
+ /**
1339
+ * Mapping field
1340
+ */
1341
+ interface MappingField {
1342
+ target: TargetLocation;
1343
+ pattern: string;
1344
+ }
1345
+ interface FieldOption {
1346
+ label: string;
1347
+ /**
1348
+ * Must match parent field valueType.
1349
+ * Must not be null.
1350
+ */
1351
+ value: NonNullable<unknown>;
1352
+ /**
1353
+ * Optional human-readable description of the option.
1354
+ */
1355
+ description?: string;
1356
+ }
1357
+ interface ConfigGroup {
1358
+ id: string;
1359
+ title: string;
1360
+ description?: string;
1361
+ order?: number;
1362
+ /**
1363
+ * When true, the group is optional and can be collapsed/hidden by default.
1364
+ */
1365
+ optional?: boolean;
1366
+ /**
1367
+ * References field IDs (not keys)
1368
+ */
1369
+ fieldRefs: string[];
1370
+ }
1371
+ type RelationshipType = 'pair' | 'group' | 'datasourceReference';
1372
+ interface FieldRelationship {
1373
+ type: RelationshipType;
1374
+ /**
1375
+ * References field IDs
1376
+ */
1377
+ fields: string[];
1378
+ description?: string;
1379
+ /**
1380
+ * Constrains the datasource UID to a specific plugin type.
1381
+ * Only applicable when type is "datasourceReference".
1382
+ */
1383
+ targetPluginType?: string;
1384
+ }
1385
+ type SecureFieldState = {
1386
+ type: 'unset';
1387
+ } | {
1388
+ type: 'configured';
1389
+ } | {
1390
+ type: 'updated';
1391
+ value: string;
1392
+ };
1393
+ interface FormState {
1394
+ values: Record<string, unknown>;
1395
+ secure: Record<string, SecureFieldState>;
1396
+ }
1397
+
1398
+ type DatasourceConfigWizardProps = {
1399
+ schema: DatasourceConfigSchema;
1400
+ dsUid: string;
1401
+ dsName: string;
1402
+ onSuccess: (status: string, message?: string) => void;
1403
+ onSaving?: (saving: boolean) => void;
1404
+ onRetest?: () => void;
1405
+ onFollowup?: (intent: string) => void;
1406
+ healthError?: string;
1407
+ mode?: 'tab' | 'wizard';
1408
+ /** Optional render prop for custom action buttons (e.g. analyze/troubleshoot). */
1409
+ renderActions?: (props: {
1410
+ dsUid: string;
1411
+ dsName: string;
1412
+ dsType: string;
1413
+ healthError?: string;
1414
+ }) => ReactNode;
1415
+ };
1416
+ declare function DatasourceConfigWizard(props: DatasourceConfigWizardProps): React.JSX.Element;
1417
+
1418
+ /** Lightweight error boundary scoped to datasource config widgets — won't crash the host UI. */
1419
+ declare class DatasourceErrorBoundary extends Component<{
1420
+ children: ReactNode;
1421
+ dsName?: string;
1422
+ }, {
1423
+ error: Error | null;
1424
+ }> {
1425
+ state: {
1426
+ error: Error | null;
1427
+ };
1428
+ static getDerivedStateFromError(error: Error): {
1429
+ error: Error;
1430
+ };
1431
+ componentDidCatch(error: Error, info: ErrorInfo): void;
1432
+ render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
1433
+ }
1434
+
1435
+ type HealthState = 'pending' | 'checking' | 'done';
1436
+ interface DatasourceHealth {
1437
+ state: HealthState;
1438
+ status?: string;
1439
+ message?: string;
1440
+ }
1441
+ /**
1442
+ * Health check hook — on-demand only.
1443
+ * Call `checkUids(uids)` to trigger checks for specific UIDs.
1444
+ * Call `retry(uid)` to force re-check a single UID.
1445
+ * UIDs that have already been checked (or are in-flight) are automatically skipped.
1446
+ */
1447
+ declare function useHealthChecks(): {
1448
+ healthMap: Record<string, DatasourceHealth>;
1449
+ checkUids: (uids: string[]) => void;
1450
+ retry: (uid: string) => void;
1451
+ };
1452
+
1453
+ declare function resolvePluginName(pluginType: string): string;
1454
+
1455
+ /**
1456
+ * CEL (Common Expression Language) expression evaluator for schema conditions.
1457
+ *
1458
+ * Used by `dependsOn`, `requiredWhen`, `disabledWhen`, and `overrides[].when`.
1459
+ * Wraps @marcbachmann/cel-js with field-ID-aware context building.
1460
+ *
1461
+ * Go equivalent: github.com/google/cel-go
1462
+ */
1463
+ /**
1464
+ * Build a nested context object from flat form values keyed by field IDs.
1465
+ *
1466
+ * CEL interprets dots as property access, so `jsonData.auth_method == 'oauth2'`
1467
+ * requires `{ jsonData: { auth_method: 'oauth2' } }`.
1468
+ *
1469
+ * This function takes flat key-value pairs (from react-hook-form `watch()`)
1470
+ * and builds the nested structure CEL expects.
1471
+ *
1472
+ * @param values - Flat map of form keys to values (e.g. `{ "auth_method": "oauth2", "oauth2.oauth2_type": "jwt" }`)
1473
+ * @param fieldIdToFormKey - Optional map from field ID to form key for translation
1474
+ */
1475
+ declare function buildCelContext(values: Record<string, unknown>): Record<string, unknown>;
1476
+ /**
1477
+ * Evaluate a CEL expression against a context of field values.
1478
+ * Returns the boolean result, or `defaultValue` if the expression is invalid.
1479
+ *
1480
+ * @example
1481
+ * ```ts
1482
+ * evaluateCelExpression("jsonData.auth_method == 'oauth2'", { jsonData: { auth_method: 'oauth2' } })
1483
+ * // => true
1484
+ *
1485
+ * evaluateCelExpression("auth_method == 'oauth2' && oauth2_type == 'jwt'", { auth_method: 'oauth2', oauth2_type: 'jwt' })
1486
+ * // => true
1487
+ * ```
1488
+ */
1489
+ declare function evaluateCelExpression(expr: string, context: Record<string, unknown>, defaultValue?: boolean): boolean;
1490
+ /**
1491
+ * Evaluate a CEL expression directly using `evaluate` (no caching).
1492
+ * Useful for one-off evaluations or testing.
1493
+ */
1494
+ declare function evaluateCelDirect(expr: string, context: Record<string, unknown>): unknown;
1495
+ /**
1496
+ * Validate that a CEL expression can be parsed without errors.
1497
+ * Returns true if valid, false otherwise.
1498
+ */
1499
+ declare function isValidCelExpression(expr: string): boolean;
1500
+ /**
1501
+ * Extract all field ID references from a simple expression.
1502
+ * Used by `resolveRequiredFieldsGroup` to find dependency relationships.
1503
+ *
1504
+ * For simple expressions like `fieldA == 'x'`, returns `['fieldA']`.
1505
+ * For compound expressions like `fieldA == 'x' && fieldB == 'y'`, returns `['fieldA', 'fieldB']`.
1506
+ *
1507
+ * This uses regex extraction (not AST walking) for simplicity and speed.
1508
+ */
1509
+ declare function extractFieldRefs(expr: string): string[];
1510
+ /**
1511
+ * Clear the expression cache. Useful for testing.
1512
+ */
1513
+ declare function clearExpressionCache(): void;
1514
+
1515
+ declare function getConfigSchema(pluginType: string): DatasourceConfigSchema | null;
1516
+
1517
+ /**
1518
+ * Generate LLM hints for select fields (used when creating datasources).
1519
+ */
1520
+ declare function generateLLMHint(schema: DatasourceConfigSchema): string;
1521
+ /**
1522
+ * Generate comprehensive structured field data for troubleshooting context.
1523
+ * Returns an array of field descriptors the LLM can use to render rich tables.
1524
+ */
1525
+ declare function generateTroubleshootingFields(schema: DatasourceConfigSchema): Array<{
1526
+ label: string;
1527
+ key: string;
1528
+ target: string;
1529
+ type: string;
1530
+ required: boolean;
1531
+ description?: string;
1532
+ defaultValue?: unknown;
1533
+ options?: string[];
1534
+ section?: string;
1535
+ dependsOn?: string;
1536
+ }>;
1537
+
1538
+ type YamlRenderOptions = {
1539
+ jsonDataKeys?: string[];
1540
+ secureKeys?: string[];
1541
+ };
1542
+ type ProvisioningYamlOptions = {
1543
+ /** Include comments with field descriptions. Default: true for template, false for export. */
1544
+ comments?: boolean;
1545
+ /** Name override (used in template mode). */
1546
+ name?: string;
1547
+ };
1548
+ /**
1549
+ * Generate a Grafana provisioning YAML from a dsconfig schema.
1550
+ * In template mode (no values), emits all fields with defaults and comments.
1551
+ * When values are provided, emits actual values — used for existing datasource export.
1552
+ */
1553
+ declare function toProvisioningYaml(schema: DatasourceConfigSchema, values?: Record<string, unknown>, options?: ProvisioningYamlOptions): string;
1554
+ /**
1555
+ * Generate provisioning YAML from an existing Grafana datasource API response.
1556
+ * If a dsconfig schema is available, uses it for field ordering and comments.
1557
+ * If not, generates basic YAML from the raw API response.
1558
+ */
1559
+ declare function datasourceToProvisioningYaml(ds: Record<string, unknown>, schema: DatasourceConfigSchema | null): string;
1560
+ declare const configToYaml: (ds: Record<string, unknown>, options?: YamlRenderOptions) => string;
1561
+ declare const formatYamlDiff: (existing: Record<string, unknown>, body: Record<string, unknown>) => string;
1562
+
1563
+ type UseDatasourceSchemaResult = {
1564
+ schema: DatasourceConfigSchema | null;
1565
+ loading: boolean;
1566
+ error: string | null;
1567
+ };
1568
+ declare function useDatasourceSchema(pluginType: string): UseDatasourceSchemaResult;
1569
+ declare function fetchConfigSchema(pluginType: string): DatasourceConfigSchema | null;
1570
+
1571
+ declare const ROOT_CONFIG_FIELDS: readonly ["name", "type", "id", "uid", "access", "url", "basicAuth", "basicAuthUser", "user", "isDefault", "database", "withCredentials"];
1572
+ type DatasourceConfig = Record<any, any>;
1573
+ declare const buildCreateDatasourcePayload: (input: DatasourceConfig) => DatasourceConfig;
1574
+ declare const buildCloneDatasourcePayload: (source: DatasourceConfig, name: string) => DatasourceConfig;
1575
+ declare const buildUpdateDatasourcePayload: (existing: DatasourceConfig, input: DatasourceConfig) => {
1576
+ body: DatasourceConfig;
1577
+ hasChanges: boolean;
1578
+ };
1579
+
1580
+ /**
1581
+ * Pure helper functions for working with DatasourceConfigSchema.
1582
+ *
1583
+ * Types are defined in schema.ts — import them from there directly.
1584
+ */
1585
+
1586
+ /**
1587
+ * Resolve a schema's groups into arrays of ConfigField objects.
1588
+ * If the schema has no groups, returns a single group containing all non-virtual fields.
1589
+ */
1590
+ declare function resolveGroups(schema: DatasourceConfigSchema): Array<{
1591
+ group: ConfigGroup;
1592
+ fields: ConfigField[];
1593
+ }>;
1594
+ /**
1595
+ * Build a virtual "Required" group containing all required fields, any parent
1596
+ * fields they depend on (via `dependsOn`), and any child fields that depend on
1597
+ * required fields. When the schema contains an "auth" group, its fields are
1598
+ * also pulled in (auth is effectively required for Prometheus/Loki/Tempo style
1599
+ * datasources). Fields are returned in schema order and de-duplicated.
1600
+ * Returns `null` when the virtual group would be empty.
1601
+ */
1602
+ declare function resolveRequiredFieldsGroup(schema: DatasourceConfigSchema): {
1603
+ group: ConfigGroup;
1604
+ fields: ConfigField[];
1605
+ } | null;
1606
+ /**
1607
+ * Unique form key for a field. Section-scoped fields (e.g. section:"logs", key:"defaultTable")
1608
+ * get a prefixed key ("logs.defaultTable") so they don't collide with top-level fields that
1609
+ * share the same key name.
1610
+ */
1611
+ declare function formKey(field: ConfigField): string;
1612
+ /**
1613
+ * Resolve a possibly-dotted key against watchedValues from react-hook-form.
1614
+ * RHF's `watch()` returns nested objects for dotted Controller names
1615
+ * (e.g. "logs.otelEnabled" → { logs: { otelEnabled: true } }),
1616
+ * so a flat `obj["logs.otelEnabled"]` lookup misses.
1617
+ *
1618
+ * For dotted keys we must try the nested path **first**: react-hook-form's
1619
+ * Controller `onChange` writes nested objects via its internal `set()`, but
1620
+ * `reset()` may have created a flat dotted key with the same name. After user
1621
+ * interaction the nested value is authoritative; the stale flat key must not
1622
+ * shadow it. This mirrors RHF's own `get()` semantics (nested-first, flat
1623
+ * fallback).
1624
+ */
1625
+ declare function getWatchedValue(watchedValues: Record<string, unknown>, key: string): unknown;
1626
+ /**
1627
+ * Parse a simple CEL-like dependsOn expression: "fieldId == 'value'" or "fieldId != 'value'".
1628
+ * Only single comparisons are supported — no &&, ||, or parentheses.
1629
+ * Field IDs may contain dots and underscores (e.g. "jsonData.oauth2.oauth2_type").
1630
+ * Values may be single-quoted, double-quoted, or unquoted literals (true/false/numbers).
1631
+ * Returns { field, value, negate } or null if unparseable.
1632
+ */
1633
+ declare function parseDependsOn(expr: string): {
1634
+ field: string;
1635
+ value: string;
1636
+ negate: boolean;
1637
+ } | null;
1638
+ /**
1639
+ * Evaluate a parsed dependsOn condition against a value.
1640
+ * Handles both == and != operators.
1641
+ */
1642
+ declare function evaluateDependsOn(parsed: {
1643
+ value: string;
1644
+ negate: boolean;
1645
+ }, currentValue: unknown): boolean;
1646
+ /**
1647
+ * Resolve the first matching override for a field given current form values.
1648
+ * Override `when` uses the same "fieldId == 'value'" syntax as dependsOn.
1649
+ * Returns the matching override or undefined if none match.
1650
+ */
1651
+ declare function resolveActiveOverride(field: ConfigField, watchedValues: Record<string, unknown>, fieldById: Map<string, ConfigField>): FieldOverride | undefined;
1652
+ /**
1653
+ * Evaluate a simple computed.read expression against form values.
1654
+ * Supports patterns used in dsconfig schemas:
1655
+ * - "fieldRef == true ? 'a' : (fieldRef == true ? 'b' : 'c')"
1656
+ * - Simple ternary chains with equality checks
1657
+ * Falls back to the field's defaultValue if the expression can't be evaluated.
1658
+ */
1659
+ declare function evaluateComputedRead(expr: string, values: Record<string, unknown>, fields: ConfigField[]): unknown;
1660
+ /**
1661
+ * Compute initial values for all virtual fields that have storage.computed.read expressions.
1662
+ * Call after loading existing storage field values.
1663
+ */
1664
+ declare function computeVirtualFieldValues(schema: DatasourceConfigSchema, existingValues: Record<string, unknown>): Record<string, unknown>;
1665
+
1011
1666
  interface CustomHeader {
1012
1667
  id: string;
1013
1668
  name: string;
@@ -1232,4 +1887,4 @@ interface Props {
1232
1887
  }
1233
1888
  declare function RawQuery({ query, language, className }: Props): React.JSX.Element;
1234
1889
 
1235
- export { AccessoryButton, AdvancedHttpSettings, type Aggregate, Auth, AuthMethod, type Props$c as AuthProps, BINARY_OPERATIONS_KEY, CatalogSelector, type ColumnDefinition, CompletionItemInsertTextRule, CompletionItemKind, CompletionItemPriority, ConfigDescriptionLink, ConfigSection, ConfigSubSection, ConnectionSettings, CustomHeadersSettings, type DB, DataLink, type DataLinkConfig, DataLinks, DataSourceDescription, DataSourcePicker, DatasetSelector, DatePicker, type DatePickerProps, DatePickerWithInput, type DatePickerWithInputProps, DebounceInput, type DebounceInputProps, EditorField, EditorFieldGroup, EditorHeader, EditorList, EditorMode, EditorRow, EditorRows, EditorStack, EditorSwitch, FlexItem, GroupByRow, InlineSelect, InputGroup, LabelFilters, type LanguageCompletionProvider, type LanguageDefinition, LinkedToken, MacroType, type MetaDefinition, type NameValue, OperationExplainedBox, OperationList, OperationListExplained, OperationsEditorRow, OperatorType, type PositionContext, type Props$s as Props, QUERY_FORMAT_OPTIONS, QueryBuilderHints, type QueryBuilderLabelFilter, type QueryBuilderOperation, type QueryBuilderOperationDefinition, type QueryBuilderOperationParamDef, type QueryBuilderOperationParamEditorProps, type QueryBuilderOperationParamValue, QueryEditorMode, QueryEditorModeToggle, type QueryEditorProps, QueryEditorRow, QueryFormat, QueryHeaderSwitch, QueryModellerBase, QueryOptionGroup, type QueryRowFilter, type QueryStats, type RAQBFieldTypes, RawQuery, type ResourceSelectorProps, type ResponseParser, RunQueryButton, type SQLConnectionLimits, SQLEditor, SQLEditorMode, SQLEditorTestUtils, type SQLExpression, type SQLFilters, type SQLMonarchLanguage, type SQLOptions, type SQLQuery, type SQLSelectableValue, type SchemaDefinition, SecureSocksProxyToggle, Segment, type SegmentProps, Space, SqlDatasource, SqlQueryEditor, type SqlQueryForInterpolation, type SqlQueryModel, type State$1 as State, type StatementPlacementProvider, StatementPosition, SuggestionKind, type SuggestionKindProvider, TLSSettings, type Props$f as TLSSettingsProps, type TableDefinition, type TableFieldSchema, type TableIdentifier, type TableSchema, TableSelector, type TestQueryModel, TokenType, type ValidationResults, type VisualQuery, type VisualQueryBinary, type VisualQueryModeller, convertLegacyAuthProps, formatDate, getStandardSQLCompletionProvider, language as grafanaStandardSQLLanguage, conf as grafanaStandardSQLLanguageConf, toOption };
1890
+ export { AccessoryButton, AdvancedHttpSettings, type Aggregate, type AllowedValuesValidationRule, Auth, AuthMethod, type Props$c as AuthProps, BINARY_OPERATIONS_KEY, type BaseValidationRule, CatalogSelector, type ColumnDefinition, CompletionItemInsertTextRule, CompletionItemKind, CompletionItemPriority, type ComputedMapping, ConfigDescriptionLink, type ConfigField, type ConfigGroup, ConfigSection, ConfigSubSection, ConnectionSettings, CustomHeadersSettings, type CustomValidationRule, type DB, DataLink, type DataLinkConfig, DataLinks, DataSourceDescription, DataSourcePicker, DatasetSelector, type DatasourceConfigSchema, DatasourceConfigWizard, type DatasourceConfigWizardProps, DatasourceErrorBoundary, type DatasourceHealth, DatePicker, type DatePickerProps, DatePickerWithInput, type DatePickerWithInputProps, DebounceInput, type DebounceInputProps, type DirectMapping, EditorField, EditorFieldGroup, EditorHeader, EditorList, EditorMode, EditorRow, EditorRows, EditorStack, EditorSwitch, type Expression, type FieldEffect, type FieldItemSchema, type FieldKind, type FieldOption, type FieldOverride, type FieldRelationship, type FieldUI, type FieldValidationRule, FlexItem, type FormState, GroupByRow, type HealthState, type IndexedPairMapping, InlineSelect, InputGroup, type ItemCountValidationRule, LabelFilters, type LanguageCompletionProvider, type LanguageDefinition, type LengthValidationRule, type Lifecycle, LinkedToken, MacroType, type MappingField, type MetaDefinition, type NameValue, OperationExplainedBox, OperationList, OperationListExplained, OperationsEditorRow, OperatorType, type PatternValidationRule, type PositionContext, type Props$s as Props, type ProvisioningYamlOptions, QUERY_FORMAT_OPTIONS, QueryBuilderHints, type QueryBuilderLabelFilter, type QueryBuilderOperation, type QueryBuilderOperationDefinition, type QueryBuilderOperationParamDef, type QueryBuilderOperationParamEditorProps, type QueryBuilderOperationParamValue, QueryEditorMode, QueryEditorModeToggle, type QueryEditorProps, QueryEditorRow, QueryFormat, QueryHeaderSwitch, QueryModellerBase, QueryOptionGroup, type QueryRowFilter, type QueryStats, type QueryWithDefaults, type RAQBFieldTypes, ROOT_CONFIG_FIELDS, type RangeValidationRule, RawQuery, type RelationshipType, type ResourceSelectorProps, type ResponseParser, RunQueryButton, type SQLConnectionLimits, SQLEditor, SQLEditorMode, SQLEditorTestUtils, type SQLExpression, type SQLFilters, type SQLMonarchLanguage, type SQLOptions, type SQLQuery, type SQLSelectableValue, type SchemaDefinition, type SecureFieldState, SecureSocksProxyToggle, Segment, type SegmentProps, type SemanticType, Space, SqlDatasource, SqlQueryEditor, type SqlQueryForInterpolation, type SqlQueryModel, type State$1 as State, type StatementPlacementProvider, StatementPosition, type StorageMapping, SuggestionKind, type SuggestionKindProvider, TLSSettings, type Props$f as TLSSettingsProps, type TableDefinition, type TableFieldSchema, type TableIdentifier, type TableSchema, TableSelector, type TargetLocation, type TestQueryModel, TokenType, type UIComponent, type UIWidth, type ValidationResults, type ValueType, type VisualQuery, type VisualQueryBinary, type VisualQueryModeller, buildCelContext, buildCloneDatasourcePayload, buildCreateDatasourcePayload, buildUpdateDatasourcePayload, clearExpressionCache, computeVirtualFieldValues, configToYaml, convertLegacyAuthProps, datasourceToProvisioningYaml, evaluateCelDirect, evaluateCelExpression, evaluateComputedRead, evaluateDependsOn, extractFieldRefs, fetchConfigSchema, formKey, formatDate, formatYamlDiff, generateLLMHint, generateTroubleshootingFields, getConfigSchema, getStandardSQLCompletionProvider, getWatchedValue, language as grafanaStandardSQLLanguage, conf as grafanaStandardSQLLanguageConf, isValidCelExpression, parseDependsOn, resolveActiveOverride, resolveGroups, resolvePluginName, resolveRequiredFieldsGroup, toOption, toProvisioningYaml, useDatasourceSchema, useHealthChecks };