@yejiming/dsh-data-agent 0.1.1 → 0.1.3
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/README.en.md +99 -236
- package/README.md +100 -236
- package/dsh-plugin.json +1 -1
- package/lib/{catalog-DEJqOXRo.js → catalog-D0SV_6Jv.js} +1 -1
- package/lib/client.js +149 -149
- package/lib/{command-CzzSPmag.js → command-CzqwgIFj.js} +1 -1
- package/lib/command.js +1 -1
- package/lib/{connections-CFXOZTHZ.js → connections-eb9xwiLF.js} +36 -15
- package/lib/index.js +4 -4
- package/lib/routes.js +2 -2
- package/lib/{tool-DNkywSph.js → tool-B7CC1EPd.js} +1 -1
- package/lib/tool.js +1 -1
- package/lib/types/clients.d.ts +14 -7
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -1011,150 +1011,150 @@ window.__ModuleLoader__.load({
|
|
|
1011
1011
|
document.head.appendChild(tag);
|
|
1012
1012
|
}
|
|
1013
1013
|
var DataAgentWorkbench_module_css_default = {
|
|
1014
|
-
"
|
|
1015
|
-
"
|
|
1016
|
-
"
|
|
1017
|
-
"
|
|
1018
|
-
"
|
|
1014
|
+
"catalogBadge_missing": "Sv3uVW_catalogBadge_missing",
|
|
1015
|
+
"catalogScanFacts": "Sv3uVW_catalogScanFacts",
|
|
1016
|
+
"catalogMeaningMissing": "Sv3uVW_catalogMeaningMissing",
|
|
1017
|
+
"input": "Sv3uVW_input",
|
|
1018
|
+
"errorHead": "Sv3uVW_errorHead",
|
|
1019
|
+
"visuallyHidden": "Sv3uVW_visuallyHidden",
|
|
1020
|
+
"connectionSummary": "Sv3uVW_connectionSummary",
|
|
1021
|
+
"shortcutHint": "Sv3uVW_shortcutHint",
|
|
1022
|
+
"catalogScanTimes": "Sv3uVW_catalogScanTimes",
|
|
1019
1023
|
"treeNode": "Sv3uVW_treeNode",
|
|
1020
|
-
"
|
|
1021
|
-
"
|
|
1022
|
-
"catalogScanBar": "Sv3uVW_catalogScanBar",
|
|
1023
|
-
"catalogDefinition": "Sv3uVW_catalogDefinition",
|
|
1024
|
-
"sqlTableScroll": "Sv3uVW_sqlTableScroll",
|
|
1025
|
-
"treeScroll": "Sv3uVW_treeScroll",
|
|
1026
|
-
"catalogMeaningSection": "Sv3uVW_catalogMeaningSection",
|
|
1027
|
-
"tabPanel": "Sv3uVW_tabPanel",
|
|
1028
|
-
"ghost": "Sv3uVW_ghost",
|
|
1029
|
-
"catalogSearch": "Sv3uVW_catalogSearch",
|
|
1030
|
-
"modalCol": "Sv3uVW_modalCol",
|
|
1031
|
-
"active": "Sv3uVW_active",
|
|
1032
|
-
"catalogDetailTab": "Sv3uVW_catalogDetailTab",
|
|
1024
|
+
"emptyStateIcon": "Sv3uVW_emptyStateIcon",
|
|
1025
|
+
"catalogSearchActions": "Sv3uVW_catalogSearchActions",
|
|
1033
1026
|
"errorText": "Sv3uVW_errorText",
|
|
1034
|
-
"
|
|
1035
|
-
"
|
|
1036
|
-
"
|
|
1037
|
-
"
|
|
1038
|
-
"
|
|
1039
|
-
"
|
|
1040
|
-
"
|
|
1041
|
-
"
|
|
1027
|
+
"sqlFeedback": "Sv3uVW_sqlFeedback",
|
|
1028
|
+
"sqlResultToolbar": "Sv3uVW_sqlResultToolbar",
|
|
1029
|
+
"catalogMeaningFieldMeta": "Sv3uVW_catalogMeaningFieldMeta",
|
|
1030
|
+
"catalogDefinition": "Sv3uVW_catalogDefinition",
|
|
1031
|
+
"catalogDiffBar": "Sv3uVW_catalogDiffBar",
|
|
1032
|
+
"catalogMeaningCardCompact": "Sv3uVW_catalogMeaningCardCompact",
|
|
1033
|
+
"fieldGrid": "Sv3uVW_fieldGrid",
|
|
1034
|
+
"catalogEditor": "Sv3uVW_catalogEditor",
|
|
1035
|
+
"catalogMeaningFields": "Sv3uVW_catalogMeaningFields",
|
|
1036
|
+
"treeName": "Sv3uVW_treeName",
|
|
1042
1037
|
"sqlNull": "Sv3uVW_sqlNull",
|
|
1038
|
+
"sqlEmptyString": "Sv3uVW_sqlEmptyString",
|
|
1039
|
+
"colScroll": "Sv3uVW_colScroll",
|
|
1040
|
+
"treeCount": "Sv3uVW_treeCount",
|
|
1041
|
+
"catalogBadge_observed": "Sv3uVW_catalogBadge_observed",
|
|
1043
1042
|
"catalogDetailTabs": "Sv3uVW_catalogDetailTabs",
|
|
1044
|
-
"
|
|
1045
|
-
"
|
|
1046
|
-
"
|
|
1047
|
-
"catalogBadge_missing": "Sv3uVW_catalogBadge_missing",
|
|
1048
|
-
"triggerDot": "Sv3uVW_triggerDot",
|
|
1049
|
-
"catalogBusinessEmpty": "Sv3uVW_catalogBusinessEmpty",
|
|
1050
|
-
"sqlExportActions": "Sv3uVW_sqlExportActions",
|
|
1051
|
-
"tabs": "Sv3uVW_tabs",
|
|
1052
|
-
"errorIcon": "Sv3uVW_errorIcon",
|
|
1053
|
-
"catalogHistoryItem": "Sv3uVW_catalogHistoryItem",
|
|
1043
|
+
"catalogMeaningOrigin": "Sv3uVW_catalogMeaningOrigin",
|
|
1044
|
+
"sqlResultPanel": "Sv3uVW_sqlResultPanel",
|
|
1045
|
+
"catalogCheck": "Sv3uVW_catalogCheck",
|
|
1054
1046
|
"catalogMeaningReview": "Sv3uVW_catalogMeaningReview",
|
|
1055
|
-
"
|
|
1047
|
+
"catalogSourceName": "Sv3uVW_catalogSourceName",
|
|
1048
|
+
"rememberHint": "Sv3uVW_rememberHint",
|
|
1049
|
+
"columnsTable": "Sv3uVW_columnsTable",
|
|
1050
|
+
"catalogBadge_retired": "Sv3uVW_catalogBadge_retired",
|
|
1051
|
+
"catalogLatestError": "Sv3uVW_catalogLatestError",
|
|
1052
|
+
"catalogSearch": "Sv3uVW_catalogSearch",
|
|
1053
|
+
"catalogMeaningSection": "Sv3uVW_catalogMeaningSection",
|
|
1054
|
+
"catalogStats": "Sv3uVW_catalogStats",
|
|
1055
|
+
"label": "Sv3uVW_label",
|
|
1056
|
+
"catalogDetail": "Sv3uVW_catalogDetail",
|
|
1057
|
+
"sqlInput": "Sv3uVW_sqlInput",
|
|
1058
|
+
"catalogOverview": "Sv3uVW_catalogOverview",
|
|
1059
|
+
"modalHint": "Sv3uVW_modalHint",
|
|
1060
|
+
"open": "Sv3uVW_open",
|
|
1061
|
+
"actions": "Sv3uVW_actions",
|
|
1062
|
+
"treeScroll": "Sv3uVW_treeScroll",
|
|
1063
|
+
"colCount": "Sv3uVW_colCount",
|
|
1064
|
+
"sqlTableScroll": "Sv3uVW_sqlTableScroll",
|
|
1065
|
+
"catalogWorkspace": "Sv3uVW_catalogWorkspace",
|
|
1066
|
+
"summaryDb": "Sv3uVW_summaryDb",
|
|
1067
|
+
"catalogItemActive": "Sv3uVW_catalogItemActive",
|
|
1056
1068
|
"emptyStateText": "Sv3uVW_emptyStateText",
|
|
1057
|
-
"
|
|
1058
|
-
"
|
|
1059
|
-
"
|
|
1069
|
+
"catalogConfirm": "Sv3uVW_catalogConfirm",
|
|
1070
|
+
"triggerActive": "Sv3uVW_triggerActive",
|
|
1071
|
+
"catalogActions": "Sv3uVW_catalogActions",
|
|
1072
|
+
"catalogDetailTabActive": "Sv3uVW_catalogDetailTabActive",
|
|
1073
|
+
"catalogDetailScroll": "Sv3uVW_catalogDetailScroll",
|
|
1074
|
+
"errorBar": "Sv3uVW_errorBar",
|
|
1075
|
+
"catalogDetailCounts": "Sv3uVW_catalogDetailCounts",
|
|
1076
|
+
"emptyState": "Sv3uVW_emptyState",
|
|
1077
|
+
"tab": "Sv3uVW_tab",
|
|
1078
|
+
"catalogItem": "Sv3uVW_catalogItem",
|
|
1079
|
+
"catalogBadge": "Sv3uVW_catalogBadge",
|
|
1080
|
+
"sqlExportActions": "Sv3uVW_sqlExportActions",
|
|
1081
|
+
"tree": "Sv3uVW_tree",
|
|
1082
|
+
"catalogFacts": "Sv3uVW_catalogFacts",
|
|
1083
|
+
"connectionState": "Sv3uVW_connectionState",
|
|
1084
|
+
"catalogScanBar": "Sv3uVW_catalogScanBar",
|
|
1085
|
+
"summaryType": "Sv3uVW_summaryType",
|
|
1086
|
+
"fieldRow2": "Sv3uVW_fieldRow2",
|
|
1087
|
+
"catalogBusinessEmpty": "Sv3uVW_catalogBusinessEmpty",
|
|
1088
|
+
"catalogMeaningField": "Sv3uVW_catalogMeaningField",
|
|
1089
|
+
"sqlPanel": "Sv3uVW_sqlPanel",
|
|
1090
|
+
"sqlMessageError": "Sv3uVW_sqlMessageError",
|
|
1091
|
+
"triggerSlot": "Sv3uVW_triggerSlot",
|
|
1060
1092
|
"catalogLatestRun": "Sv3uVW_catalogLatestRun",
|
|
1061
1093
|
"trigger": "Sv3uVW_trigger",
|
|
1062
|
-
"
|
|
1063
|
-
"
|
|
1094
|
+
"nullCell": "Sv3uVW_nullCell",
|
|
1095
|
+
"catalogControl": "Sv3uVW_catalogControl",
|
|
1064
1096
|
"catalogResults": "Sv3uVW_catalogResults",
|
|
1065
|
-
"sqlEmptyString": "Sv3uVW_sqlEmptyString",
|
|
1066
|
-
"workbenchModal": "Sv3uVW_workbenchModal",
|
|
1067
|
-
"connectionSummary": "Sv3uVW_connectionSummary",
|
|
1068
|
-
"schemaPanel": "Sv3uVW_schemaPanel",
|
|
1069
|
-
"catalogError": "Sv3uVW_catalogError",
|
|
1070
1097
|
"catalogSearchQuery": "Sv3uVW_catalogSearchQuery",
|
|
1071
|
-
"
|
|
1072
|
-
"
|
|
1073
|
-
"
|
|
1098
|
+
"catalogBadge_unavailable": "Sv3uVW_catalogBadge_unavailable",
|
|
1099
|
+
"treeChevron": "Sv3uVW_treeChevron",
|
|
1100
|
+
"tabPanel": "Sv3uVW_tabPanel",
|
|
1101
|
+
"treeIcon": "Sv3uVW_treeIcon",
|
|
1102
|
+
"catalogToolbar": "Sv3uVW_catalogToolbar",
|
|
1103
|
+
"catalogDetailTitle": "Sv3uVW_catalogDetailTitle",
|
|
1104
|
+
"catalogListEmpty": "Sv3uVW_catalogListEmpty",
|
|
1105
|
+
"sqlExportButton": "Sv3uVW_sqlExportButton",
|
|
1106
|
+
"catalogMeaningCard": "Sv3uVW_catalogMeaningCard",
|
|
1107
|
+
"hint": "Sv3uVW_hint",
|
|
1108
|
+
"active": "Sv3uVW_active",
|
|
1109
|
+
"catalogLatestLabel": "Sv3uVW_catalogLatestLabel",
|
|
1074
1110
|
"catalogNotice": "Sv3uVW_catalogNotice",
|
|
1075
|
-
"
|
|
1076
|
-
"
|
|
1077
|
-
"catalogMeaningOrigin": "Sv3uVW_catalogMeaningOrigin",
|
|
1078
|
-
"catalogActions": "Sv3uVW_catalogActions",
|
|
1079
|
-
"catalogSearchActions": "Sv3uVW_catalogSearchActions",
|
|
1080
|
-
"catalogDetailCounts": "Sv3uVW_catalogDetailCounts",
|
|
1081
|
-
"sqlResultLimit": "Sv3uVW_sqlResultLimit",
|
|
1082
|
-
"catalogActionGroup": "Sv3uVW_catalogActionGroup",
|
|
1083
|
-
"catalogOverview": "Sv3uVW_catalogOverview",
|
|
1084
|
-
"catalogMeaningField": "Sv3uVW_catalogMeaningField",
|
|
1085
|
-
"catalogSectionLabel": "Sv3uVW_catalogSectionLabel",
|
|
1086
|
-
"catalogBadge": "Sv3uVW_catalogBadge",
|
|
1087
|
-
"catalogTextArea": "Sv3uVW_catalogTextArea",
|
|
1088
|
-
"catalogInlineNotice": "Sv3uVW_catalogInlineNotice",
|
|
1089
|
-
"sqlPageButton": "Sv3uVW_sqlPageButton",
|
|
1111
|
+
"catalogList": "Sv3uVW_catalogList",
|
|
1112
|
+
"catalogBadge_verified": "Sv3uVW_catalogBadge_verified",
|
|
1090
1113
|
"catalogBadge_needs_review": "Sv3uVW_catalogBadge_needs_review",
|
|
1091
|
-
"
|
|
1092
|
-
"hint": "Sv3uVW_hint",
|
|
1093
|
-
"errorBar": "Sv3uVW_errorBar",
|
|
1094
|
-
"open": "Sv3uVW_open",
|
|
1095
|
-
"catalogDetailTitle": "Sv3uVW_catalogDetailTitle",
|
|
1096
|
-
"catalogBadge_inferred": "Sv3uVW_catalogBadge_inferred",
|
|
1097
|
-
"sqlResultTable": "Sv3uVW_sqlResultTable",
|
|
1098
|
-
"catalogDetail": "Sv3uVW_catalogDetail",
|
|
1099
|
-
"errorHead": "Sv3uVW_errorHead",
|
|
1114
|
+
"primary": "Sv3uVW_primary",
|
|
1100
1115
|
"catalogCounts": "Sv3uVW_catalogCounts",
|
|
1101
|
-
"
|
|
1102
|
-
"
|
|
1116
|
+
"sqlPagination": "Sv3uVW_sqlPagination",
|
|
1117
|
+
"catalogActionGroup": "Sv3uVW_catalogActionGroup",
|
|
1103
1118
|
"catalogBadge_restored": "Sv3uVW_catalogBadge_restored",
|
|
1104
|
-
"catalogMeaningFieldMeta": "Sv3uVW_catalogMeaningFieldMeta",
|
|
1105
|
-
"catalogBadge_observed": "Sv3uVW_catalogBadge_observed",
|
|
1106
1119
|
"sqlTableEmpty": "Sv3uVW_sqlTableEmpty",
|
|
1107
|
-
"columnsTable": "Sv3uVW_columnsTable",
|
|
1108
|
-
"catalogProgress": "Sv3uVW_catalogProgress",
|
|
1109
|
-
"catalogListEmpty": "Sv3uVW_catalogListEmpty",
|
|
1110
|
-
"catalogMeaningCardCompact": "Sv3uVW_catalogMeaningCardCompact",
|
|
1111
|
-
"input": "Sv3uVW_input",
|
|
1112
|
-
"sqlMessage": "Sv3uVW_sqlMessage",
|
|
1113
|
-
"fieldRow2": "Sv3uVW_fieldRow2",
|
|
1114
1120
|
"field": "Sv3uVW_field",
|
|
1115
|
-
"
|
|
1116
|
-
"
|
|
1117
|
-
"
|
|
1118
|
-
"
|
|
1119
|
-
"
|
|
1120
|
-
"catalogEditor": "Sv3uVW_catalogEditor",
|
|
1121
|
-
"treeItem": "Sv3uVW_treeItem",
|
|
1122
|
-
"catalogMeaningFields": "Sv3uVW_catalogMeaningFields",
|
|
1123
|
-
"catalogFacts": "Sv3uVW_catalogFacts",
|
|
1124
|
-
"sqlExportButton": "Sv3uVW_sqlExportButton",
|
|
1125
|
-
"catalogDiffBar": "Sv3uVW_catalogDiffBar",
|
|
1121
|
+
"typeCell": "Sv3uVW_typeCell",
|
|
1122
|
+
"triggerDot": "Sv3uVW_triggerDot",
|
|
1123
|
+
"modalColTitle": "Sv3uVW_modalColTitle",
|
|
1124
|
+
"errorIcon": "Sv3uVW_errorIcon",
|
|
1125
|
+
"catalogItemHead": "Sv3uVW_catalogItemHead",
|
|
1126
1126
|
"catalogRelations": "Sv3uVW_catalogRelations",
|
|
1127
|
-
"
|
|
1128
|
-
"
|
|
1129
|
-
"
|
|
1130
|
-
"
|
|
1131
|
-
"
|
|
1132
|
-
"
|
|
1133
|
-
"
|
|
1134
|
-
"
|
|
1135
|
-
"
|
|
1136
|
-
"
|
|
1137
|
-
"
|
|
1138
|
-
"
|
|
1139
|
-
"
|
|
1140
|
-
"
|
|
1141
|
-
"
|
|
1142
|
-
"
|
|
1143
|
-
"catalogConfirm": "Sv3uVW_catalogConfirm",
|
|
1144
|
-
"catalogItem": "Sv3uVW_catalogItem",
|
|
1145
|
-
"modalHint": "Sv3uVW_modalHint",
|
|
1146
|
-
"shortcutHint": "Sv3uVW_shortcutHint",
|
|
1127
|
+
"workbench": "Sv3uVW_workbench",
|
|
1128
|
+
"sqlMessage": "Sv3uVW_sqlMessage",
|
|
1129
|
+
"catalogDetailTab": "Sv3uVW_catalogDetailTab",
|
|
1130
|
+
"ghost": "Sv3uVW_ghost",
|
|
1131
|
+
"catalogMeaningActions": "Sv3uVW_catalogMeaningActions",
|
|
1132
|
+
"sqlResultTable": "Sv3uVW_sqlResultTable",
|
|
1133
|
+
"sqlResultLimit": "Sv3uVW_sqlResultLimit",
|
|
1134
|
+
"schemaPanel": "Sv3uVW_schemaPanel",
|
|
1135
|
+
"sqlPageActions": "Sv3uVW_sqlPageActions",
|
|
1136
|
+
"catalogTextArea": "Sv3uVW_catalogTextArea",
|
|
1137
|
+
"sqlActions": "Sv3uVW_sqlActions",
|
|
1138
|
+
"catalogSectionLabel": "Sv3uVW_catalogSectionLabel",
|
|
1139
|
+
"tabs": "Sv3uVW_tabs",
|
|
1140
|
+
"modalCol": "Sv3uVW_modalCol",
|
|
1141
|
+
"sqlPageButton": "Sv3uVW_sqlPageButton",
|
|
1142
|
+
"catalogError": "Sv3uVW_catalogError",
|
|
1147
1143
|
"rememberRow": "Sv3uVW_rememberRow",
|
|
1148
|
-
"
|
|
1149
|
-
"
|
|
1150
|
-
"
|
|
1151
|
-
"
|
|
1152
|
-
"
|
|
1144
|
+
"catalogInlineNotice": "Sv3uVW_catalogInlineNotice",
|
|
1145
|
+
"workbenchModal": "Sv3uVW_workbenchModal",
|
|
1146
|
+
"sqlResultMeta": "Sv3uVW_sqlResultMeta",
|
|
1147
|
+
"catalogDetailHeader": "Sv3uVW_catalogDetailHeader",
|
|
1148
|
+
"workbenchModalContent": "Sv3uVW_workbenchModalContent",
|
|
1149
|
+
"catalogPanel": "Sv3uVW_catalogPanel",
|
|
1150
|
+
"catalogBadge_inferred": "Sv3uVW_catalogBadge_inferred",
|
|
1151
|
+
"tabActive": "Sv3uVW_tabActive",
|
|
1152
|
+
"catalogProgress": "Sv3uVW_catalogProgress",
|
|
1153
|
+
"catalogBadge_changed": "Sv3uVW_catalogBadge_changed",
|
|
1154
|
+
"sqlResultEmpty": "Sv3uVW_sqlResultEmpty",
|
|
1153
1155
|
"treeChildren": "Sv3uVW_treeChildren",
|
|
1154
|
-
"
|
|
1155
|
-
"
|
|
1156
|
-
"sqlResultToolbar": "Sv3uVW_sqlResultToolbar",
|
|
1157
|
-
"catalogDetailTabActive": "Sv3uVW_catalogDetailTabActive"
|
|
1156
|
+
"catalogHistoryItem": "Sv3uVW_catalogHistoryItem",
|
|
1157
|
+
"treeItem": "Sv3uVW_treeItem"
|
|
1158
1158
|
};
|
|
1159
1159
|
//#endregion
|
|
1160
1160
|
//#region src/client/QueryResultTable.tsx
|
|
@@ -45574,40 +45574,40 @@ window.__ModuleLoader__.load({
|
|
|
45574
45574
|
document.head.appendChild(tag);
|
|
45575
45575
|
}
|
|
45576
45576
|
var AnalysisDashboard_module_css_default = {
|
|
45577
|
-
"
|
|
45578
|
-
"empty": "_1tppBG_empty",
|
|
45579
|
-
"metric": "_1tppBG_metric",
|
|
45580
|
-
"row": "_1tppBG_row",
|
|
45581
|
-
"modalTitleWrap": "_1tppBG_modalTitleWrap",
|
|
45582
|
-
"viewFull": "_1tppBG_viewFull",
|
|
45583
|
-
"viewHalf": "_1tppBG_viewHalf",
|
|
45584
|
-
"modal": "_1tppBG_modal",
|
|
45585
|
-
"viewTitle": "_1tppBG_viewTitle",
|
|
45577
|
+
"modalClose": "_1tppBG_modalClose",
|
|
45586
45578
|
"modalBody": "_1tppBG_modalBody",
|
|
45587
|
-
"modalSummary": "_1tppBG_modalSummary",
|
|
45588
|
-
"preview": "_1tppBG_preview",
|
|
45589
|
-
"metricValue": "_1tppBG_metricValue",
|
|
45590
|
-
"rowTitle": "_1tppBG_rowTitle",
|
|
45591
45579
|
"tableWrap": "_1tppBG_tableWrap",
|
|
45592
|
-
"chartCanvas": "_1tppBG_chartCanvas",
|
|
45593
45580
|
"rowSummary": "_1tppBG_rowSummary",
|
|
45594
|
-
"grid": "_1tppBG_grid",
|
|
45595
45581
|
"view": "_1tppBG_view",
|
|
45596
|
-
"
|
|
45597
|
-
"
|
|
45598
|
-
"table": "_1tppBG_table",
|
|
45582
|
+
"metric": "_1tppBG_metric",
|
|
45583
|
+
"rowError": "_1tppBG_rowError",
|
|
45599
45584
|
"emptyText": "_1tppBG_emptyText",
|
|
45600
|
-
"
|
|
45585
|
+
"rowInterrupted": "_1tppBG_rowInterrupted",
|
|
45586
|
+
"metricValue": "_1tppBG_metricValue",
|
|
45587
|
+
"rowButton": "_1tppBG_rowButton",
|
|
45601
45588
|
"metricLabel": "_1tppBG_metricLabel",
|
|
45589
|
+
"table": "_1tppBG_table",
|
|
45602
45590
|
"rowHead": "_1tppBG_rowHead",
|
|
45603
|
-
"
|
|
45591
|
+
"metricBand": "_1tppBG_metricBand",
|
|
45592
|
+
"rowTitle": "_1tppBG_rowTitle",
|
|
45593
|
+
"viewFull": "_1tppBG_viewFull",
|
|
45604
45594
|
"modalHeader": "_1tppBG_modalHeader",
|
|
45595
|
+
"grid": "_1tppBG_grid",
|
|
45596
|
+
"modal": "_1tppBG_modal",
|
|
45597
|
+
"chartCanvas": "_1tppBG_chartCanvas",
|
|
45598
|
+
"viewHalf": "_1tppBG_viewHalf",
|
|
45605
45599
|
"rowActions": "_1tppBG_rowActions",
|
|
45606
|
-
"
|
|
45607
|
-
"
|
|
45608
|
-
"
|
|
45600
|
+
"modalTitleWrap": "_1tppBG_modalTitleWrap",
|
|
45601
|
+
"row": "_1tppBG_row",
|
|
45602
|
+
"empty": "_1tppBG_empty",
|
|
45609
45603
|
"chart": "_1tppBG_chart",
|
|
45610
|
-
"
|
|
45604
|
+
"modalTitle": "_1tppBG_modalTitle",
|
|
45605
|
+
"modalSummary": "_1tppBG_modalSummary",
|
|
45606
|
+
"modalShell": "_1tppBG_modalShell",
|
|
45607
|
+
"preview": "_1tppBG_preview",
|
|
45608
|
+
"modalCount": "_1tppBG_modalCount",
|
|
45609
|
+
"viewTitle": "_1tppBG_viewTitle",
|
|
45610
|
+
"visuallyHidden": "_1tppBG_visuallyHidden"
|
|
45611
45611
|
};
|
|
45612
45612
|
//#endregion
|
|
45613
45613
|
//#region src/client/AnalysisChart.tsx
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as isDatabaseType, S as defaultDatabasePort$1, b as DATABASE_TYPES, i as validatePasswordRef, r as redactSecretText, x as databaseTypeLabel$1 } from "./connections-
|
|
1
|
+
import { C as isDatabaseType, S as defaultDatabasePort$1, b as DATABASE_TYPES, i as validatePasswordRef, r as redactSecretText, x as databaseTypeLabel$1 } from "./connections-eb9xwiLF.js";
|
|
2
2
|
import { RUN_CODE_NAME } from "@deepseek-ai/dsh-tools";
|
|
3
3
|
//#region src/tui-connection-form.ts
|
|
4
4
|
/**
|
package/lib/command.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as executeDatabaseCommand, c as isDshTuiPluginLoaded, d as parseDatabaseAction, i as apply, l as name, n as DATA_AGENT_TOOL_NAMES, o as formatConnectionStatus, r as DSH_TUI_PLUGIN_RUNTIME_NAME, s as inject, t as DATABASE_COMMAND_USAGE, u as parseConnectArguments } from "./command-
|
|
1
|
+
import { a as executeDatabaseCommand, c as isDshTuiPluginLoaded, d as parseDatabaseAction, i as apply, l as name, n as DATA_AGENT_TOOL_NAMES, o as formatConnectionStatus, r as DSH_TUI_PLUGIN_RUNTIME_NAME, s as inject, t as DATABASE_COMMAND_USAGE, u as parseConnectArguments } from "./command-CzqwgIFj.js";
|
|
2
2
|
export { DATABASE_COMMAND_USAGE, DATA_AGENT_TOOL_NAMES, DSH_TUI_PLUGIN_RUNTIME_NAME, apply, executeDatabaseCommand, formatConnectionStatus, inject, isDshTuiPluginLoaded, name, parseConnectArguments, parseDatabaseAction };
|
|
@@ -807,16 +807,16 @@ function rewriteTopLevelLimit(sql, maxRows) {
|
|
|
807
807
|
}
|
|
808
808
|
return sql;
|
|
809
809
|
}
|
|
810
|
+
const METADATA_IDENTIFIER = /^[\p{L}\p{M}\p{N}_$]+$/u;
|
|
810
811
|
/**
|
|
811
812
|
* Validate and quote one schema/table identifier for a safe metadata query.
|
|
812
|
-
* Identifiers
|
|
813
|
-
*
|
|
814
|
-
*
|
|
815
|
-
*
|
|
816
|
-
* `"`, `.`, `-` are all refused).
|
|
813
|
+
* Identifiers accept Unicode letters, combining marks and numbers plus `_`/`$`
|
|
814
|
+
* without normalizing or case-folding the database-provided text. Each value is
|
|
815
|
+
* then wrapped for its dialect. Whitespace, controls, punctuation and quoting
|
|
816
|
+
* delimiters remain outside the deliberately narrow metadata-input boundary.
|
|
817
817
|
*/
|
|
818
818
|
function sanitizeIdentifier(type, identifier) {
|
|
819
|
-
if (
|
|
819
|
+
if (!METADATA_IDENTIFIER.test(identifier)) throw new Error(`标识符含非法字符(仅允许 Unicode 字母、组合标记、数字与 _ $):${identifier}`);
|
|
820
820
|
switch (type) {
|
|
821
821
|
case "mysql":
|
|
822
822
|
case "doris":
|
|
@@ -834,8 +834,8 @@ function sanitizeIdentifier(type, identifier) {
|
|
|
834
834
|
* interior `'` doubled). postgres/oracle metadata queries filter system
|
|
835
835
|
* catalogs by NAME (a string value), not by identifier, so those positions
|
|
836
836
|
* need a quoted literal — not {@link sanitizeIdentifier}'s identifier quoting.
|
|
837
|
-
* The whitelist
|
|
838
|
-
*
|
|
837
|
+
* The whitelist excludes `'`, so doubling is a defense-in-depth no-op here but
|
|
838
|
+
* keeps the helper correct for any future widened metadata-input boundary.
|
|
839
839
|
*/
|
|
840
840
|
function quoteStringLiteral(value) {
|
|
841
841
|
return "'" + value.replace(/'/g, "''") + "'";
|
|
@@ -1052,15 +1052,32 @@ function stdinPrefix(type, connection) {
|
|
|
1052
1052
|
function structuredStdinPrefix(type, connection) {
|
|
1053
1053
|
if (type !== "oracle") return stdinPrefix(type, connection);
|
|
1054
1054
|
return `${[
|
|
1055
|
-
"SET PAGESIZE
|
|
1055
|
+
"SET PAGESIZE 50000",
|
|
1056
1056
|
"SET FEEDBACK OFF",
|
|
1057
1057
|
"SET HEADING ON",
|
|
1058
1058
|
"SET UNDERLINE OFF",
|
|
1059
|
+
"SET LINESIZE 32767",
|
|
1060
|
+
"SET WRAP OFF",
|
|
1061
|
+
"SET RECSEP OFF",
|
|
1062
|
+
"SET ECHO OFF",
|
|
1063
|
+
"SET VERIFY OFF",
|
|
1059
1064
|
"SET COLSEP '|'",
|
|
1060
1065
|
"SET TRIMSPOOL ON",
|
|
1066
|
+
"WHENEVER OSERROR EXIT FAILURE",
|
|
1067
|
+
"WHENEVER SQLERROR EXIT FAILURE",
|
|
1061
1068
|
connection.user !== void 0 ? `connect ${connection.user}${connection.password !== void 0 ? `/${connection.password}` : ""}@${connection.host ?? "127.0.0.1"}:${connection.port ?? defaultDatabasePort("oracle")}/${connection.database}` : ""
|
|
1062
1069
|
].filter((line) => line !== "").join("\n")}\n`;
|
|
1063
1070
|
}
|
|
1071
|
+
/**
|
|
1072
|
+
* Compose one complete client stdin payload. Oracle's structured SQL*Plus
|
|
1073
|
+
* mode is a script protocol rather than an EOF-delimited command: normalize
|
|
1074
|
+
* the already-validated statement to one terminator and exit explicitly.
|
|
1075
|
+
* Raw/introspection modes and every other client preserve the legacy payload.
|
|
1076
|
+
*/
|
|
1077
|
+
function buildClientStdin(type, mode, prefix, sql) {
|
|
1078
|
+
if (type === "oracle" && mode === "structured") return `${prefix}${stripTrailingTerminator(sql)};\nEXIT SUCCESS\n`;
|
|
1079
|
+
return `${prefix}${sql}\n`;
|
|
1080
|
+
}
|
|
1064
1081
|
/** Apply one deployment override's extra args in front of the built-in flags. */
|
|
1065
1082
|
function withOverrides(flags, override) {
|
|
1066
1083
|
if (override === void 0 || override.args === void 0) return flags;
|
|
@@ -1124,8 +1141,9 @@ function tableListingSql(type, connection) {
|
|
|
1124
1141
|
}
|
|
1125
1142
|
}
|
|
1126
1143
|
/**
|
|
1127
|
-
* Metadata query per kind × type. `schema`/`table` are
|
|
1128
|
-
*
|
|
1144
|
+
* Metadata query per kind × type. `schema`/`table` are validated by the shared
|
|
1145
|
+
* connection service before they reach here; builders still quote identifier
|
|
1146
|
+
* positions or escape value positions rather than concatenating raw text.
|
|
1129
1147
|
*/
|
|
1130
1148
|
function metadataQuery(kind, type, schema, table) {
|
|
1131
1149
|
switch (kind) {
|
|
@@ -1710,12 +1728,13 @@ async function runClientQuery(ctx, connection, sql, options, externalSignal, int
|
|
|
1710
1728
|
if (externalSignal.aborted) controller.abort(externalSignal.reason);
|
|
1711
1729
|
else externalSignal.addEventListener("abort", onExternalAbort, { once: true });
|
|
1712
1730
|
try {
|
|
1731
|
+
const mode = options.mode ?? (introspect ? "introspect" : "query");
|
|
1713
1732
|
if (connection.type === "clickhouse") return await runClickHouseQuery(connection, sql, {
|
|
1714
1733
|
...options,
|
|
1715
|
-
mode
|
|
1734
|
+
mode
|
|
1716
1735
|
}, controller.signal);
|
|
1717
1736
|
if (connection.type === "sqlserver") assertSqlServerSafeInput(sql);
|
|
1718
|
-
const template =
|
|
1737
|
+
const template = mode === "structured" ? buildStructuredQueryTemplate(connection.type, connection, options.clients[connection.type]) : mode === "introspect" ? buildIntrospectTemplate(connection.type, connection, options.clients[connection.type]) : buildClientTemplate(connection.type, connection, options.clients[connection.type]);
|
|
1719
1738
|
const resolution = await resolveClientExecutable({
|
|
1720
1739
|
type: connection.type,
|
|
1721
1740
|
command: template.command,
|
|
@@ -1728,7 +1747,7 @@ async function runClientQuery(ctx, connection, sql, options, externalSignal, int
|
|
|
1728
1747
|
argv: [resolution.executable, ...template.args],
|
|
1729
1748
|
cwd: process.cwd(),
|
|
1730
1749
|
stdio: {
|
|
1731
|
-
stdin: { data:
|
|
1750
|
+
stdin: { data: buildClientStdin(connection.type, mode, template.stdinPrefix, sql) },
|
|
1732
1751
|
stdout: { maxBytes: options.maxResultChars },
|
|
1733
1752
|
stderr: { maxBytes: options.maxResultChars }
|
|
1734
1753
|
},
|
|
@@ -1746,12 +1765,14 @@ async function runClientQuery(ctx, connection, sql, options, externalSignal, int
|
|
|
1746
1765
|
if (controller.signal.aborted) controller.signal.throwIfAborted();
|
|
1747
1766
|
const stdout = readCaptured(handle.collected.stdout);
|
|
1748
1767
|
const stderr = readCaptured(handle.collected.stderr);
|
|
1749
|
-
|
|
1768
|
+
const result = {
|
|
1750
1769
|
exitCode: outcome.exitCode,
|
|
1751
1770
|
stdout: connection.type === "sqlserver" ? stripSqlServerRowCountFooter(stdout.text) : stdout.text,
|
|
1752
1771
|
stderr: stderr.text,
|
|
1753
1772
|
truncated: stdout.truncated || stderr.truncated
|
|
1754
1773
|
};
|
|
1774
|
+
if (connection.type === "oracle" && mode === "structured" && result.exitCode === 0 && result.stdout.trim() === "") throw new Error("Oracle SQL*Plus结构化查询成功退出但stdout为空,未返回可解析的列标题或数据");
|
|
1775
|
+
return result;
|
|
1755
1776
|
} finally {
|
|
1756
1777
|
clearTimeout(timer);
|
|
1757
1778
|
externalSignal.removeEventListener("abort", onExternalAbort);
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { _ as clientsSchema, b as DATABASE_TYPES, c as DEFAULT_CATALOG_MAX_RESULT_CHARS, d as DEFAULT_CONNECT_TIMEOUT_MS, f as DEFAULT_MAX_QUERY_CHARS, h as DEFAULT_QUERY_TIMEOUT_MS, l as DEFAULT_CATALOG_MAX_TEXT_CHARS, m as DEFAULT_PRESET_ID, p as DEFAULT_MAX_RESULT_CHARS, s as DEFAULT_CATALOG_MAX_ASSETS, t as createConnectionService, u as DEFAULT_CATALOG_QUERY_TIMEOUT_MS } from "./connections-
|
|
2
|
-
import { a as catalogDateTimeSchema, c as catalogRunSchema, f as catalogSemanticEntrySchema, i as catalogAssetRevisionSchema, m as catalogSourceSchema, n as createCatalogService, o as catalogObservationSchema, p as catalogSemanticRevisionSchema, r as catalogAssetHeadSchema, s as catalogRelationSchema, u as catalogSearchItemSchema } from "./catalog-
|
|
3
|
-
import { i as apply$1 } from "./command-
|
|
4
|
-
import { n as apply$2 } from "./tool-
|
|
1
|
+
import { _ as clientsSchema, b as DATABASE_TYPES, c as DEFAULT_CATALOG_MAX_RESULT_CHARS, d as DEFAULT_CONNECT_TIMEOUT_MS, f as DEFAULT_MAX_QUERY_CHARS, h as DEFAULT_QUERY_TIMEOUT_MS, l as DEFAULT_CATALOG_MAX_TEXT_CHARS, m as DEFAULT_PRESET_ID, p as DEFAULT_MAX_RESULT_CHARS, s as DEFAULT_CATALOG_MAX_ASSETS, t as createConnectionService, u as DEFAULT_CATALOG_QUERY_TIMEOUT_MS } from "./connections-eb9xwiLF.js";
|
|
2
|
+
import { a as catalogDateTimeSchema, c as catalogRunSchema, f as catalogSemanticEntrySchema, i as catalogAssetRevisionSchema, m as catalogSourceSchema, n as createCatalogService, o as catalogObservationSchema, p as catalogSemanticRevisionSchema, r as catalogAssetHeadSchema, s as catalogRelationSchema, u as catalogSearchItemSchema } from "./catalog-D0SV_6Jv.js";
|
|
3
|
+
import { i as apply$1 } from "./command-CzqwgIFj.js";
|
|
4
|
+
import { n as apply$2 } from "./tool-B7CC1EPd.js";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { access, cp, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
7
7
|
import { homedir } from "node:os";
|
package/lib/routes.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as isDatabaseType, b as DATABASE_TYPES, d as DEFAULT_CONNECT_TIMEOUT_MS, f as DEFAULT_MAX_QUERY_CHARS, h as DEFAULT_QUERY_TIMEOUT_MS, p as DEFAULT_MAX_RESULT_CHARS } from "./connections-
|
|
2
|
-
import { d as catalogSearchRequestSchema, h as semanticDefinitionSchema, l as catalogScopeSchema, t as CatalogVersionConflictError } from "./catalog-
|
|
1
|
+
import { C as isDatabaseType, b as DATABASE_TYPES, d as DEFAULT_CONNECT_TIMEOUT_MS, f as DEFAULT_MAX_QUERY_CHARS, h as DEFAULT_QUERY_TIMEOUT_MS, p as DEFAULT_MAX_RESULT_CHARS } from "./connections-eb9xwiLF.js";
|
|
2
|
+
import { d as catalogSearchRequestSchema, h as semanticDefinitionSchema, l as catalogScopeSchema, t as CatalogVersionConflictError } from "./catalog-D0SV_6Jv.js";
|
|
3
3
|
import { resolve } from "node:path";
|
|
4
4
|
import z from "schemastery";
|
|
5
5
|
import { z as z$1 } from "zod";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as clientsSchema, a as parseStructuredQueryOutput, f as DEFAULT_MAX_QUERY_CHARS, g as classifyStatement, h as DEFAULT_QUERY_TIMEOUT_MS, n as redactQueryResult, o as runClientQuery, p as DEFAULT_MAX_RESULT_CHARS, r as redactSecretText, v as enforceReadRowLimit, y as assertSingleStatement } from "./connections-
|
|
1
|
+
import { _ as clientsSchema, a as parseStructuredQueryOutput, f as DEFAULT_MAX_QUERY_CHARS, g as classifyStatement, h as DEFAULT_QUERY_TIMEOUT_MS, n as redactQueryResult, o as runClientQuery, p as DEFAULT_MAX_RESULT_CHARS, r as redactSecretText, v as enforceReadRowLimit, y as assertSingleStatement } from "./connections-eb9xwiLF.js";
|
|
2
2
|
import { l as normalizeCatalogText } from "./catalog-identity-CVftmvQL.js";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
import { link, mkdir, unlink, writeFile } from "node:fs/promises";
|
package/lib/tool.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as name, n as apply, r as inject, t as Config } from "./tool-
|
|
1
|
+
import { i as name, n as apply, r as inject, t as Config } from "./tool-B7CC1EPd.js";
|
|
2
2
|
export { Config, apply, inject, name };
|
package/lib/types/clients.d.ts
CHANGED
|
@@ -38,11 +38,10 @@ export declare function enforceReadRowLimit(sql: string, type: DatabaseType, max
|
|
|
38
38
|
export declare const SQLSERVER_COLUMN_SEPARATOR = "\u001F";
|
|
39
39
|
/**
|
|
40
40
|
* Validate and quote one schema/table identifier for a safe metadata query.
|
|
41
|
-
* Identifiers
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* `"`, `.`, `-` are all refused).
|
|
41
|
+
* Identifiers accept Unicode letters, combining marks and numbers plus `_`/`$`
|
|
42
|
+
* without normalizing or case-folding the database-provided text. Each value is
|
|
43
|
+
* then wrapped for its dialect. Whitespace, controls, punctuation and quoting
|
|
44
|
+
* delimiters remain outside the deliberately narrow metadata-input boundary.
|
|
46
45
|
*/
|
|
47
46
|
export declare function sanitizeIdentifier(type: DatabaseType, identifier: string): string;
|
|
48
47
|
/** One deployment override for a database type's CLI client. */
|
|
@@ -90,6 +89,13 @@ export interface ClientTemplate {
|
|
|
90
89
|
/** stdin text written BEFORE the SQL (Oracle SET/connect, Hive !connect); '' otherwise. */
|
|
91
90
|
stdinPrefix: string;
|
|
92
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Compose one complete client stdin payload. Oracle's structured SQL*Plus
|
|
94
|
+
* mode is a script protocol rather than an EOF-delimited command: normalize
|
|
95
|
+
* the already-validated statement to one terminator and exit explicitly.
|
|
96
|
+
* Raw/introspection modes and every other client preserve the legacy payload.
|
|
97
|
+
*/
|
|
98
|
+
export declare function buildClientStdin(type: DatabaseType, mode: 'query' | 'introspect' | 'structured', prefix: string, sql: string): string;
|
|
93
99
|
/**
|
|
94
100
|
* Build one client invocation for a query execution (plain output). Flags
|
|
95
101
|
* come BEFORE the connection arguments everywhere: sqlite3 takes
|
|
@@ -112,8 +118,9 @@ export declare function buildStructuredQueryTemplate(type: DatabaseType, connect
|
|
|
112
118
|
*/
|
|
113
119
|
export declare function tableListingSql(type: DatabaseType, connection?: DatabaseConnection): string;
|
|
114
120
|
/**
|
|
115
|
-
* Metadata query per kind × type. `schema`/`table` are
|
|
116
|
-
*
|
|
121
|
+
* Metadata query per kind × type. `schema`/`table` are validated by the shared
|
|
122
|
+
* connection service before they reach here; builders still quote identifier
|
|
123
|
+
* positions or escape value positions rather than concatenating raw text.
|
|
117
124
|
*/
|
|
118
125
|
export declare function metadataQuery(kind: 'schemas' | 'tables' | 'describe', type: DatabaseType, schema?: string, table?: string): string;
|
|
119
126
|
/**
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yejiming/dsh-data-agent",
|
|
3
3
|
"description": "Data Agent for DSH Web and TUI: shared database connections, versioned metadata Catalog governance, secure credentials, SQL and Catalog tools, and the data-agent preset",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.3",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|