sql-preview 0.6.6 → 0.6.7
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/Changelog.md +11 -1
- package/README.md +2 -2
- package/dist/mcp-app.html +99 -197
- package/package.json +1 -1
- package/server.json +2 -2
package/Changelog.md
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [0.6.7] - 2026-07-08
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Replaced the stacked tab-close undo toast notifications with a simpler Undo button in the top action bar.
|
|
8
|
+
- Restored the original emoji icons (`▶️` and `▶️➕`) for the CodeLens query execution actions.
|
|
9
|
+
- Extracted hardcoded shadow colors and font stacks in the UI to strictly align with the `DESIGN.md` token system.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Fixed an issue where running a query in a new tab would occasionally render a blank page until the tab was manually focused.
|
|
4
14
|
|
|
5
15
|
## [0.6.6] - 2026-07-06
|
|
6
16
|
|
package/README.md
CHANGED
|
@@ -6,8 +6,8 @@ Run SQL in VS Code, manage database profiles securely, inspect results in a
|
|
|
6
6
|
high-performance grid, and expose governed database tools to Claude, Cursor,
|
|
7
7
|
Copilot, and other Model Context Protocol clients.
|
|
8
8
|
|
|
9
|
-
[](https://marketplace.visualstudio.com/items?itemName=mehul.sql-preview)
|
|
10
|
+
[](https://marketplace.visualstudio.com/items?itemName=mehul.sql-preview)
|
|
11
11
|
[](https://open-vsx.org/extension/mehul/sql-preview)
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
|
package/dist/mcp-app.html
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
body {
|
|
10
10
|
margin: 0;
|
|
11
11
|
padding: 0;
|
|
12
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',
|
|
12
|
+
font-family: var(--vscode-editor-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
|
|
13
13
|
background-color: transparent;
|
|
14
14
|
}
|
|
15
15
|
|
|
@@ -74761,16 +74761,6 @@ const ConnectionsManager = () => {
|
|
|
74761
74761
|
reactExports.useEffect(() => {
|
|
74762
74762
|
fetchData();
|
|
74763
74763
|
}, [fetchData]);
|
|
74764
|
-
reactExports.useEffect(() => {
|
|
74765
|
-
if (isFormOpen || connections.length === 0) {
|
|
74766
|
-
return;
|
|
74767
|
-
}
|
|
74768
|
-
if (selectedConnectionId && connections.some((c) => c.id === selectedConnectionId)) {
|
|
74769
|
-
return;
|
|
74770
|
-
}
|
|
74771
|
-
const nextSelection = connections.find((c) => supportsActiveConnection && c.id === activeConnectionId) ?? connections[0];
|
|
74772
|
-
setSelectedConnectionId(nextSelection == null ? void 0 : nextSelection.id);
|
|
74773
|
-
}, [activeConnectionId, connections, isFormOpen, selectedConnectionId, supportsActiveConnection]);
|
|
74774
74764
|
reactExports.useEffect(() => {
|
|
74775
74765
|
if (connections.length > 0) {
|
|
74776
74766
|
connections.forEach((c) => {
|
|
@@ -75027,12 +75017,14 @@ const ConnectionsManager = () => {
|
|
|
75027
75017
|
});
|
|
75028
75018
|
};
|
|
75029
75019
|
const openAddForm = () => {
|
|
75020
|
+
setSelectedConnectionId(void 0);
|
|
75030
75021
|
setSelectedType("");
|
|
75031
75022
|
setIsFormOpen(true);
|
|
75032
75023
|
setToast(null);
|
|
75033
75024
|
};
|
|
75034
75025
|
const closeForm = reactExports.useCallback(() => {
|
|
75035
75026
|
setIsFormOpen(false);
|
|
75027
|
+
setSelectedConnectionId(void 0);
|
|
75036
75028
|
setSelectedType("");
|
|
75037
75029
|
setToast(null);
|
|
75038
75030
|
}, []);
|
|
@@ -75246,17 +75238,16 @@ const ConnectionsManager = () => {
|
|
|
75246
75238
|
] });
|
|
75247
75239
|
};
|
|
75248
75240
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-detail", children: [
|
|
75249
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-detail-header", children: [
|
|
75250
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
75251
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("
|
|
75252
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
75253
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-item-meta", children: [
|
|
75241
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-detail-header", style: { display: "flex", justifyContent: "space-between", alignItems: "center", flexWrap: "wrap", gap: "16px", paddingBottom: "16px", borderBottom: "1px solid var(--sp-border)", marginBottom: "16px" }, children: [
|
|
75242
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { display: "flex", alignItems: "center", gap: "12px", flexWrap: "wrap" }, children: [
|
|
75243
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { fontWeight: 600, fontSize: "14px", color: "var(--sp-fg)" }, children: selectedConnection ? "Edit Connection" : "New Connection" }),
|
|
75244
|
+
selectedConnection && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
75254
75245
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-conn-type-badge", children: selectedConnection.type }),
|
|
75255
|
-
isActive && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-conn-active-badge", children: "Active
|
|
75246
|
+
isActive && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-conn-active-badge", children: "Active" }),
|
|
75256
75247
|
selectedConnection.builtIn && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-conn-built-in-label", children: "Built-in" })
|
|
75257
75248
|
] })
|
|
75258
75249
|
] }),
|
|
75259
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-detail-actions", children: [
|
|
75250
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-detail-actions", style: { display: "flex", gap: "8px", flexWrap: "wrap" }, children: [
|
|
75260
75251
|
supportsActiveConnection && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75261
75252
|
"button",
|
|
75262
75253
|
{
|
|
@@ -75264,7 +75255,7 @@ const ConnectionsManager = () => {
|
|
|
75264
75255
|
onClick: () => handleSetActiveConnection(selectedConnection),
|
|
75265
75256
|
disabled: isActive || status === "testing",
|
|
75266
75257
|
"aria-label": `Set ${selectedConnection.name} as the active connection for queries`,
|
|
75267
|
-
children: isActive ? "Active
|
|
75258
|
+
children: isActive ? "Active" : "Set active"
|
|
75268
75259
|
}
|
|
75269
75260
|
),
|
|
75270
75261
|
!selectedConnection.builtIn && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -75280,12 +75271,6 @@ const ConnectionsManager = () => {
|
|
|
75280
75271
|
] }),
|
|
75281
75272
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-detail-body", children: [
|
|
75282
75273
|
renderToast(),
|
|
75283
|
-
isActive && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-callout", role: "status", children: [
|
|
75284
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-dot sp-dot-ok" }),
|
|
75285
|
-
"Queries from SQL Preview and MCP use ",
|
|
75286
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("b", { children: selectedConnection.name }),
|
|
75287
|
-
" unless a query overrides it."
|
|
75288
|
-
] }),
|
|
75289
75274
|
modeAwareEditSchema ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75290
75275
|
DynamicForm,
|
|
75291
75276
|
{
|
|
@@ -75302,149 +75287,75 @@ const ConnectionsManager = () => {
|
|
|
75302
75287
|
] })
|
|
75303
75288
|
] });
|
|
75304
75289
|
};
|
|
75305
|
-
|
|
75306
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn", children: [
|
|
75307
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
75308
|
-
|
|
75309
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
75310
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75311
|
-
"button",
|
|
75312
|
-
{
|
|
75313
|
-
className: "sp-btn",
|
|
75314
|
-
onClick: fetchData,
|
|
75315
|
-
disabled: isLoading,
|
|
75316
|
-
"aria-label": "Refresh connections",
|
|
75317
|
-
title: "Refresh",
|
|
75318
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75319
|
-
"svg",
|
|
75320
|
-
{
|
|
75321
|
-
width: "12",
|
|
75322
|
-
height: "12",
|
|
75323
|
-
viewBox: "0 0 16 16",
|
|
75324
|
-
fill: "none",
|
|
75325
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
75326
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75327
|
-
"path",
|
|
75328
|
-
{
|
|
75329
|
-
fillRule: "evenodd",
|
|
75330
|
-
clipRule: "evenodd",
|
|
75331
|
-
d: "M13.627 7.25H15C14.7347 4.09068 12.1963 1.55227 9.03698 1.28698V2.66579C11.4398 2.9238 13.3638 4.84777 13.6218 7.25055L13.627 7.25ZM8.0004 0C3.58212 0 0.000396729 3.58172 0.000396729 8C0.000396729 12.4183 3.58212 16 8.0004 16C12.1643 16 15.5843 12.8124 15.9682 8.75H14.4532C14.0792 11.9772 11.3323 14.5 8.0004 14.5C4.41054 14.5 1.5004 11.5899 1.5004 8C1.5004 4.41015 4.41054 1.5 8.0004 1.5C9.72825 1.5 11.2982 2.17415 12.4578 3.27218L10.0004 5.75H15.5004V0.25L13.5186 2.23179C12.1158 0.849658 10.158 0 8.0004 0ZM2.37344 8.75C2.63873 11.9093 5.17714 14.4477 8.33644 14.713V13.3342C5.93366 13.0762 4.00969 11.1522 3.75168 8.74945L3.74646 8.75H2.37344Z",
|
|
75332
|
-
fill: "currentColor"
|
|
75333
|
-
}
|
|
75334
|
-
)
|
|
75335
|
-
}
|
|
75336
|
-
)
|
|
75337
|
-
}
|
|
75338
|
-
),
|
|
75339
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75340
|
-
"button",
|
|
75341
|
-
{
|
|
75342
|
-
className: "sp-btn sp-btn-primary",
|
|
75343
|
-
onClick: openAddForm,
|
|
75344
|
-
"aria-label": "Add new connection",
|
|
75345
|
-
children: "Add"
|
|
75346
|
-
}
|
|
75347
|
-
)
|
|
75348
|
-
] })
|
|
75349
|
-
] }),
|
|
75350
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-switcher-wrap", ref: switcherWrapRef, children: [
|
|
75351
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
75290
|
+
const renderGrid = () => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-grid-view", children: [
|
|
75291
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-head", style: { marginBottom: 16 }, children: [
|
|
75292
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { children: "DB Connections" }),
|
|
75293
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-head-actions", children: [
|
|
75294
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75352
75295
|
"button",
|
|
75353
75296
|
{
|
|
75354
|
-
className: "sp-
|
|
75355
|
-
|
|
75356
|
-
|
|
75357
|
-
|
|
75358
|
-
|
|
75359
|
-
|
|
75360
|
-
"div",
|
|
75361
|
-
{
|
|
75362
|
-
className: `sp-dot ${statuses[selectedConnection.id] === "ok" ? "sp-dot-ok" : statuses[selectedConnection.id] === "error" ? "sp-dot-error" : statuses[selectedConnection.id] === "testing" ? "sp-dot-testing" : "sp-dot-unknown"}`
|
|
75363
|
-
}
|
|
75364
|
-
),
|
|
75365
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-grow", children: [
|
|
75366
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-sw-name", children: selectedConnection.name }),
|
|
75367
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-badge", children: selectedConnection.type.toUpperCase() }),
|
|
75368
|
-
supportsActiveConnection && activeConnectionId === selectedConnection.id && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-pill", children: "Active for queries" })
|
|
75369
|
-
] })
|
|
75370
|
-
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-grow", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-sw-name", children: "No connection selected" }) }),
|
|
75371
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75372
|
-
"svg",
|
|
75373
|
-
{
|
|
75374
|
-
className: "sp-chev",
|
|
75375
|
-
width: "16",
|
|
75376
|
-
height: "16",
|
|
75377
|
-
viewBox: "0 0 16 16",
|
|
75378
|
-
fill: "none",
|
|
75379
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
75380
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75381
|
-
"path",
|
|
75382
|
-
{
|
|
75383
|
-
d: "M4.29303 5.29289C4.68355 4.90237 5.31672 4.90237 5.70724 5.29289L8.00014 7.58579L10.293 5.29289C10.6836 4.90237 11.3167 4.90237 11.7072 5.29289C12.0978 5.68342 12.0978 6.31658 11.7072 6.70711L8.70724 9.70711C8.31672 10.0976 7.68355 10.0976 7.29303 9.70711L4.29303 6.70711C3.90251 6.31658 3.90251 5.68342 4.29303 5.29289Z",
|
|
75384
|
-
fill: "currentColor"
|
|
75385
|
-
}
|
|
75386
|
-
)
|
|
75387
|
-
}
|
|
75388
|
-
)
|
|
75389
|
-
]
|
|
75297
|
+
className: "sp-btn",
|
|
75298
|
+
onClick: fetchData,
|
|
75299
|
+
disabled: isLoading,
|
|
75300
|
+
"aria-label": "Refresh connections",
|
|
75301
|
+
title: "Refresh",
|
|
75302
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: "14", height: "14", viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.681 3H2V2h3.5l.5.5V6H5V4a5 5 0 1 0 4.53-.761l.302-.953A6 6 0 1 1 4.681 3z" }) })
|
|
75390
75303
|
}
|
|
75391
75304
|
),
|
|
75392
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
75393
|
-
|
|
75394
|
-
|
|
75395
|
-
|
|
75396
|
-
|
|
75397
|
-
|
|
75398
|
-
|
|
75399
|
-
|
|
75400
|
-
|
|
75401
|
-
|
|
75402
|
-
"aria-current": isSelected,
|
|
75403
|
-
onClick: () => {
|
|
75404
|
-
setSelectedConnectionId(c.id);
|
|
75405
|
-
closeForm();
|
|
75406
|
-
setIsPopoverOpen(false);
|
|
75407
|
-
setToast(null);
|
|
75408
|
-
},
|
|
75409
|
-
children: [
|
|
75410
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75411
|
-
"div",
|
|
75412
|
-
{
|
|
75413
|
-
className: `sp-dot ${status === "ok" ? "sp-dot-ok" : status === "error" ? "sp-dot-error" : status === "testing" ? "sp-dot-testing" : "sp-dot-unknown"}`
|
|
75414
|
-
}
|
|
75415
|
-
),
|
|
75416
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-grow", children: [
|
|
75417
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-nm", children: c.name }),
|
|
75418
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-badge", children: c.type.toUpperCase() }),
|
|
75419
|
-
isActive && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-pill", children: "Active" }),
|
|
75420
|
-
c.builtIn && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-tag-builtin", children: "Built-in" })
|
|
75421
|
-
] }),
|
|
75422
|
-
isSelected && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-pop-check", children: "✓" })
|
|
75423
|
-
]
|
|
75424
|
-
},
|
|
75425
|
-
c.id
|
|
75426
|
-
);
|
|
75427
|
-
}),
|
|
75428
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-pop-sep" }),
|
|
75429
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
75430
|
-
"button",
|
|
75431
|
-
{
|
|
75432
|
-
type: "button",
|
|
75433
|
-
className: "sp-pop-row sp-pop-add",
|
|
75434
|
-
onClick: () => {
|
|
75435
|
-
openAddForm();
|
|
75436
|
-
setIsPopoverOpen(false);
|
|
75437
|
-
},
|
|
75438
|
-
children: [
|
|
75439
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-plus", children: "+" }),
|
|
75440
|
-
" Add connection"
|
|
75441
|
-
]
|
|
75442
|
-
}
|
|
75443
|
-
)
|
|
75444
|
-
] })
|
|
75445
|
-
] }),
|
|
75446
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("section", { "aria-label": "Connection details", children: isFormOpen ? renderConnectionForm() : renderConnectionDetails() })
|
|
75305
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75306
|
+
"button",
|
|
75307
|
+
{
|
|
75308
|
+
className: "sp-btn sp-btn-primary",
|
|
75309
|
+
onClick: openAddForm,
|
|
75310
|
+
"aria-label": "Add new connection",
|
|
75311
|
+
children: "+ New Connection"
|
|
75312
|
+
}
|
|
75313
|
+
)
|
|
75314
|
+
] })
|
|
75447
75315
|
] }),
|
|
75316
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-conn-grid", style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(260px, 1fr))", gap: "12px" }, children: connections.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-conn-empty", style: { gridColumn: "1 / -1" }, children: "No connections configured." }) : connections.map((c) => {
|
|
75317
|
+
const status = statuses[c.id] || "unknown";
|
|
75318
|
+
const isActive = supportsActiveConnection && activeConnectionId === c.id;
|
|
75319
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
75320
|
+
"div",
|
|
75321
|
+
{
|
|
75322
|
+
className: "sp-conn-card",
|
|
75323
|
+
style: {
|
|
75324
|
+
border: "1px solid var(--sp-border)",
|
|
75325
|
+
borderRadius: "6px",
|
|
75326
|
+
padding: "12px",
|
|
75327
|
+
background: "var(--sp-header-bg)",
|
|
75328
|
+
cursor: "pointer",
|
|
75329
|
+
display: "flex",
|
|
75330
|
+
flexDirection: "column",
|
|
75331
|
+
gap: "8px"
|
|
75332
|
+
},
|
|
75333
|
+
onClick: () => {
|
|
75334
|
+
setSelectedConnectionId(c.id);
|
|
75335
|
+
setIsFormOpen(false);
|
|
75336
|
+
},
|
|
75337
|
+
children: [
|
|
75338
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px", fontWeight: 600 }, children: [
|
|
75339
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { display: "flex", width: 16, height: 16, alignItems: "center", justifyContent: "center", color: "var(--sp-btn-bg)" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ConnectorGlyph, { type: c.type }) }),
|
|
75340
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: c.name })
|
|
75341
|
+
] }) }),
|
|
75342
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { fontSize: "12px", color: "var(--sp-muted-fg)" }, children: c.type.toUpperCase() }),
|
|
75343
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { display: "flex", alignItems: "center", gap: "6px", fontSize: "11px", marginTop: "4px" }, children: [
|
|
75344
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sp-dot sp-dot-${status}` }),
|
|
75345
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { color: "var(--sp-muted-fg)" }, children: status === "ok" ? "Connected" : status === "error" ? "Error" : status === "testing" ? "Testing..." : "Disconnected" }),
|
|
75346
|
+
isActive && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-pill", style: { marginLeft: "auto" }, children: "Active" })
|
|
75347
|
+
] })
|
|
75348
|
+
]
|
|
75349
|
+
},
|
|
75350
|
+
c.id
|
|
75351
|
+
);
|
|
75352
|
+
}) })
|
|
75353
|
+
] });
|
|
75354
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-page", children: [
|
|
75355
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-conn", children: !isFormOpen && !selectedConnectionId ? renderGrid() : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
75356
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("button", { className: "sp-btn", onClick: closeForm, style: { marginBottom: 12, alignSelf: "flex-start" }, children: "← Back to connections" }),
|
|
75357
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("section", { "aria-label": "Connection details", style: { background: "var(--sp-bg)", border: "1px solid var(--sp-border)", borderRadius: 6 }, children: isFormOpen ? renderConnectionForm() : renderConnectionDetails() })
|
|
75358
|
+
] }) }),
|
|
75448
75359
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
75449
75360
|
ConfirmDialog,
|
|
75450
75361
|
{
|
|
@@ -97209,6 +97120,7 @@ body.light-theme .ag-theme-quartz {
|
|
|
97209
97120
|
--sp-space-lg: 24px;
|
|
97210
97121
|
|
|
97211
97122
|
--sp-radius: 3px;
|
|
97123
|
+
--sp-shadow-floating: 0 6px 18px rgba(0, 0, 0, 0.3), 0 1px 4px rgba(0, 0, 0, 0.15);
|
|
97212
97124
|
}
|
|
97213
97125
|
|
|
97214
97126
|
.vscode-dark,
|
|
@@ -97295,6 +97207,7 @@ body {
|
|
|
97295
97207
|
padding: 0 6px;
|
|
97296
97208
|
flex-shrink: 0;
|
|
97297
97209
|
border-left: 1px solid var(--sp-border);
|
|
97210
|
+
gap: 6px;
|
|
97298
97211
|
}
|
|
97299
97212
|
|
|
97300
97213
|
.sp-active-file-indicator {
|
|
@@ -97658,8 +97571,10 @@ body {
|
|
|
97658
97571
|
}
|
|
97659
97572
|
.sp-icon-btn.active {
|
|
97660
97573
|
color: var(--sp-btn-bg);
|
|
97661
|
-
border-color: var(--sp-btn-bg);
|
|
97662
97574
|
background: var(--sp-hover-bg);
|
|
97575
|
+
border-color: transparent !important;
|
|
97576
|
+
outline: none !important;
|
|
97577
|
+
box-shadow: none !important;
|
|
97663
97578
|
}
|
|
97664
97579
|
|
|
97665
97580
|
/* ── Grid container ────────────────────────────────────────── */
|
|
@@ -98182,17 +98097,26 @@ body.vscode-high-contrast .ag-theme-quartz {
|
|
|
98182
98097
|
.sp-trust-badge {
|
|
98183
98098
|
font-size: 11px;
|
|
98184
98099
|
font-weight: 600;
|
|
98185
|
-
border: 1px solid
|
|
98100
|
+
border: 1px solid transparent;
|
|
98186
98101
|
border-radius: var(--sp-radius);
|
|
98187
|
-
|
|
98102
|
+
height: 24px;
|
|
98103
|
+
display: inline-flex;
|
|
98104
|
+
align-items: center;
|
|
98105
|
+
justify-content: center;
|
|
98106
|
+
padding: 0 8px;
|
|
98107
|
+
box-sizing: border-box;
|
|
98188
98108
|
white-space: nowrap;
|
|
98189
98109
|
cursor: default;
|
|
98190
98110
|
}
|
|
98191
98111
|
.sp-trust-badge.safe {
|
|
98192
|
-
|
|
98112
|
+
background: var(--sp-hover-bg);
|
|
98113
|
+
color: var(--sp-fg);
|
|
98114
|
+
border-color: var(--sp-border);
|
|
98193
98115
|
}
|
|
98194
98116
|
.sp-trust-badge.unrestricted {
|
|
98117
|
+
background: var(--sp-hover-bg);
|
|
98195
98118
|
color: var(--sp-warning);
|
|
98119
|
+
border-color: var(--sp-border);
|
|
98196
98120
|
}
|
|
98197
98121
|
|
|
98198
98122
|
/* ── Tab context menu ──────────────────────────────────────── */
|
|
@@ -99116,8 +99040,9 @@ body.vscode-high-contrast .ag-theme-quartz {
|
|
|
99116
99040
|
font-weight: 700;
|
|
99117
99041
|
padding: 1px 7px;
|
|
99118
99042
|
border-radius: 999px;
|
|
99119
|
-
background: var(--sp-
|
|
99120
|
-
color: var(--sp-
|
|
99043
|
+
background: var(--sp-hover-bg);
|
|
99044
|
+
color: var(--sp-fg);
|
|
99045
|
+
border: 1px solid var(--sp-border);
|
|
99121
99046
|
white-space: nowrap;
|
|
99122
99047
|
flex-shrink: 0;
|
|
99123
99048
|
}
|
|
@@ -99138,16 +99063,12 @@ body.vscode-high-contrast .ag-theme-quartz {
|
|
|
99138
99063
|
background: var(--sp-bg);
|
|
99139
99064
|
border: 1px solid var(--sp-border);
|
|
99140
99065
|
border-radius: var(--sp-radius);
|
|
99141
|
-
box-shadow: var(--sp-shadow
|
|
99066
|
+
box-shadow: var(--sp-shadow-floating);
|
|
99142
99067
|
padding: 4px;
|
|
99143
99068
|
display: none;
|
|
99144
99069
|
transform-origin: top center;
|
|
99145
99070
|
}
|
|
99146
99071
|
|
|
99147
|
-
.vscode-dark .sp-popover {
|
|
99148
|
-
box-shadow: var(--sp-shadow, 0 6px 18px rgba(0, 0, 0, 0.45), 0 1px 4px rgba(0, 0, 0, 0.30));
|
|
99149
|
-
}
|
|
99150
|
-
|
|
99151
99072
|
.sp-popover.open {
|
|
99152
99073
|
display: block;
|
|
99153
99074
|
animation: pop 0.12s ease-out;
|
|
@@ -99409,8 +99330,9 @@ body.vscode-high-contrast .ag-theme-quartz {
|
|
|
99409
99330
|
font-weight: 700;
|
|
99410
99331
|
padding: 1px 6px;
|
|
99411
99332
|
border-radius: 999px;
|
|
99412
|
-
color: var(--sp-
|
|
99413
|
-
background: var(--sp-
|
|
99333
|
+
color: var(--sp-fg);
|
|
99334
|
+
background: var(--sp-hover-bg);
|
|
99335
|
+
border: 1px solid var(--sp-border);
|
|
99414
99336
|
white-space: nowrap;
|
|
99415
99337
|
}
|
|
99416
99338
|
|
|
@@ -99765,7 +99687,7 @@ body.vscode-high-contrast .ag-theme-quartz {
|
|
|
99765
99687
|
justify-content: flex-end;
|
|
99766
99688
|
gap: 6px;
|
|
99767
99689
|
margin-top: 8px;
|
|
99768
|
-
padding
|
|
99690
|
+
padding: 10px 0;
|
|
99769
99691
|
border-top: 1px solid var(--sp-border);
|
|
99770
99692
|
}
|
|
99771
99693
|
|
|
@@ -99842,27 +99764,7 @@ body.vscode-high-contrast .ag-theme-quartz {
|
|
|
99842
99764
|
opacity: 1;
|
|
99843
99765
|
}
|
|
99844
99766
|
|
|
99845
|
-
/* Undo toasts float above the document flow, so the Floating shadow vocabulary applies (DESIGN.md #4). */
|
|
99846
|
-
.sp-tab-undo-stack {
|
|
99847
|
-
position: fixed;
|
|
99848
|
-
bottom: 16px;
|
|
99849
|
-
left: 50%;
|
|
99850
|
-
z-index: 100;
|
|
99851
|
-
display: flex;
|
|
99852
|
-
flex-direction: column;
|
|
99853
|
-
gap: 6px;
|
|
99854
|
-
transform: translateX(-50%);
|
|
99855
|
-
/* Closing many tabs in quick succession shouldn't grow this stack to cover the viewport. */
|
|
99856
|
-
max-height: min(60vh, 320px);
|
|
99857
|
-
overflow-y: auto;
|
|
99858
|
-
overscroll-behavior: contain;
|
|
99859
|
-
}
|
|
99860
99767
|
|
|
99861
|
-
.sp-tab-undo-toast {
|
|
99862
|
-
box-shadow:
|
|
99863
|
-
0 6px 18px rgba(0, 0, 0, 0.3),
|
|
99864
|
-
0 1px 4px rgba(0, 0, 0, 0.15);
|
|
99865
|
-
}
|
|
99866
99768
|
|
|
99867
99769
|
/* Keep the user-selected type size flowing through shared UI primitives. */
|
|
99868
99770
|
.sp-app,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sql-preview",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.7",
|
|
4
4
|
"mcpName": "io.github.fadnavismehul/sql-preview",
|
|
5
5
|
"description": "Standalone SQL Preview MCP database server for VS Code, Claude Desktop, Cursor, and other MCP clients.",
|
|
6
6
|
"main": "out/server/standalone.js",
|
package/server.json
CHANGED
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"source": "github",
|
|
9
9
|
"id": "1025027765"
|
|
10
10
|
},
|
|
11
|
-
"version": "0.6.
|
|
11
|
+
"version": "0.6.7",
|
|
12
12
|
"websiteUrl": "https://github.com/fadnavismehul/sql-preview#readme",
|
|
13
13
|
"packages": [
|
|
14
14
|
{
|
|
15
15
|
"registryType": "npm",
|
|
16
16
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
17
17
|
"identifier": "sql-preview",
|
|
18
|
-
"version": "0.6.
|
|
18
|
+
"version": "0.6.7",
|
|
19
19
|
"runtimeHint": "npx",
|
|
20
20
|
"runtimeArguments": [
|
|
21
21
|
{
|