418 lines
12 KiB
JSON
418 lines
12 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": [
|
|
"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": {
|
|
"commands": [
|
|
{
|
|
"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)",
|
|
"category": "Runa",
|
|
"enablement": "runa.connected"
|
|
},
|
|
{
|
|
"command": "runa.kill",
|
|
"title": "Kill Actor",
|
|
"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.tick",
|
|
"title": "Advance Scheduler",
|
|
"category": "Runa",
|
|
"enablement": "runa.connected"
|
|
},
|
|
{
|
|
"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.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.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."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|