@grafana/plugin-ui 0.16.0-dsconfig.d7f2506 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +15500 -11375
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +599 -930
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js +8 -5
- package/dist/esm/components/ConfigEditor/Auth/tls/TLSClientAuth.js.map +1 -1
- package/dist/esm/index.d.ts +599 -930
- package/dist/esm/index.js +2 -11
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/node_modules/semver/classes/range.js +4 -24
- package/dist/esm/node_modules/semver/classes/range.js.map +1 -1
- package/dist/esm/node_modules/semver/classes/semver.js +2 -19
- package/dist/esm/node_modules/semver/classes/semver.js.map +1 -1
- package/dist/esm/node_modules/semver/functions/diff.js +1 -1
- package/dist/esm/node_modules/semver/functions/diff.js.map +1 -1
- package/dist/esm/node_modules/semver/index.js +0 -3
- package/dist/esm/node_modules/semver/index.js.map +1 -1
- package/dist/esm/node_modules/semver/internal/re.js +3 -3
- package/dist/esm/node_modules/semver/internal/re.js.map +1 -1
- package/dist/esm/node_modules/semver/ranges/subset.js +3 -3
- package/dist/esm/node_modules/semver/ranges/subset.js.map +1 -1
- package/dist/esm/node_modules/tslib/tslib.es6.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 +287 -0
- package/dist/esm/schema/registry/elasticsearch.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-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 +294 -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-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-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-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-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-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 +201 -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-splunk-datasource.schema.json.js +319 -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-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/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 +27 -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/staticRegistry.js +135 -0
- package/dist/esm/schema/registry/staticRegistry.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/zipkin.schema.json.js +40 -0
- package/dist/esm/schema/registry/zipkin.schema.json.js.map +1 -0
- package/package.json +2 -3
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js +0 -217
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js +0 -27
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/FieldInput.js +0 -135
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/FieldInput.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js +0 -80
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SidebarNav.js +0 -54
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SidebarNav.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/TabLayout.js +0 -155
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/TabLayout.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/cel.js +0 -75
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/cel.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/config.js +0 -262
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/config.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/datasource.js +0 -354
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/datasource.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/fieldUtils.js +0 -138
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/fieldUtils.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/formInterpreter.js +0 -93
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/formInterpreter.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useDatasourceConfigForm.js +0 -253
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useDatasourceConfigForm.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js +0 -106
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/AuthorizationHeaderField.js +0 -52
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/AuthorizationHeaderField.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ComplexFieldNote.js +0 -26
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ComplexFieldNote.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js +0 -106
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/IndexedPairEditor.js +0 -124
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/IndexedPairEditor.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js +0 -190
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PdcFieldNote.js +0 -31
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PdcFieldNote.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PrimitiveInputs.js +0 -103
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PrimitiveInputs.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/SecureFieldInput.js +0 -59
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/SecureFieldInput.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js +0 -80
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/layoutParts.js +0 -82
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/layoutParts.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js +0 -30
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/styles.js +0 -340
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/styles.js.map +0 -1
- package/dist/esm/node_modules/js-yaml/dist/js-yaml.js +0 -3043
- package/dist/esm/node_modules/js-yaml/dist/js-yaml.js.map +0 -1
- package/dist/esm/node_modules/react-hook-form/dist/index.esm.js +0 -2766
- package/dist/esm/node_modules/react-hook-form/dist/index.esm.js.map +0 -1
- package/dist/esm/node_modules/semver/functions/truncate.js +0 -62
- package/dist/esm/node_modules/semver/functions/truncate.js.map +0 -1
- package/dist/esm/schema/utils/constants.js +0 -5
- package/dist/esm/schema/utils/constants.js.map +0 -1
- package/dist/esm/schema/utils/dsconfig.js +0 -97
- package/dist/esm/schema/utils/dsconfig.js.map +0 -1
- package/dist/esm/schema/utils/llm.js +0 -54
- package/dist/esm/schema/utils/llm.js.map +0 -1
- package/dist/esm/schema/utils/packs.js +0 -113
- package/dist/esm/schema/utils/packs.js.map +0 -1
- package/dist/esm/schema/utils/provisioning.js +0 -434
- package/dist/esm/schema/utils/provisioning.js.map +0 -1
- package/dist/esm/schema/utils/registry.js +0 -32
- package/dist/esm/schema/utils/registry.js.map +0 -1
- package/dist/esm/schema/utils/useDatasourceSchema.js +0 -39
- package/dist/esm/schema/utils/useDatasourceSchema.js.map +0 -1
|
@@ -1,97 +0,0 @@
|
|
|
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 !== undefined) {
|
|
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] !== undefined && input[key] !== existing[key]) {
|
|
46
|
-
body[key] = input[key];
|
|
47
|
-
hasChanges = true;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
if (input.jsonData !== undefined) {
|
|
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] === undefined) {
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
if (input[key] === undefined) {
|
|
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 !== undefined) {
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1,54 +0,0 @@
|
|
|
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 ? undefined : _a.component) !== "select" || field.target !== "jsonData" || field.kind === "virtual") {
|
|
6
|
-
continue;
|
|
7
|
-
}
|
|
8
|
-
const options = (_c = (_b = field.ui) == null ? undefined : _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 ? undefined : _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
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { PACK_STATIC_URL } from './constants.js';
|
|
2
|
-
|
|
3
|
-
const PACK_IDS = [
|
|
4
|
-
"plugin_sdk_settings",
|
|
5
|
-
"aws_sdk_settings",
|
|
6
|
-
"azure_sdk_settings",
|
|
7
|
-
"google_sdk_settings",
|
|
8
|
-
"sqleng_settings"
|
|
9
|
-
];
|
|
10
|
-
const packCache = /* @__PURE__ */ new Map();
|
|
11
|
-
function loadPack(id) {
|
|
12
|
-
if (!PACK_IDS.includes(id)) {
|
|
13
|
-
return Promise.reject(new Error(`unknown field pack: ${id}`));
|
|
14
|
-
}
|
|
15
|
-
const existing = packCache.get(id);
|
|
16
|
-
if (existing) {
|
|
17
|
-
return existing;
|
|
18
|
-
}
|
|
19
|
-
const promise = fetchPack(id).catch((err) => {
|
|
20
|
-
packCache.delete(id);
|
|
21
|
-
throw err;
|
|
22
|
-
});
|
|
23
|
-
packCache.set(id, promise);
|
|
24
|
-
return promise;
|
|
25
|
-
}
|
|
26
|
-
async function fetchPack(id) {
|
|
27
|
-
const res = await fetch(PACK_STATIC_URL.replaceAll("{packID}", id));
|
|
28
|
-
if (!res.ok) {
|
|
29
|
-
throw new Error(`failed to fetch field pack ${id}: ${res.status} ${res.statusText}`);
|
|
30
|
-
}
|
|
31
|
-
return await res.json();
|
|
32
|
-
}
|
|
33
|
-
function resolvePackRef(ref, pack) {
|
|
34
|
-
const cloned = deepClone(pack.fields);
|
|
35
|
-
const byId = new Map(cloned.map((f) => [f.id, f]));
|
|
36
|
-
if (ref.exclude) {
|
|
37
|
-
for (const id of ref.exclude) {
|
|
38
|
-
if (!byId.has(id)) {
|
|
39
|
-
throw new Error(`baseFields[${ref.from}]: exclude references unknown field id: ${id}`);
|
|
40
|
-
}
|
|
41
|
-
byId.delete(id);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
const dropped = /* @__PURE__ */ new Set();
|
|
45
|
-
if (ref.patch) {
|
|
46
|
-
for (const [id, patch] of Object.entries(ref.patch)) {
|
|
47
|
-
const field = byId.get(id);
|
|
48
|
-
if (!field) {
|
|
49
|
-
throw new Error(`baseFields[${ref.from}]: patch references unknown field id: ${id}`);
|
|
50
|
-
}
|
|
51
|
-
if (patch.hidden) {
|
|
52
|
-
dropped.add(id);
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
applyPatch(field, patch);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return cloned.filter((f) => byId.has(f.id) && !dropped.has(f.id));
|
|
59
|
-
}
|
|
60
|
-
function applyPatch(field, patch) {
|
|
61
|
-
var _a;
|
|
62
|
-
if (patch.label !== undefined) {
|
|
63
|
-
field.label = patch.label;
|
|
64
|
-
}
|
|
65
|
-
if (patch.description !== undefined) {
|
|
66
|
-
field.description = patch.description;
|
|
67
|
-
}
|
|
68
|
-
if (patch.placeholder !== undefined) {
|
|
69
|
-
field.ui = { ...(_a = field.ui) != null ? _a : { component: "input" }, placeholder: patch.placeholder };
|
|
70
|
-
}
|
|
71
|
-
if (patch.defaultValue !== undefined) {
|
|
72
|
-
field.defaultValue = patch.defaultValue;
|
|
73
|
-
}
|
|
74
|
-
if (patch.required !== undefined) {
|
|
75
|
-
field.required = patch.required;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
function deepClone(value) {
|
|
79
|
-
if (typeof structuredClone === "function") {
|
|
80
|
-
return structuredClone(value);
|
|
81
|
-
}
|
|
82
|
-
return JSON.parse(JSON.stringify(value));
|
|
83
|
-
}
|
|
84
|
-
async function resolveBaseFields(schema) {
|
|
85
|
-
var _a, _b;
|
|
86
|
-
const refs = schema.baseFields;
|
|
87
|
-
if (!refs || refs.length === 0) {
|
|
88
|
-
return schema;
|
|
89
|
-
}
|
|
90
|
-
const packs = await Promise.all(refs.map((ref) => loadPack(ref.from)));
|
|
91
|
-
const packFields = [];
|
|
92
|
-
const packFieldIds = /* @__PURE__ */ new Set();
|
|
93
|
-
refs.forEach((ref, i) => {
|
|
94
|
-
const resolved = resolvePackRef(ref, packs[i]);
|
|
95
|
-
for (const f of resolved) {
|
|
96
|
-
if (packFieldIds.has(f.id)) {
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
packFieldIds.add(f.id);
|
|
100
|
-
packFields.push(f);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
const pluginIds = new Set(((_a = schema.fields) != null ? _a : []).map((f) => f.id));
|
|
104
|
-
const survivingPackFields = packFields.filter((f) => !pluginIds.has(f.id));
|
|
105
|
-
const { baseFields: _omit, ...rest } = schema;
|
|
106
|
-
return {
|
|
107
|
-
...rest,
|
|
108
|
-
fields: [...survivingPackFields, ...(_b = schema.fields) != null ? _b : []]
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
export { loadPack, resolveBaseFields };
|
|
113
|
-
//# sourceMappingURL=packs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"packs.js","sources":["../../../../src/schema/utils/packs.ts"],"sourcesContent":["import { PACK_STATIC_URL } from './constants';\nimport type { BaseFieldRef, ConfigField, DatasourceConfigSchema, FieldPack, FieldPackID, FieldPatch } from '../schema';\n\nconst PACK_IDS: FieldPackID[] = [\n 'plugin_sdk_settings',\n 'aws_sdk_settings',\n 'azure_sdk_settings',\n 'google_sdk_settings',\n 'sqleng_settings',\n];\n\nconst packCache = new Map<FieldPackID, Promise<FieldPack>>();\n\nexport function loadPack(id: FieldPackID): Promise<FieldPack> {\n if (!PACK_IDS.includes(id)) {\n return Promise.reject(new Error(`unknown field pack: ${id}`));\n }\n const existing = packCache.get(id);\n if (existing) {\n return existing;\n }\n const promise = fetchPack(id).catch((err) => {\n // Evict failed fetches so callers can retry.\n packCache.delete(id);\n throw err;\n });\n packCache.set(id, promise);\n return promise;\n}\n\nasync function fetchPack(id: FieldPackID): Promise<FieldPack> {\n const res = await fetch(PACK_STATIC_URL.replaceAll('{packID}', id));\n if (!res.ok) {\n throw new Error(`failed to fetch field pack ${id}: ${res.status} ${res.statusText}`);\n }\n return (await res.json()) as FieldPack;\n}\n\nfunction resolvePackRef(ref: BaseFieldRef, pack: FieldPack): ConfigField[] {\n const cloned = deepClone(pack.fields);\n const byId = new Map(cloned.map((f) => [f.id, f] as const));\n\n if (ref.exclude) {\n for (const id of ref.exclude) {\n if (!byId.has(id)) {\n throw new Error(`baseFields[${ref.from}]: exclude references unknown field id: ${id}`);\n }\n byId.delete(id);\n }\n }\n\n const dropped = new Set<string>();\n if (ref.patch) {\n for (const [id, patch] of Object.entries(ref.patch)) {\n const field = byId.get(id);\n if (!field) {\n throw new Error(`baseFields[${ref.from}]: patch references unknown field id: ${id}`);\n }\n if (patch.hidden) {\n dropped.add(id);\n continue;\n }\n applyPatch(field, patch);\n }\n }\n\n // Preserve pack declaration order.\n return cloned.filter((f) => byId.has(f.id) && !dropped.has(f.id));\n}\n\nfunction applyPatch(field: ConfigField, patch: FieldPatch): void {\n if (patch.label !== undefined) {\n field.label = patch.label;\n }\n if (patch.description !== undefined) {\n field.description = patch.description;\n }\n if (patch.placeholder !== undefined) {\n field.ui = { ...(field.ui ?? { component: 'input' }), placeholder: patch.placeholder };\n }\n if (patch.defaultValue !== undefined) {\n field.defaultValue = patch.defaultValue;\n }\n if (patch.required !== undefined) {\n field.required = patch.required;\n }\n}\n\nfunction deepClone<T>(value: T): T {\n if (typeof structuredClone === 'function') {\n return structuredClone(value);\n }\n return JSON.parse(JSON.stringify(value));\n}\n\nexport async function resolveBaseFields(schema: DatasourceConfigSchema): Promise<DatasourceConfigSchema> {\n const refs = schema.baseFields;\n if (!refs || refs.length === 0) {\n return schema;\n }\n const packs = await Promise.all(refs.map((ref) => loadPack(ref.from)));\n const packFields: ConfigField[] = [];\n const packFieldIds = new Set<string>();\n\n refs.forEach((ref, i) => {\n const resolved = resolvePackRef(ref, packs[i]);\n for (const f of resolved) {\n if (packFieldIds.has(f.id)) {\n continue;\n }\n packFieldIds.add(f.id);\n packFields.push(f);\n }\n });\n const pluginIds = new Set((schema.fields ?? []).map((f) => f.id));\n const survivingPackFields = packFields.filter((f) => !pluginIds.has(f.id));\n const { baseFields: _omit, ...rest } = schema;\n return {\n ...rest,\n fields: [...survivingPackFields, ...(schema.fields ?? [])],\n };\n}\n"],"names":[],"mappings":"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"}
|