runa/vscode/package.json

638 lines
18 KiB
JSON

{
"name": "runa",
"displayName": "Runa — Rune Actors",
"description": "Edit image source files and inspect and control actors in a trusted localhost Runa image.",
"version": "0.0.0",
"private": true,
"engines": {
"vscode": "^1.96.0",
"node": ">=22"
},
"categories": [
"Other"
],
"main": "./out/src/extension.js",
"activationEvents": [
"onDebug:runa",
"onFileSystem:runa-actor",
"onView:runa.actors",
"onView:runa.sources",
"onFileSystem:runa-image"
],
"scripts": {
"compile": "tsc -p .",
"lint": "tsc -p . --noEmit && prettier --check .",
"format": "prettier --write .",
"test": "npm run compile && node --test out/test/*.test.js",
"test:integration": "cargo build --manifest-path ../Cargo.toml -p runa -p runa-cli && npm run compile && node --test out/integration/*.test.js",
"test:host": "cargo build --manifest-path ../Cargo.toml -p runa && npm run compile && node scripts/test-host.cjs"
},
"dependencies": {
"lossless-json": "^4.3.0",
"ws": "^8.18.3"
},
"devDependencies": {
"@vscode/test-electron": "^2.5.2",
"@types/node": "^22.0.0",
"@types/vscode": "~1.96.0",
"@types/ws": "^8.18.1",
"prettier": "^3.6.2",
"typescript": "^5.9.3"
},
"contributes": {
"debuggers": [
{
"type": "runa",
"label": "Runa Actor",
"languages": [
"rune"
],
"configurationAttributes": {
"attach": {
"properties": {
"actorRef": {
"type": "string",
"description": "Actor reference in the connected image. Omit to choose an actor."
}
}
}
},
"initialConfigurations": [
{
"type": "runa",
"request": "attach",
"name": "Attach to Runa Actor"
}
]
}
],
"breakpoints": [
{
"language": "rune"
}
],
"languages": [
{
"id": "rune",
"aliases": [
"Rune"
],
"extensions": [
".rn"
],
"mimetypes": [
"text/x-rune"
]
}
],
"commands": [
{
"command": "runa.debugActor",
"title": "Debug Actor",
"category": "Runa",
"enablement": "runa.connected",
"icon": "$(debug-alt)"
},
{
"command": "runa.stepOver",
"title": "Step Over Source Line",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.stepOut",
"title": "Step Out of Function",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.stepSource",
"title": "Step Into Source Line",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.setBreakpoints",
"title": "Set Actor Breakpoints...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.inspectExecution",
"title": "Inspect Execution Stack...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.newSource",
"title": "New Source File...",
"category": "Runa",
"icon": "$(new-file)",
"enablement": "runa.connected"
},
{
"command": "runa.renameSource",
"title": "Rename or Move Source...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.deleteSource",
"title": "Delete Source",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.editBehavior",
"title": "Edit Current Behavior",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.goToBehavior",
"title": "Go to Behavior",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.updateBehavior",
"title": "Update Behavior...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.editState",
"title": "Edit Actor State...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.editMessages",
"title": "Edit Reserved and Queued Messages...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.logLevel",
"title": "Set Actor Log Level...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.connect",
"title": "Connect to Local Image",
"category": "Runa"
},
{
"command": "runa.disconnect",
"title": "Disconnect",
"category": "Runa"
},
{
"command": "runa.refresh",
"title": "Refresh Image",
"category": "Runa",
"icon": "$(refresh)"
},
{
"command": "runa.spawn",
"title": "Spawn Actor",
"category": "Runa",
"icon": "$(add)",
"enablement": "runa.connected"
},
{
"command": "runa.spawnSource",
"title": "Spawn",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.spawnSourceWithState",
"title": "Spawn with State...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.commitSource",
"title": "Commit Source",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.sourceHistory",
"title": "Source History...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.rollbackSource",
"title": "Roll Back Source...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.send",
"title": "Send Message",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.stop",
"title": "Stop Actor (Graceful Removal)",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.kill",
"title": "Kill Actor (Remove Immediately)",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.restart",
"title": "Restart Actor",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.pause",
"title": "Pause Actor",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.resume",
"title": "Resume Actor",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.reload",
"title": "Reload Actor Source",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.become",
"title": "Become Source...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.saveImage",
"title": "Save Image...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.restoreImage",
"title": "Restore Image...",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.tick",
"title": "Advance Scheduler",
"icon": "$(debug-step-over)",
"category": "Runa",
"enablement": "runa.connected"
},
{
"command": "runa.copyActorReference",
"title": "Copy Actor Reference",
"category": "Runa",
"icon": "$(copy)"
},
{
"command": "runa.inspect",
"title": "Inspect Actor",
"category": "Runa",
"icon": "$(inspect)"
}
],
"viewsContainers": {
"activitybar": [
{
"id": "runa",
"title": "Runa",
"icon": "resources/runa.svg"
}
]
},
"views": {
"runa": [
{
"id": "runa.sources",
"name": "Image Sources",
"visibility": "visible"
},
{
"id": "runa.actors",
"name": "Actors",
"visibility": "visible"
}
]
},
"viewsWelcome": [
{
"view": "runa.sources",
"contents": "Connect to browse and edit the image's virtual filesystem.\n[Connect](command:runa.connect)",
"when": "!runa.connected"
},
{
"view": "runa.actors",
"contents": "Connect to a trusted local Runa image.\n[Connect](command:runa.connect)",
"when": "!runa.connected"
}
],
"menus": {
"view/title": [
{
"command": "runa.newSource",
"when": "view == runa.sources && runa.connected",
"group": "navigation"
},
{
"command": "runa.tick",
"when": "view == runa.actors && runa.connected",
"group": "navigation"
},
{
"command": "runa.connect",
"when": "view == runa.sources && !runa.connected",
"group": "navigation"
},
{
"command": "runa.refresh",
"when": "view == runa.sources && runa.connected",
"group": "navigation"
},
{
"command": "runa.spawn",
"when": "view == runa.actors && runa.connected",
"group": "navigation"
},
{
"command": "runa.connect",
"when": "view == runa.actors && !runa.connected",
"group": "navigation"
},
{
"command": "runa.refresh",
"when": "view == runa.actors && runa.connected",
"group": "navigation"
},
{
"command": "runa.disconnect",
"when": "view == runa.actors && runa.connected"
}
],
"view/item/context": [
{
"command": "runa.debugActor",
"when": "view == runa.actors && viewItem == runa.actor && runa.connected",
"group": "debug@0"
},
{
"command": "runa.stepOver",
"when": "view == runa.actors && viewItem == runa.actor && runa.connected",
"group": "debug@2a"
},
{
"command": "runa.stepOut",
"when": "view == runa.actors && viewItem == runa.actor && runa.connected",
"group": "debug@2b"
},
{
"command": "runa.stepSource",
"when": "view == runa.actors && viewItem == runa.actor && runa.connected",
"group": "debug@2"
},
{
"command": "runa.setBreakpoints",
"when": "view == runa.actors && viewItem == runa.actor && runa.connected",
"group": "debug@3"
},
{
"command": "runa.inspectExecution",
"when": "view == runa.actors && viewItem == runa.actor && runa.connected",
"group": "debug@1"
},
{
"command": "runa.newSource",
"when": "view == runa.sources && viewItem == runa.sourceDirectory && runa.connected",
"group": "runa_0_files@1"
},
{
"command": "runa.renameSource",
"when": "view == runa.sources && viewItem == runa.sourceFile && runa.connected",
"group": "runa_0_files@2"
},
{
"command": "runa.deleteSource",
"when": "view == runa.sources && viewItem == runa.sourceFile && runa.connected",
"group": "runa_0_files@3"
},
{
"command": "runa.editBehavior",
"when": "view == runa.actors && viewItem == runa.actor && runa.connected",
"group": "behavior@1"
},
{
"command": "runa.goToBehavior",
"when": "view == runa.actors && viewItem == runa.actor && runa.connected",
"group": "behavior@2"
},
{
"command": "runa.updateBehavior",
"when": "view == runa.actors && viewItem == runa.actor && runa.connected",
"group": "behavior@3"
},
{
"command": "runa.copyActorReference",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "inline@2"
},
{
"command": "runa.copyActorReference",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "copy"
},
{
"command": "runa.editState",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "edit@1"
},
{
"command": "runa.editMessages",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "edit@2"
},
{
"command": "runa.logLevel",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "logging@1"
},
{
"command": "runa.spawnSource",
"when": "view == runa.sources && viewItem == runa.sourceFile && runa.connected",
"group": "runa_1_spawn@1"
},
{
"command": "runa.spawnSourceWithState",
"when": "view == runa.sources && viewItem == runa.sourceFile && runa.connected",
"group": "runa_1_spawn@2"
},
{
"command": "runa.commitSource",
"when": "view == runa.sources && viewItem == runa.sourceFile && runa.connected",
"group": "runa_2_source@1"
},
{
"command": "runa.sourceHistory",
"when": "view == runa.sources && viewItem == runa.sourceFile && runa.connected",
"group": "runa_2_source@2"
},
{
"command": "runa.rollbackSource",
"when": "view == runa.sources && viewItem == runa.sourceFile && runa.connected",
"group": "runa_2_source@3"
},
{
"command": "runa.send",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "actor@1"
},
{
"command": "runa.pause",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "actor@2"
},
{
"command": "runa.resume",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "actor@3"
},
{
"command": "runa.stop",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "actor@4"
},
{
"command": "runa.kill",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "actor@5"
},
{
"command": "runa.restart",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "actor@6"
},
{
"command": "runa.reload",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "actor@7"
},
{
"command": "runa.become",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "actor@8"
},
{
"command": "runa.inspect",
"when": "view == runa.actors && viewItem == runa.actor",
"group": "inline"
}
],
"explorer/context": [
{
"command": "runa.spawnSource",
"when": "resourceScheme == runa-image && resourceExtname == .rn && runa.connected",
"group": "runa_1_spawn@1"
},
{
"command": "runa.spawnSourceWithState",
"when": "resourceScheme == runa-image && resourceExtname == .rn && runa.connected",
"group": "runa_1_spawn@2"
},
{
"command": "runa.commitSource",
"when": "resourceScheme == runa-image && resourceExtname == .rn && runa.connected",
"group": "runa_2_source@1"
},
{
"command": "runa.sourceHistory",
"when": "resourceScheme == runa-image && resourceExtname == .rn && runa.connected",
"group": "runa_2_source@2"
},
{
"command": "runa.rollbackSource",
"when": "resourceScheme == runa-image && resourceExtname == .rn && runa.connected",
"group": "runa_2_source@3"
}
],
"editor/title/context": [
{
"command": "runa.spawnSource",
"when": "resourceScheme == runa-image && resourceExtname == .rn && runa.connected",
"group": "runa_1_spawn@1"
},
{
"command": "runa.spawnSourceWithState",
"when": "resourceScheme == runa-image && resourceExtname == .rn && runa.connected",
"group": "runa_1_spawn@2"
},
{
"command": "runa.commitSource",
"when": "resourceScheme == runa-image && resourceExtname == .rn && runa.connected",
"group": "runa_2_source@1"
},
{
"command": "runa.sourceHistory",
"when": "resourceScheme == runa-image && resourceExtname == .rn && runa.connected",
"group": "runa_2_source@2"
},
{
"command": "runa.rollbackSource",
"when": "resourceScheme == runa-image && resourceExtname == .rn && runa.connected",
"group": "runa_2_source@3"
}
],
"commandPalette": [
{
"command": "runa.spawnSource",
"when": "runa.connected"
},
{
"command": "runa.spawnSourceWithState",
"when": "runa.connected"
},
{
"command": "runa.commitSource",
"when": "runa.connected"
},
{
"command": "runa.sourceHistory",
"when": "runa.connected"
},
{
"command": "runa.rollbackSource",
"when": "runa.connected"
}
]
},
"configuration": {
"title": "Runa",
"properties": {
"runa.address": {
"type": "string",
"default": "127.0.0.1:3737",
"scope": "machine",
"description": "Trusted local image endpoint: numeric IPv4 loopback or [::1]:port. No authentication is available."
}
}
}
}
}