Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
6b20055
Attach to existing workers (#DH-22593)
bmingles Jun 16, 2026
89aac33
Attaching to workers (#DH-22593)
bmingles Jun 4, 2026
1abc83a
Moved language identifier to icon instead of description (#DH-22593)
bmingles Jun 4, 2026
ea1970a
Added server parent nodes in connections + panels views (#DH-22593)
bmingles Jun 4, 2026
3173630
Removed unused let vars (#DH-22593)
bmingles Jun 16, 2026
db0754f
Ran prettier (#DH-22593)
bmingles Jun 16, 2026
a0be2d3
Added format script (#DH-22593)
bmingles Jun 16, 2026
f049c2e
Uniform nesting of workers grouped by servers (#DH-22593)
bmingles Jun 16, 2026
56fd435
server connecting status (#DH-22593)
bmingles Jun 17, 2026
9abde97
Cleaned up server / connection management (#DH-22593)
bmingles Jun 17, 2026
cd658af
Added Create Worker action on DHE server nodes (#DH-22593)
bmingles Jun 17, 2026
950bdcd
Align connection picker active items with WORKERS tree (#DH-22593)
bmingles Jun 17, 2026
80434d6
Only allow removing owned connections (#DH-22593)
bmingles Jun 18, 2026
b7ab9b4
Added label to ConnectionState (#DH-22593)
bmingles Jun 18, 2026
2e3b69f
tweak labels for server + workers (#DH-22593)
bmingles Jun 18, 2026
af6d921
simplified option description (#DH-22593)
bmingles Jun 18, 2026
7d55189
Removed create worker action from community server nodes (#DH-22593)
bmingles Jun 18, 2026
f1f9c74
Fixed tests (#DH-22593)
bmingles Jun 18, 2026
cc47a15
Fixed tests (#DH-22593)
bmingles Jun 18, 2026
a12fc36
Fixed type error (#DH-22593)
bmingles Jun 18, 2026
ef5111e
VS Code settings (#DH-22593)
bmingles Jun 18, 2026
92befcd
Improved error handling + re-use util (#DH-22593)
bmingles Jun 22, 2026
b285918
Added label to mcp connection data (#DH-22593)
bmingles Jun 22, 2026
dc8b70f
Rename "Connections" -> "Workers" in e2e tests (#DH-22593)
bmingles Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ dist
node_modules
/*.vsix
.claude
.tasks
.plans
.vscode-test/
.DS_Store
e2e-testing/.resources
Expand Down
8 changes: 6 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
"out": true // set this to false to include "out" folder in search results
},
// Turn off tsc task auto detection since we have the necessary tasks as npm scripts
"typescript.tsc.autoDetect": "off",
"typescript.tsdk": "node_modules/typescript/lib"
"js/ts.tsc.autoDetect": "off",
// Unit tests are excluded from the primary tsconfig.json used by VS Code
// editor. Setting the implicit project target to match the tsconfig.json so
// that the editor shows proper language features for the test files.
"js/ts.implicitProjectConfig.target": "ES2023",
"js/ts.tsdk.path": "node_modules/typescript/lib"
}
2 changes: 1 addition & 1 deletion e2e-testing/src/specs/statusBar.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ describe('Status Bar Tests', () => {

await step(4, 'Verify connection node', async stepLabel => {
const simpleTickingEditor = await getSidebarViewItem(
VIEW_NAME.connections,
VIEW_NAME.workers,
SIMPLE_TICKING3_PY.name
);

Expand Down
2 changes: 1 addition & 1 deletion e2e-testing/src/util/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ export const RETRY_SWITCH_IFRAME_ERRORS: ReadonlySet<string> = new Set([

export const VIEW_NAME = {
servers: 'Servers',
connections: 'Connections',
workers: 'Workers',
panels: 'Panels',
} as const;
61 changes: 40 additions & 21 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

43 changes: 36 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"docs:start": "./scripts/startDocs",
"docs:format": "./scripts/formatDocs",
"docs:validate": "./scripts/validateDocs",
"format": "prettier --write \"src/**/*.{ts,js}\"",
"icon:gen:dh": "node icons/generate.mjs dh",
"icon:gen:ext": "node icons/generate.mjs dh-ext icons/src",
"package:dev": "./scripts/package-dev.sh",
Expand Down Expand Up @@ -244,6 +245,11 @@
"title": "Connect to Server as Another User",
"icon": "$(account)"
},
{
"command": "vscode-deephaven.createWorker",
"title": "Create Worker",
"icon": "$(add)"
},
{
"command": "vscode-deephaven.createNewTextDoc",
"title": "New File",
Expand All @@ -259,6 +265,11 @@
"title": "Disconnect from Server",
"icon": "$(debug-disconnect)"
},
{
"command": "vscode-deephaven.disconnectFromWorker",
"title": "Disconnect from Worker",
"icon": "$(debug-disconnect)"
},
{
"command": "vscode-deephaven.generateDHEKeyPair",
"title": "Generate DHE Key Pair",
Expand Down Expand Up @@ -834,6 +845,10 @@
"command": "vscode-deephaven.connectToServerOperateAs",
"when": "false"
},
{
"command": "vscode-deephaven.createWorker",
"when": "false"
},
{
"command": "vscode-deephaven.disconnectEditor",
"when": "false"
Expand All @@ -842,6 +857,10 @@
"command": "vscode-deephaven.disconnectFromServer",
"when": "false"
},
{
"command": "vscode-deephaven.disconnectFromWorker",
"when": "false"
},
{
"command": "vscode-deephaven.generateDHEKeyPair",
"when:": "false"
Expand Down Expand Up @@ -1005,17 +1024,27 @@
},
{
"command": "vscode-deephaven.createNewTextDoc",
"when": "view == vscode-deephaven.view.serverConnectionTree && viewItem == isConnectionConnected",
"when": "view == vscode-deephaven.view.serverConnectionTree && (viewItem == isConnectionConnected || viewItem == isConnectionConnectedRemovable)",
"group": "inline@1"
},
{
"command": "vscode-deephaven.createWorker",
"when": "view == vscode-deephaven.view.serverConnectionTree && viewItem == isDHEServerConnectionParent",
"group": "inline"
},
{
"command": "vscode-deephaven.disconnectEditor",
"when": "view == vscode-deephaven.view.serverConnectionTree && viewItem == isUri",
"group": "inline"
},
{
"command": "vscode-deephaven.disconnectFromServer",
"when": "(view == vscode-deephaven.view.serverTree && (viewItem == isServerRunningConnected || viewItem == isDHEServerRunningConnected)) || (view == vscode-deephaven.view.serverConnectionTree && (viewItem == isConnectionConnected || viewItem == isConnectionConnecting))",
"when": "view == vscode-deephaven.view.serverTree && (viewItem == isServerRunningConnected || viewItem == isDHEServerRunningConnected)",
"group": "inline@2"
},
{
"command": "vscode-deephaven.disconnectFromWorker",
"when": "view == vscode-deephaven.view.serverConnectionTree && (viewItem == isConnectionConnectedRemovable || viewItem == isConnectionConnectingRemovable)",
"group": "inline@2"
},
{
Expand All @@ -1024,7 +1053,7 @@
},
{
"command": "vscode-deephaven.generateRequirementsTxt",
"when": "view == vscode-deephaven.view.serverConnectionTree && viewItem == isConnectionConnected"
"when": "view == vscode-deephaven.view.serverConnectionTree && (viewItem == isConnectionConnected || viewItem == isConnectionConnectedRemovable)"
},
{
"command": "vscode-deephaven.openInBrowser",
Expand Down Expand Up @@ -1096,7 +1125,7 @@
},
{
"id": "vscode-deephaven.view.serverConnectionTree",
"name": "Connections",
"name": "Workers",
"type": "tree",
"icon": "images/dh-logo-28.svg"
},
Expand Down Expand Up @@ -1125,8 +1154,8 @@
}
},
"dependencies": {
"@deephaven-enterprise/auth-nodejs": "^1.20250219.134-beta",
"@deephaven-enterprise/query-utils": "^1.20250219.134-beta",
"@deephaven-enterprise/auth-nodejs": "^2026.1.38",
"@deephaven-enterprise/query-utils": "^2026.1.38",
"@deephaven/jsapi-nodejs": "^1.15.0",
"@deephaven/jsapi-utils": "^1.16.0",
"@modelcontextprotocol/sdk": "^1.27.1",
Expand All @@ -1137,7 +1166,7 @@
},
"devDependencies": {
"@cfworker/json-schema": "^4.1.1",
"@deephaven-enterprise/jsapi-types": "^1.20250219.134-beta",
"@deephaven-enterprise/jsapi-types": "^2026.1.38",
"@deephaven/jsapi-types": "^41.2.0",
"@react-types/shared": "^3.33.1",
"@types/archiver": "^6.0.3",
Expand Down
7 changes: 7 additions & 0 deletions src/common/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ export type ConnectToServerCmdArgs = [
operateAsAnotherUser?: boolean,
];

/** Arguments passed to `CREATE_WORKER_CMD` handler */
export type CreateWorkerCmdArgs = [
serverState: Pick<ServerState, 'type' | 'url'>,
];

/** Arguments passed to `OPEN_VARIABLE_PANELS_CMD` handler */
export type OpenVariablePanelsCmdArgs = [
serverUrl: URL,
Expand Down Expand Up @@ -97,9 +102,11 @@ export const CREATE_DHE_AUTHENTICATED_CLIENT_CMD = cmd(
'createDHEAuthenticatedClient'
);
export const CREATE_NEW_TEXT_DOC_CMD = cmd('createNewTextDoc');
export const CREATE_WORKER_CMD = cmd('createWorker');
export const DELETE_VARIABLE_CMD = cmd('deleteVariable');
export const DISCONNECT_EDITOR_CMD = cmd('disconnectEditor');
export const DISCONNECT_FROM_SERVER_CMD = cmd('disconnectFromServer');
export const DISCONNECT_FROM_WORKER_CMD = cmd('disconnectFromWorker');
export const DOWNLOAD_LOGS_CMD = cmd('downloadLogs');
export const GENERATE_DHE_KEY_PAIR_CMD = cmd('generateDHEKeyPair');
export const GENERATE_REQUIREMENTS_TXT_CMD = cmd('generateRequirementsTxt');
Expand Down
8 changes: 6 additions & 2 deletions src/common/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,11 @@ export const VARIABLE_UNICODE_ICONS = {
/* eslint-enable @typescript-eslint/naming-convention */

export const CONNECTION_TREE_ITEM_CONTEXT = {
isConnectionConnected: 'isConnectionConnected',
isConnectionConnecting: 'isConnectionConnecting',
isConnectionConnected: (isOwned: boolean) =>
`isConnectionConnected${isOwned ? 'Removable' : ''}`,
isConnectionConnecting: (isOwned: boolean) =>
`isConnectionConnecting${isOwned ? 'Removable' : ''}`,
isDHEServerConnectionParent: 'isDHEServerConnectionParent',
isUri: 'isUri',
} as const;

Expand All @@ -171,6 +174,7 @@ export const SERVER_TREE_ITEM_CONTEXT = {
isManagedServerConnected: 'isManagedServerConnected',
isManagedServerConnecting: 'isManagedServerConnecting',
isManagedServerDisconnected: 'isManagedServerDisconnected',
isServerConnecting: 'isServerConnecting',
isServerRunningConnected: 'isServerRunningConnected',
isServerRunningDisconnected: 'isServerRunningDisconnected',
isServerStopped: 'isServerStopped',
Expand Down
Loading
Loading