@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.
- package/dist/cjs/index.cjs +2989 -372
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +695 -40
- package/dist/cjs/schemas.cjs +25 -0
- package/dist/cjs/schemas.cjs.map +1 -0
- package/dist/cjs/schemas.d.cts +448 -0
- package/dist/cjs/test-utils.cjs +2 -2
- package/dist/cjs/test-utils.cjs.map +1 -1
- package/dist/cjs/test-utils.d.cts +24 -24
- package/dist/cjs/useDatasourceSchema-CxPGD2-b.js +17125 -0
- package/dist/cjs/useDatasourceSchema-CxPGD2-b.js.map +1 -0
- package/dist/esm/components/ConfigEditor/AdvancedSettings/AdvancedHttpSettings.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/Auth.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js +4 -4
- package/dist/esm/components/ConfigEditor/Auth/auth-method/AuthMethodSettings.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/auth-method/BasicAuth.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeader.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js +1 -1
- package/dist/esm/components/ConfigEditor/Auth/custom-headers/CustomHeaders.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/styles.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/SelfSignedCertificate.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/SkipTLSVerification.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js +3 -3
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettings.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSSettingsSection.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/types.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Auth/utils.js +3 -3
- package/dist/esm/components/ConfigEditor/Auth/utils.js.map +1 -1
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +2 -2
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js.map +1 -1
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSection.js.map +1 -1
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigSubSection.js.map +1 -1
- package/dist/esm/components/ConfigEditor/ConfigSection/GenericConfigSection.js.map +1 -1
- package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js +1 -1
- package/dist/esm/components/ConfigEditor/Connection/ConnectionSettings.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DataSourceDescription.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js +234 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js +27 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js +71 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SidebarNav.js +54 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SidebarNav.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/TabLayout.js +181 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/TabLayout.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/cel.js +75 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/cel.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/config.js +258 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/config.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/datasource.js +354 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/datasource.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/fieldUtils.js +138 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/fieldUtils.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useDatasourceConfigForm.js +326 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useDatasourceConfigForm.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js +106 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/AuthorizationHeaderField.js +51 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/AuthorizationHeaderField.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ComplexFieldNote.js +26 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ComplexFieldNote.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js +106 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/IndexedPairEditor.js +124 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/IndexedPairEditor.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js +190 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PdcFieldNote.js +31 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PdcFieldNote.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/SecureFieldInput.js +59 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/SecureFieldInput.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js +80 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/renderFieldInput.js +141 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/renderFieldInput.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js +30 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/styles.js +360 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/styles.js.map +1 -0
- package/dist/esm/components/ConfigEditor/SecureSocksProxyToggle.js.map +1 -1
- package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js +11 -11
- package/dist/esm/components/CustomHeadersSettings/CustomHeadersSettings.js.map +1 -1
- package/dist/esm/components/DataLinks/DataLink.js +4 -4
- package/dist/esm/components/DataLinks/DataLink.js.map +1 -1
- package/dist/esm/components/DataLinks/DataLinks.js +3 -3
- package/dist/esm/components/DataLinks/DataLinks.js.map +1 -1
- package/dist/esm/components/DataSourcePicker/DataSourcePicker.js +8 -8
- package/dist/esm/components/DataSourcePicker/DataSourcePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/styles.js +2 -2
- package/dist/esm/components/DatePicker/styles.js.map +1 -1
- package/dist/esm/components/DatePickerWithInput/DatePickerWithInput.js.map +1 -1
- package/dist/esm/components/DatePickerWithInput/styles.js +2 -2
- package/dist/esm/components/DatePickerWithInput/styles.js.map +1 -1
- package/dist/esm/components/DebounceInput/DebounceInput.js.map +1 -1
- package/dist/esm/components/Plugins/PluginSignatureBadge.js.map +1 -1
- package/dist/esm/components/QueryEditor/AccessoryButton.js.map +1 -1
- package/dist/esm/components/QueryEditor/CatalogSelector.js +1 -1
- package/dist/esm/components/QueryEditor/CatalogSelector.js.map +1 -1
- package/dist/esm/components/QueryEditor/ConfirmModal.js +1 -1
- package/dist/esm/components/QueryEditor/ConfirmModal.js.map +1 -1
- package/dist/esm/components/QueryEditor/DatasetSelector.js +1 -1
- package/dist/esm/components/QueryEditor/DatasetSelector.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorField.js +5 -5
- package/dist/esm/components/QueryEditor/EditorField.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorFieldGroup.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorHeader.js +2 -2
- package/dist/esm/components/QueryEditor/EditorHeader.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorList.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorRow.js +4 -4
- package/dist/esm/components/QueryEditor/EditorRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorRows.js +2 -2
- package/dist/esm/components/QueryEditor/EditorRows.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorStack.js +1 -1
- package/dist/esm/components/QueryEditor/EditorStack.js.map +1 -1
- package/dist/esm/components/QueryEditor/EditorSwitch.js +2 -2
- package/dist/esm/components/QueryEditor/EditorSwitch.js.map +1 -1
- package/dist/esm/components/QueryEditor/FlexItem.js.map +1 -1
- package/dist/esm/components/QueryEditor/InlineSelect.js +1 -1
- package/dist/esm/components/QueryEditor/InlineSelect.js.map +1 -1
- package/dist/esm/components/QueryEditor/InputGroup.js +2 -2
- package/dist/esm/components/QueryEditor/InputGroup.js.map +1 -1
- package/dist/esm/components/QueryEditor/QueryEditor.js +10 -8
- package/dist/esm/components/QueryEditor/QueryEditor.js.map +1 -1
- package/dist/esm/components/QueryEditor/QueryHeader.js +20 -20
- package/dist/esm/components/QueryEditor/QueryHeader.js.map +1 -1
- package/dist/esm/components/QueryEditor/RunQueryButton.js +1 -1
- package/dist/esm/components/QueryEditor/RunQueryButton.js.map +1 -1
- package/dist/esm/components/QueryEditor/Space.js +2 -2
- package/dist/esm/components/QueryEditor/Space.js.map +1 -1
- package/dist/esm/components/QueryEditor/TableSelector.js +0 -1
- package/dist/esm/components/QueryEditor/TableSelector.js.map +1 -1
- package/dist/esm/components/QueryEditor/defaults.js +7 -7
- package/dist/esm/components/QueryEditor/defaults.js.map +1 -1
- package/dist/esm/components/QueryEditor/expressions.js.map +1 -1
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js +10 -2
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryEditorRaw.js.map +1 -1
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js +7 -2
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryToolbox.js.map +1 -1
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js +4 -4
- package/dist/esm/components/QueryEditor/query-editor-raw/QueryValidator.js.map +1 -1
- package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js +14 -4
- package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js.map +1 -1
- package/dist/esm/components/QueryEditor/types.js +0 -1
- package/dist/esm/components/QueryEditor/types.js.map +1 -1
- package/dist/esm/components/QueryEditor/utils/formatSQL.js +15 -4
- package/dist/esm/components/QueryEditor/utils/formatSQL.js.map +1 -1
- package/dist/esm/components/QueryEditor/utils/sql.utils.js +8 -8
- package/dist/esm/components/QueryEditor/utils/sql.utils.js.map +1 -1
- package/dist/esm/components/QueryEditor/utils/useSqlChange.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js +26 -27
- package/dist/esm/components/QueryEditor/visual-query-builder/AwesomeQueryBuilder.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js +3 -3
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRows.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/GroupByRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js +4 -4
- package/dist/esm/components/QueryEditor/visual-query-builder/OrderByRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js +4 -4
- package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js +0 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLGroupByRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js +2 -3
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLOrderByRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js +0 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLSelectRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js +0 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SQLWhereRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js +9 -9
- package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js +10 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/VisualEditor.js.map +1 -1
- package/dist/esm/components/QueryEditor/visual-query-builder/WhereRow.js.map +1 -1
- package/dist/esm/components/QueryEditorRow/QueryEditorRow.js.map +1 -1
- package/dist/esm/components/SQLEditor/components/SQLEditor.js +13 -13
- package/dist/esm/components/SQLEditor/components/SQLEditor.js.map +1 -1
- package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js +1 -1
- package/dist/esm/components/SQLEditor/hooks/useLatestCallback.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/Monaco.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/TextModel.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQuery.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineFullQueryWithAggregation.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/multiLineMultipleColumns.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineEmptyQuery.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQuery.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineFullQueryWithAggregation.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineMultipleColumns.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueries.js.map +1 -1
- package/dist/esm/components/SQLEditor/mocks/queries/singleLineTwoQueriesWithAggregation.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/definition.js +0 -6
- package/dist/esm/components/SQLEditor/standardSql/definition.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js +2 -2
- package/dist/esm/components/SQLEditor/standardSql/getStandardSuggestions.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js +5 -4
- package/dist/esm/components/SQLEditor/standardSql/getStatementPosition.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/language.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/macros.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js +2 -2
- package/dist/esm/components/SQLEditor/standardSql/standardSQLCompletionItemProvider.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js +1 -1
- package/dist/esm/components/SQLEditor/standardSql/standardSuggestionsRegistry.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js +27 -26
- package/dist/esm/components/SQLEditor/standardSql/statementPositionResolversRegistry.js.map +1 -1
- package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js +1 -1
- package/dist/esm/components/SQLEditor/standardSql/suggestionsKindRegistry.js.map +1 -1
- package/dist/esm/components/SQLEditor/test-utils/index.js.map +1 -1
- package/dist/esm/components/SQLEditor/test-utils/statementPosition.js.map +1 -1
- package/dist/esm/components/SQLEditor/types.js +1 -17
- package/dist/esm/components/SQLEditor/types.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/LinkedToken.js +8 -8
- package/dist/esm/components/SQLEditor/utils/LinkedToken.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/commands.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/debugger.js +1 -1
- package/dist/esm/components/SQLEditor/utils/debugger.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/getSuggestionKind.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js +3 -3
- package/dist/esm/components/SQLEditor/utils/linkedTokenBuilder.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/toCompletionItem.js +1 -1
- package/dist/esm/components/SQLEditor/utils/toCompletionItem.js.map +1 -1
- package/dist/esm/components/SQLEditor/utils/tokenType.js +18 -0
- package/dist/esm/components/SQLEditor/utils/tokenType.js.map +1 -0
- package/dist/esm/components/SQLEditor/utils/tokenUtils.js +10 -10
- package/dist/esm/components/SQLEditor/utils/tokenUtils.js.map +1 -1
- package/dist/esm/components/Segment/Segment.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js +2 -2
- package/dist/esm/components/VisualQueryBuilder/QueryModellerBase.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js +11 -11
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilterItem.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/LabelFilters.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js +4 -4
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditor.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js +3 -3
- package/dist/esm/components/VisualQueryBuilder/components/OperationEditorBody.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js +3 -3
- package/dist/esm/components/VisualQueryBuilder/components/OperationExplainedBox.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js +2 -2
- package/dist/esm/components/VisualQueryBuilder/components/OperationHeader.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js +2 -2
- package/dist/esm/components/VisualQueryBuilder/components/OperationInfoButton.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationList.js +4 -4
- package/dist/esm/components/VisualQueryBuilder/components/OperationList.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js +2 -2
- package/dist/esm/components/VisualQueryBuilder/components/OperationListExplained.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js +6 -6
- package/dist/esm/components/VisualQueryBuilder/components/OperationParamEditor.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js +3 -3
- package/dist/esm/components/VisualQueryBuilder/components/OperationsEditorRow.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js +8 -8
- package/dist/esm/components/VisualQueryBuilder/components/QueryBuilderHints.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/QueryEditorModeToggle.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js +3 -3
- package/dist/esm/components/VisualQueryBuilder/components/QueryHeaderSwitch.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/QueryOptionGroup.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js +2 -2
- package/dist/esm/components/VisualQueryBuilder/components/RawQuery.js.map +1 -1
- package/dist/esm/components/VisualQueryBuilder/types.js.map +1 -1
- package/dist/esm/datasource/SqlDatasource.js +14 -14
- package/dist/esm/datasource/SqlDatasource.js.map +1 -1
- package/dist/esm/datasource/constants.js.map +1 -1
- package/dist/esm/hooks/useDebounce.js.map +1 -1
- package/dist/esm/index.d.ts +695 -40
- package/dist/esm/index.js +13 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/schema/registry/alertmanager.schema.json.js +77 -0
- package/dist/esm/schema/registry/alertmanager.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/cloudwatch.schema.json.js +384 -0
- package/dist/esm/schema/registry/cloudwatch.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/elasticsearch.schema.json.js +597 -0
- package/dist/esm/schema/registry/elasticsearch.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-adobeanalytics-datasource.schema.json.js +95 -0
- package/dist/esm/schema/registry/grafana-adobeanalytics-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-amazonprometheus-datasource.schema.json.js +166 -0
- package/dist/esm/schema/registry/grafana-amazonprometheus-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-appdynamics-datasource.schema.json.js +145 -0
- package/dist/esm/schema/registry/grafana-appdynamics-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-astradb-datasource.schema.json.js +123 -0
- package/dist/esm/schema/registry/grafana-astradb-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-athena-datasource.schema.json.js +158 -0
- package/dist/esm/schema/registry/grafana-athena-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-atlassianstatuspage-datasource.schema.json.js +43 -0
- package/dist/esm/schema/registry/grafana-atlassianstatuspage-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-azure-data-explorer-datasource.schema.json.js +204 -0
- package/dist/esm/schema/registry/grafana-azure-data-explorer-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-azure-monitor-datasource.schema.json.js +300 -0
- package/dist/esm/schema/registry/grafana-azure-monitor-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-azuredevops-datasource.schema.json.js +101 -0
- package/dist/esm/schema/registry/grafana-azuredevops-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-azureprometheus-datasource.schema.json.js +125 -0
- package/dist/esm/schema/registry/grafana-azureprometheus-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-bigquery-datasource.schema.json.js +508 -0
- package/dist/esm/schema/registry/grafana-bigquery-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-catchpoint-datasource.schema.json.js +42 -0
- package/dist/esm/schema/registry/grafana-catchpoint-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-clickhouse-datasource.schema.json.js +1400 -0
- package/dist/esm/schema/registry/grafana-clickhouse-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-cloudflare-datasource.schema.json.js +42 -0
- package/dist/esm/schema/registry/grafana-cloudflare-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-cockroachdb-datasource.schema.json.js +302 -0
- package/dist/esm/schema/registry/grafana-cockroachdb-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-databricks-datasource.schema.json.js +291 -0
- package/dist/esm/schema/registry/grafana-databricks-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-datadog-datasource.schema.json.js +155 -0
- package/dist/esm/schema/registry/grafana-datadog-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-drone-datasource.schema.json.js +64 -0
- package/dist/esm/schema/registry/grafana-drone-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-dynatrace-datasource.schema.json.js +179 -0
- package/dist/esm/schema/registry/grafana-dynatrace-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-falconlogscale-datasource.schema.json.js +134 -0
- package/dist/esm/schema/registry/grafana-falconlogscale-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-github-datasource.schema.json.js +156 -0
- package/dist/esm/schema/registry/grafana-github-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-gitlab-datasource.schema.json.js +84 -0
- package/dist/esm/schema/registry/grafana-gitlab-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-googlesheets-datasource.schema.json.js +231 -0
- package/dist/esm/schema/registry/grafana-googlesheets-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-honeycomb-datasource.schema.json.js +87 -0
- package/dist/esm/schema/registry/grafana-honeycomb-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-iot-sitewise-datasource.schema.json.js +159 -0
- package/dist/esm/schema/registry/grafana-iot-sitewise-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-jira-datasource.schema.json.js +188 -0
- package/dist/esm/schema/registry/grafana-jira-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-logicmonitor-datasource.schema.json.js +63 -0
- package/dist/esm/schema/registry/grafana-logicmonitor-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-looker-datasource.schema.json.js +82 -0
- package/dist/esm/schema/registry/grafana-looker-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-mongodb-datasource.schema.json.js +278 -0
- package/dist/esm/schema/registry/grafana-mongodb-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-mqtt-datasource.schema.json.js +168 -0
- package/dist/esm/schema/registry/grafana-mqtt-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-netlify-datasource.schema.json.js +42 -0
- package/dist/esm/schema/registry/grafana-netlify-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-newrelic-datasource.schema.json.js +129 -0
- package/dist/esm/schema/registry/grafana-newrelic-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-odbc-datasource.schema.json.js +56 -0
- package/dist/esm/schema/registry/grafana-odbc-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-opensearch-datasource.schema.json.js +212 -0
- package/dist/esm/schema/registry/grafana-opensearch-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-oracle-datasource.schema.json.js +186 -0
- package/dist/esm/schema/registry/grafana-oracle-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-pagerduty-datasource.schema.json.js +85 -0
- package/dist/esm/schema/registry/grafana-pagerduty-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-postgresql-datasource.schema.json.js +411 -0
- package/dist/esm/schema/registry/grafana-postgresql-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-pyroscope-datasource.schema.json.js +41 -0
- package/dist/esm/schema/registry/grafana-pyroscope-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-redshift-datasource.schema.json.js +201 -0
- package/dist/esm/schema/registry/grafana-redshift-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-salesforce-datasource.schema.json.js +248 -0
- package/dist/esm/schema/registry/grafana-salesforce-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-saphana-datasource.schema.json.js +208 -0
- package/dist/esm/schema/registry/grafana-saphana-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-sentry-datasource.schema.json.js +94 -0
- package/dist/esm/schema/registry/grafana-sentry-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-servicenow-datasource.schema.json.js +179 -0
- package/dist/esm/schema/registry/grafana-servicenow-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-snowflake-datasource.schema.json.js +304 -0
- package/dist/esm/schema/registry/grafana-snowflake-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-solarwinds-datasource.schema.json.js +77 -0
- package/dist/esm/schema/registry/grafana-solarwinds-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-splunk-datasource.schema.json.js +690 -0
- package/dist/esm/schema/registry/grafana-splunk-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-splunkobservability-datasource.schema.json.js +90 -0
- package/dist/esm/schema/registry/grafana-splunkobservability-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-strava-datasource.schema.json.js +74 -0
- package/dist/esm/schema/registry/grafana-strava-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-sumologic-datasource.schema.json.js +102 -0
- package/dist/esm/schema/registry/grafana-sumologic-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-surrealdb-datasource.schema.json.js +92 -0
- package/dist/esm/schema/registry/grafana-surrealdb-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-timestream-datasource.schema.json.js +145 -0
- package/dist/esm/schema/registry/grafana-timestream-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-vercel-datasource.schema.json.js +62 -0
- package/dist/esm/schema/registry/grafana-vercel-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-wavefront-datasource.schema.json.js +80 -0
- package/dist/esm/schema/registry/grafana-wavefront-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-x-ray-datasource.schema.json.js +112 -0
- package/dist/esm/schema/registry/grafana-x-ray-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-yugabyte-datasource.schema.json.js +114 -0
- package/dist/esm/schema/registry/grafana-yugabyte-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/grafana-zendesk-datasource.schema.json.js +76 -0
- package/dist/esm/schema/registry/grafana-zendesk-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/graphite.schema.json.js +104 -0
- package/dist/esm/schema/registry/graphite.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/index.js +157 -0
- package/dist/esm/schema/registry/index.js.map +1 -0
- package/dist/esm/schema/registry/influxdb.schema.json.js +717 -0
- package/dist/esm/schema/registry/influxdb.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/jaeger.schema.json.js +59 -0
- package/dist/esm/schema/registry/jaeger.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/loki.schema.json.js +545 -0
- package/dist/esm/schema/registry/loki.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/marcusolsson-csv-datasource.schema.json.js +45 -0
- package/dist/esm/schema/registry/marcusolsson-csv-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/marcusolsson-json-datasource.schema.json.js +36 -0
- package/dist/esm/schema/registry/marcusolsson-json-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/mssql.schema.json.js +292 -0
- package/dist/esm/schema/registry/mssql.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/mysql.schema.json.js +304 -0
- package/dist/esm/schema/registry/mysql.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/opentsdb.schema.json.js +113 -0
- package/dist/esm/schema/registry/opentsdb.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/prometheus.schema.json.js +783 -0
- package/dist/esm/schema/registry/prometheus.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/stackdriver.schema.json.js +224 -0
- package/dist/esm/schema/registry/stackdriver.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/tempo.schema.json.js +664 -0
- package/dist/esm/schema/registry/tempo.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/yesoreyeram-infinity-datasource.schema.json.js +1073 -0
- package/dist/esm/schema/registry/yesoreyeram-infinity-datasource.schema.json.js.map +1 -0
- package/dist/esm/schema/registry/zipkin.schema.json.js +40 -0
- package/dist/esm/schema/registry/zipkin.schema.json.js.map +1 -0
- package/dist/esm/schema/utils/dsconfig.js +97 -0
- package/dist/esm/schema/utils/dsconfig.js.map +1 -0
- package/dist/esm/schema/utils/llm.js +54 -0
- package/dist/esm/schema/utils/llm.js.map +1 -0
- package/dist/esm/schema/utils/provisioning.js +434 -0
- package/dist/esm/schema/utils/provisioning.js.map +1 -0
- package/dist/esm/schema/utils/useDatasourceSchema.js +16 -0
- package/dist/esm/schema/utils/useDatasourceSchema.js.map +1 -0
- package/dist/esm/schemas.d.ts +448 -0
- package/dist/esm/schemas.js +6 -0
- package/dist/esm/schemas.js.map +1 -0
- package/dist/esm/test/mocks/DataQuery.js.map +1 -1
- package/dist/esm/test/mocks/Datasource.js +1 -1
- package/dist/esm/test/mocks/Datasource.js.map +1 -1
- package/dist/esm/test/mocks/Plugin.js +1 -1
- package/dist/esm/test/mocks/Plugin.js.map +1 -1
- package/dist/esm/test/mocks/QueryEditorProps.js.map +1 -1
- package/dist/esm/test/mocks/utils.js +2 -2
- package/dist/esm/test/mocks/utils.js.map +1 -1
- package/dist/esm/test-utils.d.ts +24 -24
- package/package.json +40 -20
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yesoreyeram-infinity-datasource.schema.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var $schema = "../schema.json";
|
|
2
|
+
var schemaVersion = "v1";
|
|
3
|
+
var pluginType = "zipkin";
|
|
4
|
+
var pluginName = "Zipkin";
|
|
5
|
+
var docURL = "https://grafana.com/docs/grafana/latest/datasources/zipkin/";
|
|
6
|
+
var fields = [
|
|
7
|
+
{
|
|
8
|
+
id: "jsonData.nodeGraph.enabled",
|
|
9
|
+
key: "enabled",
|
|
10
|
+
label: "Enable node graph",
|
|
11
|
+
description: "Shows the node graph visualization above the trace view.",
|
|
12
|
+
valueType: "boolean",
|
|
13
|
+
target: "jsonData",
|
|
14
|
+
section: "nodeGraph",
|
|
15
|
+
ui: {
|
|
16
|
+
component: "switch"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
];
|
|
20
|
+
var groups = [
|
|
21
|
+
{
|
|
22
|
+
id: "node-graph",
|
|
23
|
+
title: "Node graph",
|
|
24
|
+
fieldRefs: [
|
|
25
|
+
"jsonData.nodeGraph.enabled"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
];
|
|
29
|
+
var zipkinSchema = {
|
|
30
|
+
$schema: $schema,
|
|
31
|
+
schemaVersion: schemaVersion,
|
|
32
|
+
pluginType: pluginType,
|
|
33
|
+
pluginName: pluginName,
|
|
34
|
+
docURL: docURL,
|
|
35
|
+
fields: fields,
|
|
36
|
+
groups: groups
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export { $schema, zipkinSchema as default, docURL, fields, groups, pluginName, pluginType, schemaVersion };
|
|
40
|
+
//# sourceMappingURL=zipkin.schema.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zipkin.schema.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
const ROOT_CONFIG_FIELDS = [
|
|
2
|
+
"name",
|
|
3
|
+
"type",
|
|
4
|
+
"id",
|
|
5
|
+
"uid",
|
|
6
|
+
"access",
|
|
7
|
+
"url",
|
|
8
|
+
"basicAuth",
|
|
9
|
+
"basicAuthUser",
|
|
10
|
+
"user",
|
|
11
|
+
"isDefault",
|
|
12
|
+
"database",
|
|
13
|
+
"withCredentials"
|
|
14
|
+
];
|
|
15
|
+
const buildCreateDatasourcePayload = (input) => {
|
|
16
|
+
const body = { name: input.name, type: input.type, access: "proxy" };
|
|
17
|
+
if (input.jsonData !== void 0) {
|
|
18
|
+
body.jsonData = { ...input.jsonData };
|
|
19
|
+
}
|
|
20
|
+
normalizeDatasourceConfig(body, input, { inferAuthMethod: true });
|
|
21
|
+
return body;
|
|
22
|
+
};
|
|
23
|
+
const buildCloneDatasourcePayload = (source, name) => {
|
|
24
|
+
var _a;
|
|
25
|
+
return { ...source, name, access: (_a = source.access) != null ? _a : "proxy", isDefault: false };
|
|
26
|
+
};
|
|
27
|
+
const buildUpdateDatasourcePayload = (existing, input) => {
|
|
28
|
+
var _a;
|
|
29
|
+
const body = {
|
|
30
|
+
name: existing.name,
|
|
31
|
+
type: existing.type,
|
|
32
|
+
access: existing.access,
|
|
33
|
+
url: existing.url,
|
|
34
|
+
database: existing.database,
|
|
35
|
+
basicAuth: existing.basicAuth,
|
|
36
|
+
basicAuthUser: existing.basicAuthUser,
|
|
37
|
+
isDefault: existing.isDefault,
|
|
38
|
+
user: existing.user,
|
|
39
|
+
withCredentials: existing.withCredentials,
|
|
40
|
+
jsonData: existing.jsonData
|
|
41
|
+
};
|
|
42
|
+
let hasChanges = false;
|
|
43
|
+
const UPDATE_COMPARABLE_FIELDS = ["name", "url", "database", "isDefault", "basicAuth"];
|
|
44
|
+
for (const key of UPDATE_COMPARABLE_FIELDS) {
|
|
45
|
+
if (input[key] !== void 0 && input[key] !== existing[key]) {
|
|
46
|
+
body[key] = input[key];
|
|
47
|
+
hasChanges = true;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (input.jsonData !== void 0) {
|
|
51
|
+
body.jsonData = { ...(_a = existing.jsonData) != null ? _a : {}, ...input.jsonData };
|
|
52
|
+
hasChanges = true;
|
|
53
|
+
hasChanges = normalizeDatasourceConfig(body, input) || hasChanges;
|
|
54
|
+
}
|
|
55
|
+
return { body, hasChanges };
|
|
56
|
+
};
|
|
57
|
+
const normalizeDatasourceConfig = (body, input, options = {}) => {
|
|
58
|
+
const changed = hoistRootConfigFields(body, input);
|
|
59
|
+
if (options.inferAuthMethod) {
|
|
60
|
+
applyInferredAuthMethod(body, input);
|
|
61
|
+
}
|
|
62
|
+
return changed;
|
|
63
|
+
};
|
|
64
|
+
const hoistRootConfigFields = (body, input) => {
|
|
65
|
+
var _a;
|
|
66
|
+
const jsonData = (_a = body.jsonData) != null ? _a : {};
|
|
67
|
+
let changed = false;
|
|
68
|
+
for (const key of ROOT_CONFIG_FIELDS) {
|
|
69
|
+
if (jsonData[key] === void 0) {
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
if (input[key] === void 0) {
|
|
73
|
+
body[key] = jsonData[key];
|
|
74
|
+
changed = true;
|
|
75
|
+
}
|
|
76
|
+
delete jsonData[key];
|
|
77
|
+
}
|
|
78
|
+
body.jsonData = jsonData;
|
|
79
|
+
return changed;
|
|
80
|
+
};
|
|
81
|
+
const applyInferredAuthMethod = (body, input) => {
|
|
82
|
+
var _a;
|
|
83
|
+
const jsonData = (_a = body.jsonData) != null ? _a : {};
|
|
84
|
+
if (jsonData.authMethod !== void 0) {
|
|
85
|
+
body.jsonData = jsonData;
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (jsonData.oauthPassThru === true) {
|
|
89
|
+
jsonData.authMethod = "forward_oauth";
|
|
90
|
+
} else if (body.basicAuth === true || input.basicAuth === true) {
|
|
91
|
+
jsonData.authMethod = "basic";
|
|
92
|
+
}
|
|
93
|
+
body.jsonData = jsonData;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export { ROOT_CONFIG_FIELDS, buildCloneDatasourcePayload, buildCreateDatasourcePayload, buildUpdateDatasourcePayload };
|
|
97
|
+
//# sourceMappingURL=dsconfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dsconfig.js","sources":["../../../../src/schema/utils/dsconfig.ts"],"sourcesContent":["export const ROOT_CONFIG_FIELDS = [\n 'name',\n 'type',\n 'id',\n 'uid',\n 'access',\n 'url',\n 'basicAuth',\n 'basicAuthUser',\n 'user',\n 'isDefault',\n 'database',\n 'withCredentials',\n] as const;\n\ntype DatasourceConfig = Record<any, any>;\n\nexport const buildCreateDatasourcePayload = (input: DatasourceConfig): DatasourceConfig => {\n const body: DatasourceConfig = { name: input.name, type: input.type, access: 'proxy' };\n if (input.jsonData !== undefined) {\n body.jsonData = { ...(input.jsonData as DatasourceConfig) };\n }\n normalizeDatasourceConfig(body, input, { inferAuthMethod: true });\n return body;\n};\n\nexport const buildCloneDatasourcePayload = (source: DatasourceConfig, name: string): DatasourceConfig => {\n return { ...source, name, access: source.access ?? 'proxy', isDefault: false };\n};\n\nexport const buildUpdateDatasourcePayload = (\n existing: DatasourceConfig,\n input: DatasourceConfig\n): { body: DatasourceConfig; hasChanges: boolean } => {\n const body: DatasourceConfig = {\n name: existing.name,\n type: existing.type,\n access: existing.access,\n url: existing.url,\n database: existing.database,\n basicAuth: existing.basicAuth,\n basicAuthUser: existing.basicAuthUser,\n isDefault: existing.isDefault,\n user: existing.user,\n withCredentials: existing.withCredentials,\n jsonData: existing.jsonData,\n };\n let hasChanges = false;\n const UPDATE_COMPARABLE_FIELDS = ['name', 'url', 'database', 'isDefault', 'basicAuth'] as const;\n for (const key of UPDATE_COMPARABLE_FIELDS) {\n if (input[key] !== undefined && input[key] !== existing[key]) {\n body[key] = input[key];\n hasChanges = true;\n }\n }\n\n if (input.jsonData !== undefined) {\n body.jsonData = { ...((existing.jsonData ?? {}) as DatasourceConfig), ...(input.jsonData as DatasourceConfig) };\n hasChanges = true;\n hasChanges = normalizeDatasourceConfig(body, input) || hasChanges;\n }\n\n return { body, hasChanges };\n};\n\nconst normalizeDatasourceConfig = (\n body: DatasourceConfig,\n input: DatasourceConfig,\n options: { inferAuthMethod?: boolean } = {}\n): boolean => {\n const changed = hoistRootConfigFields(body, input);\n if (options.inferAuthMethod) {\n applyInferredAuthMethod(body, input);\n }\n return changed;\n};\n\nconst hoistRootConfigFields = (body: DatasourceConfig, input: DatasourceConfig): boolean => {\n const jsonData = (body.jsonData as DatasourceConfig | undefined) ?? {};\n let changed = false;\n\n for (const key of ROOT_CONFIG_FIELDS) {\n if (jsonData[key] === undefined) {\n continue;\n }\n\n if (input[key] === undefined) {\n body[key] = jsonData[key];\n changed = true;\n }\n\n delete jsonData[key];\n }\n\n body.jsonData = jsonData;\n return changed;\n};\n\nconst applyInferredAuthMethod = (body: DatasourceConfig, input: DatasourceConfig): void => {\n const jsonData = (body.jsonData as DatasourceConfig | undefined) ?? {};\n\n if (jsonData.authMethod !== undefined) {\n body.jsonData = jsonData;\n return;\n }\n\n if (jsonData.oauthPassThru === true) {\n jsonData.authMethod = 'forward_oauth';\n } else if (body.basicAuth === true || input.basicAuth === true) {\n jsonData.authMethod = 'basic';\n }\n\n body.jsonData = jsonData;\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
function generateLLMHint(schema) {
|
|
2
|
+
var _a, _b, _c, _d;
|
|
3
|
+
const hints = [];
|
|
4
|
+
for (const field of schema.fields) {
|
|
5
|
+
if (((_a = field.ui) == null ? void 0 : _a.component) !== "select" || field.target !== "jsonData" || field.kind === "virtual") {
|
|
6
|
+
continue;
|
|
7
|
+
}
|
|
8
|
+
const options = (_c = (_b = field.ui) == null ? void 0 : _b.options) != null ? _c : [];
|
|
9
|
+
const values = options.map((opt) => {
|
|
10
|
+
const isDefault = field.defaultValue != null && String(opt.value) === String(field.defaultValue);
|
|
11
|
+
return isDefault ? `"${opt.value}" (default)` : `"${opt.value}"`;
|
|
12
|
+
}).join(", ");
|
|
13
|
+
if (values) {
|
|
14
|
+
hints.push(`- ${(_d = field.label) != null ? _d : field.key}: jsonData.${field.key} \u2014 values: ${values}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return hints.join("\n");
|
|
18
|
+
}
|
|
19
|
+
function generateTroubleshootingFields(schema) {
|
|
20
|
+
var _a, _b, _c;
|
|
21
|
+
const result = [];
|
|
22
|
+
for (const field of schema.fields) {
|
|
23
|
+
if (field.kind === "virtual" || field.isItemField) {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
const entry = {
|
|
27
|
+
label: (_a = field.label) != null ? _a : field.key,
|
|
28
|
+
key: field.target === "root" ? field.key : `${field.target}.${field.key}`,
|
|
29
|
+
target: (_b = field.target) != null ? _b : "jsonData",
|
|
30
|
+
type: field.valueType,
|
|
31
|
+
required: !!field.required
|
|
32
|
+
};
|
|
33
|
+
if (field.description) {
|
|
34
|
+
entry.description = field.description;
|
|
35
|
+
}
|
|
36
|
+
if (field.defaultValue != null) {
|
|
37
|
+
entry.defaultValue = field.defaultValue;
|
|
38
|
+
}
|
|
39
|
+
if (((_c = field.ui) == null ? void 0 : _c.options) && field.ui.options.length > 0) {
|
|
40
|
+
entry.options = field.ui.options.map((o) => String(o.value));
|
|
41
|
+
}
|
|
42
|
+
if (field.section) {
|
|
43
|
+
entry.section = field.section;
|
|
44
|
+
}
|
|
45
|
+
if (field.dependsOn) {
|
|
46
|
+
entry.dependsOn = field.dependsOn;
|
|
47
|
+
}
|
|
48
|
+
result.push(entry);
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { generateLLMHint, generateTroubleshootingFields };
|
|
54
|
+
//# sourceMappingURL=llm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm.js","sources":["../../../../src/schema/utils/llm.ts"],"sourcesContent":["import type { DatasourceConfigSchema } from '../schema';\n\n/**\n * Generate LLM hints for select fields (used when creating datasources).\n */\nexport function generateLLMHint(schema: DatasourceConfigSchema): string {\n const hints: string[] = [];\n for (const field of schema.fields) {\n if (field.ui?.component !== 'select' || field.target !== 'jsonData' || field.kind === 'virtual') {\n continue;\n }\n const options = field.ui?.options ?? [];\n const values = options\n .map((opt) => {\n const isDefault = field.defaultValue != null && String(opt.value) === String(field.defaultValue);\n return isDefault ? `\"${opt.value}\" (default)` : `\"${opt.value}\"`;\n })\n .join(', ');\n if (values) {\n hints.push(`- ${field.label ?? field.key}: jsonData.${field.key} — values: ${values}`);\n }\n }\n return hints.join('\\n');\n}\n\n/**\n * Generate comprehensive structured field data for troubleshooting context.\n * Returns an array of field descriptors the LLM can use to render rich tables.\n */\nexport function generateTroubleshootingFields(schema: DatasourceConfigSchema): Array<{\n label: string;\n key: string;\n target: string;\n type: string;\n required: boolean;\n description?: string;\n defaultValue?: unknown;\n options?: string[];\n section?: string;\n dependsOn?: string;\n}> {\n const result: Array<{\n label: string;\n key: string;\n target: string;\n type: string;\n required: boolean;\n description?: string;\n defaultValue?: unknown;\n options?: string[];\n section?: string;\n dependsOn?: string;\n }> = [];\n for (const field of schema.fields) {\n if (field.kind === 'virtual' || field.isItemField) {\n continue;\n }\n const entry: (typeof result)[0] = {\n label: field.label ?? field.key,\n key: field.target === 'root' ? field.key : `${field.target}.${field.key}`,\n target: field.target ?? 'jsonData',\n type: field.valueType,\n required: !!field.required,\n };\n if (field.description) {\n entry.description = field.description;\n }\n if (field.defaultValue != null) {\n entry.defaultValue = field.defaultValue;\n }\n if (field.ui?.options && field.ui.options.length > 0) {\n entry.options = field.ui.options.map((o) => String(o.value));\n }\n if (field.section) {\n entry.section = field.section;\n }\n if (field.dependsOn) {\n entry.dependsOn = field.dependsOn;\n }\n result.push(entry);\n }\n return result;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
import yaml from 'js-yaml';
|
|
2
|
+
import { resolveGroups } from '../../components/ConfigEditor/DatasourceConfigWizard/config.js';
|
|
3
|
+
import { ROOT_CONFIG_FIELDS } from './dsconfig.js';
|
|
4
|
+
|
|
5
|
+
function yamlIndent(depth) {
|
|
6
|
+
return " ".repeat(depth);
|
|
7
|
+
}
|
|
8
|
+
function yamlString(value) {
|
|
9
|
+
if (value === null || value === void 0) {
|
|
10
|
+
return '""';
|
|
11
|
+
}
|
|
12
|
+
const s = String(value);
|
|
13
|
+
if (s === "") {
|
|
14
|
+
return '""';
|
|
15
|
+
}
|
|
16
|
+
return yaml.dump(s, { lineWidth: -1 }).trimEnd();
|
|
17
|
+
}
|
|
18
|
+
function yamlValue(value, depth) {
|
|
19
|
+
if (value === null || value === void 0) {
|
|
20
|
+
return '""';
|
|
21
|
+
}
|
|
22
|
+
if (typeof value === "boolean") {
|
|
23
|
+
return value ? "true" : "false";
|
|
24
|
+
}
|
|
25
|
+
if (typeof value === "number") {
|
|
26
|
+
return String(value);
|
|
27
|
+
}
|
|
28
|
+
if (typeof value === "string") {
|
|
29
|
+
return yamlString(value);
|
|
30
|
+
}
|
|
31
|
+
if (Array.isArray(value)) {
|
|
32
|
+
if (value.length === 0) {
|
|
33
|
+
return "[]";
|
|
34
|
+
}
|
|
35
|
+
const lines = value.map((item) => {
|
|
36
|
+
if (typeof item === "object" && item !== null && !Array.isArray(item)) {
|
|
37
|
+
const entries = Object.entries(item);
|
|
38
|
+
if (entries.length === 0) {
|
|
39
|
+
return `${yamlIndent(depth)}- {}`;
|
|
40
|
+
}
|
|
41
|
+
const [firstKey, firstVal] = entries[0];
|
|
42
|
+
const firstLine = `${yamlIndent(depth)}- ${yamlString(firstKey)}: ${yamlValue(firstVal, depth + 2)}`;
|
|
43
|
+
const rest = entries.slice(1).map(([k, v]) => `${yamlIndent(depth + 1)}${yamlString(k)}: ${yamlValue(v, depth + 2)}`);
|
|
44
|
+
return [firstLine, ...rest].join("\n");
|
|
45
|
+
}
|
|
46
|
+
return `${yamlIndent(depth)}- ${yamlValue(item, depth + 1)}`;
|
|
47
|
+
});
|
|
48
|
+
return "\n" + lines.join("\n");
|
|
49
|
+
}
|
|
50
|
+
if (typeof value === "object") {
|
|
51
|
+
const entries = Object.entries(value);
|
|
52
|
+
if (entries.length === 0) {
|
|
53
|
+
return "{}";
|
|
54
|
+
}
|
|
55
|
+
const lines = entries.map(([k, v]) => `${yamlIndent(depth)}${yamlString(k)}: ${yamlValue(v, depth + 1)}`);
|
|
56
|
+
return "\n" + lines.join("\n");
|
|
57
|
+
}
|
|
58
|
+
return yamlString(value);
|
|
59
|
+
}
|
|
60
|
+
function isCertField(field) {
|
|
61
|
+
var _a;
|
|
62
|
+
const k = field.key.toLowerCase();
|
|
63
|
+
return field.target === "secureJsonData" && (k.includes("cert") || k.includes("key") || ((_a = field.ui) == null ? void 0 : _a.component) === "textarea");
|
|
64
|
+
}
|
|
65
|
+
function isExcludedFromProvisioning(field) {
|
|
66
|
+
var _a, _b;
|
|
67
|
+
if (field.kind === "virtual") {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
if (field.isItemField) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
if (((_a = field.tags) == null ? void 0 : _a.some((t) => t.startsWith("managed-by:"))) && field.target !== "root") {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
if (((_b = field.storage) == null ? void 0 : _b.type) === "indexedPair") {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
function secretPlaceholder(field) {
|
|
82
|
+
if (isCertField(field)) {
|
|
83
|
+
return "|\n xxxxxx";
|
|
84
|
+
}
|
|
85
|
+
return "xxxxxx";
|
|
86
|
+
}
|
|
87
|
+
function templateValue(field) {
|
|
88
|
+
var _a;
|
|
89
|
+
if (field.defaultValue !== void 0) {
|
|
90
|
+
return field.defaultValue;
|
|
91
|
+
}
|
|
92
|
+
if (((_a = field.ui) == null ? void 0 : _a.options) && field.ui.options.length > 0) {
|
|
93
|
+
return field.ui.options[0].value;
|
|
94
|
+
}
|
|
95
|
+
switch (field.valueType) {
|
|
96
|
+
case "string":
|
|
97
|
+
return "";
|
|
98
|
+
case "number":
|
|
99
|
+
return 0;
|
|
100
|
+
case "boolean":
|
|
101
|
+
return false;
|
|
102
|
+
case "array":
|
|
103
|
+
return [];
|
|
104
|
+
case "object":
|
|
105
|
+
case "map":
|
|
106
|
+
return {};
|
|
107
|
+
default:
|
|
108
|
+
return "";
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function fieldComment(field, indent) {
|
|
112
|
+
var _a, _b, _c;
|
|
113
|
+
const parts = [];
|
|
114
|
+
const label = (_a = field.label) != null ? _a : field.key;
|
|
115
|
+
let line = label;
|
|
116
|
+
if (field.required) {
|
|
117
|
+
line += " (REQUIRED)";
|
|
118
|
+
}
|
|
119
|
+
if (field.description) {
|
|
120
|
+
line += ` \u2014 ${field.description}`;
|
|
121
|
+
}
|
|
122
|
+
parts.push(`${indent}# ${line}`);
|
|
123
|
+
const options = (_b = field.ui) == null ? void 0 : _b.options;
|
|
124
|
+
if (options && options.length > 0) {
|
|
125
|
+
const vals = options.map((o) => String(o.value)).join(", ");
|
|
126
|
+
parts.push(`${indent}# Allowed values: ${vals}`);
|
|
127
|
+
}
|
|
128
|
+
const allowedValuesRule = (_c = field.validations) == null ? void 0 : _c.find(
|
|
129
|
+
(v) => v.type === "allowedValues"
|
|
130
|
+
);
|
|
131
|
+
if (allowedValuesRule && !options) {
|
|
132
|
+
const vals = allowedValuesRule.values.map((v) => String(v)).join(", ");
|
|
133
|
+
parts.push(`${indent}# Allowed values: ${vals}`);
|
|
134
|
+
}
|
|
135
|
+
if (field.dependsOn) {
|
|
136
|
+
parts.push(`${indent}# Only when: ${field.dependsOn}`);
|
|
137
|
+
}
|
|
138
|
+
return parts.join("\n");
|
|
139
|
+
}
|
|
140
|
+
function toProvisioningYaml(schema, values, options) {
|
|
141
|
+
var _a, _b, _c, _d, _e, _f;
|
|
142
|
+
const isTemplate = !values;
|
|
143
|
+
const showComments = (_a = options == null ? void 0 : options.comments) != null ? _a : isTemplate;
|
|
144
|
+
const indent2 = " ";
|
|
145
|
+
const indent3 = " ";
|
|
146
|
+
const groups = resolveGroups(schema);
|
|
147
|
+
const rootFields = [];
|
|
148
|
+
const jsonDataFieldsByGroup = [];
|
|
149
|
+
const secureJsonDataFieldsByGroup = [];
|
|
150
|
+
const virtualFieldsWithOptions = [];
|
|
151
|
+
for (const { group, fields } of groups) {
|
|
152
|
+
const jd = [];
|
|
153
|
+
const sd = [];
|
|
154
|
+
for (const field of fields) {
|
|
155
|
+
if (field.kind === "virtual" && ((_b = field.ui) == null ? void 0 : _b.options) && field.ui.options.length > 0) {
|
|
156
|
+
virtualFieldsWithOptions.push(field);
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
if (isExcludedFromProvisioning(field)) {
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
switch (field.target) {
|
|
163
|
+
case "root":
|
|
164
|
+
rootFields.push(field);
|
|
165
|
+
break;
|
|
166
|
+
case "jsonData":
|
|
167
|
+
jd.push(field);
|
|
168
|
+
break;
|
|
169
|
+
case "secureJsonData":
|
|
170
|
+
sd.push(field);
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
if (jd.length > 0) {
|
|
175
|
+
jsonDataFieldsByGroup.push({ group, fields: jd });
|
|
176
|
+
}
|
|
177
|
+
if (sd.length > 0) {
|
|
178
|
+
secureJsonDataFieldsByGroup.push({ group, fields: sd });
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const allSecureJsonDataFields = secureJsonDataFieldsByGroup.flatMap((g) => g.fields);
|
|
182
|
+
const groupedFieldIds = new Set(groups.flatMap(({ group }) => group.fieldRefs));
|
|
183
|
+
for (const field of schema.fields) {
|
|
184
|
+
if (field.target === "root" && !groupedFieldIds.has(field.id) && !isExcludedFromProvisioning(field)) {
|
|
185
|
+
rootFields.push(field);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
const lines = [];
|
|
189
|
+
lines.push("apiVersion: 1");
|
|
190
|
+
lines.push("");
|
|
191
|
+
lines.push("datasources:");
|
|
192
|
+
lines.push(`${indent2.slice(2)}- name: ${yamlString((_d = (_c = options == null ? void 0 : options.name) != null ? _c : values == null ? void 0 : values.name) != null ? _d : `my-${schema.pluginType}`)}`);
|
|
193
|
+
lines.push(`${indent2}type: ${schema.pluginType}`);
|
|
194
|
+
if (!isTemplate && (values == null ? void 0 : values.uid)) {
|
|
195
|
+
lines.push(`${indent2}uid: ${yamlString(values.uid)}`);
|
|
196
|
+
}
|
|
197
|
+
const ALREADY_EMITTED_ROOT = /* @__PURE__ */ new Set(["name", "type", "uid"]);
|
|
198
|
+
for (const field of rootFields) {
|
|
199
|
+
if (ALREADY_EMITTED_ROOT.has(field.key)) {
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
const val = values ? values[field.key] : templateValue(field);
|
|
203
|
+
if (val === void 0 || val === null) {
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
if (!isTemplate && val === false) {
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
if (showComments) {
|
|
210
|
+
lines.push(fieldComment(field, indent2));
|
|
211
|
+
}
|
|
212
|
+
lines.push(`${indent2}${field.key}: ${yamlValue(val, 3)}`);
|
|
213
|
+
}
|
|
214
|
+
if (showComments) {
|
|
215
|
+
for (const vf of virtualFieldsWithOptions) {
|
|
216
|
+
const label = (_e = vf.label) != null ? _e : vf.key;
|
|
217
|
+
const opts = vf.ui.options.map((o) => `${String(o.value)} (${o.label})`).join(", ");
|
|
218
|
+
lines.push(`${indent2}# ${label}: ${opts}`);
|
|
219
|
+
if (vf.description) {
|
|
220
|
+
lines.push(`${indent2}# ${vf.description}`);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
const emittedJsonDataKeys = /* @__PURE__ */ new Set();
|
|
225
|
+
const emittedSecureJsonDataKeys = /* @__PURE__ */ new Set();
|
|
226
|
+
const jsonDataValues = values == null ? void 0 : values.jsonData;
|
|
227
|
+
const hasJsonDataFromSchema = jsonDataFieldsByGroup.length > 0;
|
|
228
|
+
const hasJsonDataFromValues = !isTemplate && jsonDataValues && Object.keys(jsonDataValues).length > 0;
|
|
229
|
+
if (hasJsonDataFromSchema || hasJsonDataFromValues) {
|
|
230
|
+
lines.push(`${indent2}jsonData:`);
|
|
231
|
+
for (const { group, fields: groupFields } of jsonDataFieldsByGroup) {
|
|
232
|
+
if (showComments && jsonDataFieldsByGroup.length > 1) {
|
|
233
|
+
lines.push(`${indent3}# --- ${group.title} ---`);
|
|
234
|
+
}
|
|
235
|
+
for (const field of groupFields) {
|
|
236
|
+
const val = values ? getNestedValue(values, "jsonData", field) : templateValue(field);
|
|
237
|
+
if (val === void 0 || val === null) {
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
if (!isTemplate && field.defaultValue !== void 0 && val === field.defaultValue) {
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
emittedJsonDataKeys.add(field.key);
|
|
244
|
+
if (showComments) {
|
|
245
|
+
lines.push(fieldComment(field, indent3));
|
|
246
|
+
}
|
|
247
|
+
const rendered = yamlValue(val, 4);
|
|
248
|
+
if (rendered.startsWith("\n")) {
|
|
249
|
+
lines.push(`${indent3}${field.key}:${rendered}`);
|
|
250
|
+
} else {
|
|
251
|
+
lines.push(`${indent3}${field.key}: ${rendered}`);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
if (!isTemplate && jsonDataValues) {
|
|
256
|
+
for (const [key, val] of Object.entries(jsonDataValues)) {
|
|
257
|
+
if (emittedJsonDataKeys.has(key)) {
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
260
|
+
if (val === void 0 || val === null) {
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
263
|
+
const rendered = yamlValue(val, 4);
|
|
264
|
+
if (rendered.startsWith("\n")) {
|
|
265
|
+
lines.push(`${indent3}${key}:${rendered}`);
|
|
266
|
+
} else {
|
|
267
|
+
lines.push(`${indent3}${key}: ${rendered}`);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
const secureJsonFields = (_f = values == null ? void 0 : values.secureJsonFields) != null ? _f : {};
|
|
273
|
+
const inferredSecureKeys = !isTemplate ? inferSecureJsonDataKeys(jsonDataValues) : [];
|
|
274
|
+
const activeSecureFields = isTemplate ? allSecureJsonDataFields : allSecureJsonDataFields.filter((f) => secureJsonFields[f.key] === true);
|
|
275
|
+
if (activeSecureFields.length > 0 || inferredSecureKeys.length > 0) {
|
|
276
|
+
lines.push(`${indent2}secureJsonData:`);
|
|
277
|
+
for (const field of activeSecureFields) {
|
|
278
|
+
emittedSecureJsonDataKeys.add(field.key);
|
|
279
|
+
if (showComments) {
|
|
280
|
+
lines.push(fieldComment(field, indent3));
|
|
281
|
+
}
|
|
282
|
+
lines.push(`${indent3}${field.key}: ${secretPlaceholder(field)}`);
|
|
283
|
+
}
|
|
284
|
+
for (const key of inferredSecureKeys) {
|
|
285
|
+
if (emittedSecureJsonDataKeys.has(key)) {
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
lines.push(`${indent3}${key}: xxxxxx`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return lines.join("\n");
|
|
292
|
+
}
|
|
293
|
+
function inferSecureJsonDataKeys(jsonData) {
|
|
294
|
+
if (!jsonData) {
|
|
295
|
+
return [];
|
|
296
|
+
}
|
|
297
|
+
const keys = [];
|
|
298
|
+
for (const key of Object.keys(jsonData)) {
|
|
299
|
+
const match = key.match(/^httpHeaderName(\d+)$/);
|
|
300
|
+
if (match) {
|
|
301
|
+
keys.push(`httpHeaderValue${match[1]}`);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
return keys;
|
|
305
|
+
}
|
|
306
|
+
function getNestedValue(values, target, field) {
|
|
307
|
+
const nested = values[target];
|
|
308
|
+
if (nested && typeof nested === "object") {
|
|
309
|
+
return nested[field.key];
|
|
310
|
+
}
|
|
311
|
+
return void 0;
|
|
312
|
+
}
|
|
313
|
+
function datasourceToProvisioningYaml(ds, schema) {
|
|
314
|
+
if (schema) {
|
|
315
|
+
return toProvisioningYaml(schema, ds, { comments: false });
|
|
316
|
+
}
|
|
317
|
+
const lines = [];
|
|
318
|
+
lines.push("apiVersion: 1");
|
|
319
|
+
lines.push("");
|
|
320
|
+
lines.push("datasources:");
|
|
321
|
+
lines.push(` - name: ${yamlString(ds.name)}`);
|
|
322
|
+
if (ds.uid) {
|
|
323
|
+
lines.push(` uid: ${yamlString(ds.uid)}`);
|
|
324
|
+
}
|
|
325
|
+
lines.push(` type: ${yamlString(ds.type)}`);
|
|
326
|
+
if (ds.url) {
|
|
327
|
+
lines.push(` url: ${yamlString(ds.url)}`);
|
|
328
|
+
}
|
|
329
|
+
if (ds.database) {
|
|
330
|
+
lines.push(` database: ${yamlString(ds.database)}`);
|
|
331
|
+
}
|
|
332
|
+
if (ds.isDefault) {
|
|
333
|
+
lines.push(" isDefault: true");
|
|
334
|
+
}
|
|
335
|
+
if (ds.basicAuth) {
|
|
336
|
+
lines.push(" basicAuth: true");
|
|
337
|
+
if (ds.basicAuthUser) {
|
|
338
|
+
lines.push(` basicAuthUser: ${yamlString(ds.basicAuthUser)}`);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
const jsonData = ds.jsonData;
|
|
342
|
+
if (jsonData && Object.keys(jsonData).length > 0) {
|
|
343
|
+
lines.push(" jsonData:");
|
|
344
|
+
for (const [key, val] of Object.entries(jsonData)) {
|
|
345
|
+
const rendered = yamlValue(val, 4);
|
|
346
|
+
if (rendered.startsWith("\n")) {
|
|
347
|
+
lines.push(` ${key}:${rendered}`);
|
|
348
|
+
} else {
|
|
349
|
+
lines.push(` ${key}: ${rendered}`);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
lines.push(" # secureJsonData: (secrets are not exported \u2014 add manually)");
|
|
354
|
+
lines.push(" # mySecret: xxxxxx");
|
|
355
|
+
return lines.join("\n");
|
|
356
|
+
}
|
|
357
|
+
function getYamlRenderOptions(ds) {
|
|
358
|
+
var _a, _b, _c;
|
|
359
|
+
return {
|
|
360
|
+
jsonDataKeys: Object.keys((_a = ds.jsonData) != null ? _a : {}).sort(),
|
|
361
|
+
secureKeys: [
|
|
362
|
+
.../* @__PURE__ */ new Set([
|
|
363
|
+
...Object.keys((_b = ds.secureJsonData) != null ? _b : {}),
|
|
364
|
+
...Object.keys((_c = ds.secureJsonFields) != null ? _c : {})
|
|
365
|
+
])
|
|
366
|
+
].sort()
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
const configToYaml = (ds, options = {}) => {
|
|
370
|
+
var _a, _b, _c;
|
|
371
|
+
const { jsonDataKeys, secureKeys } = {
|
|
372
|
+
...getYamlRenderOptions(ds),
|
|
373
|
+
...options
|
|
374
|
+
};
|
|
375
|
+
const root = {};
|
|
376
|
+
for (const key of ROOT_CONFIG_FIELDS) {
|
|
377
|
+
root[key] = (_a = ds[key]) != null ? _a : "";
|
|
378
|
+
}
|
|
379
|
+
const jsonData = (_b = ds.jsonData) != null ? _b : {};
|
|
380
|
+
if (jsonDataKeys.length > 0) {
|
|
381
|
+
const jsonDataYaml = {};
|
|
382
|
+
for (const key of jsonDataKeys) {
|
|
383
|
+
jsonDataYaml[key] = (_c = jsonData[key]) != null ? _c : "";
|
|
384
|
+
}
|
|
385
|
+
root.jsonData = jsonDataYaml;
|
|
386
|
+
}
|
|
387
|
+
if (secureKeys.length > 0) {
|
|
388
|
+
const secureJsonData = {};
|
|
389
|
+
for (const key of secureKeys) {
|
|
390
|
+
secureJsonData[key] = "********";
|
|
391
|
+
}
|
|
392
|
+
root.secureJsonData = secureJsonData;
|
|
393
|
+
}
|
|
394
|
+
return yaml.dump(root, { lineWidth: -1, sortKeys: false, noRefs: true }).trimEnd();
|
|
395
|
+
};
|
|
396
|
+
const formatYamlDiff = (existing, body) => {
|
|
397
|
+
var _a, _b, _c, _d, _e, _f;
|
|
398
|
+
const updated = { ...existing, ...body };
|
|
399
|
+
const existingJD = (_a = existing.jsonData) != null ? _a : {};
|
|
400
|
+
const updatedJD = (_b = updated.jsonData) != null ? _b : {};
|
|
401
|
+
const jsonDataKeys = [.../* @__PURE__ */ new Set([...Object.keys(existingJD), ...Object.keys(updatedJD)])].sort();
|
|
402
|
+
const secureKeys = [
|
|
403
|
+
.../* @__PURE__ */ new Set([
|
|
404
|
+
...Object.keys((_c = existing.secureJsonData) != null ? _c : {}),
|
|
405
|
+
...Object.keys((_d = existing.secureJsonFields) != null ? _d : {}),
|
|
406
|
+
...Object.keys((_e = updated.secureJsonData) != null ? _e : {}),
|
|
407
|
+
...Object.keys((_f = updated.secureJsonFields) != null ? _f : {})
|
|
408
|
+
])
|
|
409
|
+
].sort();
|
|
410
|
+
const currentYaml = configToYaml(existing, { jsonDataKeys, secureKeys });
|
|
411
|
+
const updatedYaml = configToYaml(updated, { jsonDataKeys, secureKeys });
|
|
412
|
+
const oldLines = currentYaml.split("\n");
|
|
413
|
+
const newLines = updatedYaml.split("\n");
|
|
414
|
+
const maxLen = Math.max(oldLines.length, newLines.length);
|
|
415
|
+
const diffLines = [];
|
|
416
|
+
for (let i = 0; i < maxLen; i++) {
|
|
417
|
+
const oldLine = oldLines[i];
|
|
418
|
+
const newLine = newLines[i];
|
|
419
|
+
if (oldLine === newLine) {
|
|
420
|
+
diffLines.push(` ${oldLine}`);
|
|
421
|
+
continue;
|
|
422
|
+
}
|
|
423
|
+
if (oldLine !== void 0) {
|
|
424
|
+
diffLines.push(`-${oldLine}`);
|
|
425
|
+
}
|
|
426
|
+
if (newLine !== void 0) {
|
|
427
|
+
diffLines.push(`+${newLine}`);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
return "```diff\n" + diffLines.join("\n") + "\n```";
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
export { configToYaml, datasourceToProvisioningYaml, formatYamlDiff, toProvisioningYaml };
|
|
434
|
+
//# sourceMappingURL=provisioning.js.map
|