clusterflux-public/vscode-extension/package.json
Clusterflux release 6acd2d6eb7 Public release release-55b5a563d642
Source commit: 55b5a563d6421f49b5f5e77bc3c1f29752da8801

Public tree identity: sha256:52790e23e2b1806b00cc220c92edcfeed445600dcde620342af2b3369e7883fa
2026-07-16 17:13:43 +02:00

234 lines
6.9 KiB
JSON

{
"name": "clusterflux-vscode",
"displayName": "Clusterflux",
"description": "VS Code support for Clusterflux build programs, environments, and debugging.",
"version": "0.1.0",
"publisher": "clusterflux",
"engines": {
"vscode": "^1.80.0"
},
"categories": [
"Debuggers",
"Other"
],
"activationEvents": [
"onLanguage:rust",
"onDebugResolve:clusterflux",
"onView:clusterflux.nodes",
"onView:clusterflux.processes",
"onView:clusterflux.logs",
"onView:clusterflux.artifacts",
"onView:clusterflux.inspector",
"workspaceContains:envs/*/Containerfile",
"workspaceContains:envs/*/Dockerfile"
],
"main": "./extension.js",
"files": [
"extension.js",
"resources/**"
],
"contributes": {
"viewsContainers": {
"activitybar": [
{
"id": "clusterflux",
"title": "Clusterflux",
"icon": "resources/clusterflux.svg"
}
]
},
"debuggers": [
{
"type": "clusterflux",
"label": "Clusterflux",
"languages": [
"rust"
],
"configurationAttributes": {
"launch": {
"type": "object",
"required": [
"request",
"type",
"name"
],
"properties": {
"name": {
"type": "string",
"default": "Clusterflux: Launch Virtual Process"
},
"type": {
"type": "string",
"default": "clusterflux"
},
"request": {
"type": "string",
"enum": [
"launch"
],
"default": "launch"
},
"entry": {
"type": "string",
"description": "Clusterflux entrypoint such as build, test, package, or release."
},
"project": {
"type": "string",
"description": "Project directory. Defaults to the current workspace folder."
},
"sourcePath": {
"type": "string",
"description": "Source file shown in the Clusterflux virtual stack. Defaults to src/build.rs or src/main.rs."
},
"runtimeBackend": {
"type": "string",
"enum": [
"local-services",
"live-services",
"simulated"
],
"default": "local-services",
"description": "Runtime backend used by the debug adapter. F5 defaults to local coordinator/node services; live-services uses the configured coordinator and an attached node."
},
"coordinatorEndpoint": {
"type": "string",
"description": "Optional coordinator assertion. Normally inferred from the authenticated CLI session."
},
"processId": {
"type": "string",
"description": "Explicit virtual process identity. Normally derived from the workspace and entrypoint."
}
}
},
"attach": {
"type": "object",
"required": [
"request",
"type",
"name",
"processId"
],
"properties": {
"name": {
"type": "string",
"default": "Clusterflux: Attach to Virtual Process"
},
"type": {
"type": "string",
"default": "clusterflux"
},
"request": {
"type": "string",
"enum": [
"attach"
],
"default": "attach"
},
"processId": {
"type": "string",
"description": "Virtual process to attach to."
},
"entry": {
"type": "string",
"description": "Entrypoint represented by the virtual process."
},
"project": {
"type": "string",
"description": "Local workspace used for source and bundle metadata."
},
"sourcePath": {
"type": "string",
"description": "Source file shown in the Clusterflux virtual stack."
},
"runtimeBackend": {
"type": "string",
"enum": [
"local-services",
"live-services",
"simulated"
],
"default": "live-services"
},
"coordinatorEndpoint": {
"type": "string",
"description": "Optional coordinator assertion. Normally inferred from the authenticated CLI session."
}
}
}
}
}
],
"commands": [
{
"command": "clusterflux.refreshProcesses",
"title": "Clusterflux: Refresh Virtual Processes",
"icon": "$(refresh)"
},
{
"command": "clusterflux.process.attach",
"title": "Clusterflux: Attach to Virtual Process",
"icon": "$(debug-alt)"
},
{
"command": "clusterflux.process.cancel",
"title": "Clusterflux: Request Process Cancellation",
"icon": "$(debug-stop)"
},
{
"command": "clusterflux.process.abort",
"title": "Clusterflux: Abort Virtual Process",
"icon": "$(error)"
}
],
"menus": {
"view/title": [
{
"command": "clusterflux.refreshProcesses",
"when": "view == clusterflux.processes",
"group": "navigation"
}
],
"view/item/context": [
{
"command": "clusterflux.process.attach",
"when": "view == clusterflux.processes && viewItem == clusterflux.virtualProcess",
"group": "inline@1"
},
{
"command": "clusterflux.process.cancel",
"when": "view == clusterflux.processes && viewItem == clusterflux.virtualProcess",
"group": "process@2"
},
{
"command": "clusterflux.process.abort",
"when": "view == clusterflux.processes && viewItem == clusterflux.virtualProcess",
"group": "process@3"
}
]
},
"views": {
"clusterflux": [
{
"id": "clusterflux.nodes",
"name": "Clusterflux Nodes"
},
{
"id": "clusterflux.processes",
"name": "Clusterflux Processes"
},
{
"id": "clusterflux.logs",
"name": "Clusterflux Logs"
},
{
"id": "clusterflux.artifacts",
"name": "Clusterflux Artifacts"
},
{
"id": "clusterflux.inspector",
"name": "Clusterflux Inspector"
}
]
}
}
}