### node --check extension.js
### node --check out/extension.js
### runtime sync: OK
### node scripts/test-generated-webview-syntax.js
{
  "detailsScripts": 1,
  "packEditorScripts": 1,
  "sshDeviceManagerScripts": 1,
  "checkedViews": [
    "symbol details",
    "visual pack editor",
    "SSH device manager"
  ],
  "status": "ok"
}
### node scripts/test-main-explorer-environment-tree.js
{
  "status": "ok",
  "rootEnvironments": [
    "Build",
    "Lua"
  ],
  "buildLibraries": [
    "CMake, CTest & CPack",
    "Meson Build System",
    "GCC & G++",
    "Clang & LLVM",
    "MinGW & Windows Resources",
    "MSVC Build Tools",
    "Make, Ninja & Compilation Databases",
    "C/C++ Dependency Managers",
    "Cross-Compilation & Binary Utilities",
    "Debugging, Coverage & Documentation"
  ],
  "luaLibraries": [
    "Lua standard 5.4",
    "Lua industriel / banc de test",
    "MPT Studio / MPTLua (Lua 5.2.4)",
    "Stormworks Lua microcontroller"
  ],
  "gccCategoryCount": 4
}
### node scripts/test-library-first-navigation.js
{
  "status": "ok",
  "luaEnvironment": "Lua",
  "luaLibraries": [
    "Lua standard 5.4",
    "Lua industriel / banc de test",
    "MPT Studio / MPTLua (Lua 5.2.4)",
    "Stormworks Lua microcontroller"
  ],
  "buildEnvironment": "Build",
  "buildLibraries": [
    "CMake, CTest & CPack",
    "Meson Build System",
    "GCC & G++",
    "Clang & LLVM",
    "MinGW & Windows Resources",
    "MSVC Build Tools",
    "Make, Ninja & Compilation Databases",
    "C/C++ Dependency Managers",
    "Cross-Compilation & Binary Utilities",
    "Debugging, Coverage & Documentation"
  ],
  "newPackKeys": [
    "id",
    "name",
    "version",
    "readOnly",
    "environments"
  ]
}
### node scripts/test-environment-first-navigation.js
{
  "status": "ok",
  "luaEnvironment": "Lua",
  "luaLibraries": [
    "Lua standard 5.4",
    "Lua industriel / banc de test",
    "MPT Studio / MPTLua (Lua 5.2.4)",
    "Stormworks Lua microcontroller"
  ],
  "buildEnvironment": "Build",
  "buildLibraries": [
    "CMake, CTest & CPack",
    "Meson Build System",
    "GCC & G++",
    "Clang & LLVM",
    "MinGW & Windows Resources",
    "MSVC Build Tools",
    "Make, Ninja & Compilation Databases",
    "C/C++ Dependency Managers",
    "Cross-Compilation & Binary Utilities",
    "Debugging, Coverage & Documentation"
  ],
  "newPackKeys": [
    "id",
    "name",
    "version",
    "readOnly",
    "environments"
  ]
}
### node scripts/test-multiselect-validation.js
{
  "status": "ok",
  "gccMinimum": 1,
  "gccFallback": "-Wall -Wextra",
  "msvcIncompatibilities": [
    "/W3",
    "/Wall"
  ]
}
### node scripts/test-structured-picker-apply-close.js
{
  "status": "ok",
  "disposeBeforeAsyncUpdate": true,
  "emptyMultiSelectCanClose": true
}
### node scripts/test-build-command-preview.js
{
  "route": "build_all",
  "cards": 163,
  "gccPreview": "gcc -Wall -Wextra -O2 -fPIC -shared src/mylib.c -o \"libmylib.so\"",
  "gccObjectPreview": "gcc -Wall -Wextra -std=c17 -O0 -g3 -I include -c \"main.c\" -o \"main.o\"",
  "cmakePreview": "cmake_minimum_required(VERSION 3.20)",
  "commandCards": 134
}
### node scripts/test-build-command-routes.js
{"route":"build_all","cards":163,"libraries":10}
{"route":"c_all","cards":926,"libraries":2}
{"route":"all_packs","cards":14463,"libraries":146}
### node scripts/test-build-link-ui.js
{
  "route": "build_all",
  "cards": 163,
  "gccSharedParameters": 10,
  "conditionalUi": true,
  "commandsChecked": 11,
  "removedDuplicates": [
    "MinGW gcc executable",
    "MinGW g++ executable"
  ]
}
### node scripts/test-system-scripting-command-routes.js
{
  "status": "ok",
  "route": "scripting_all",
  "cards": 573,
  "libraries": [
    "Cross-Platform Automation",
    "PowerShell 7",
    "Windows CMD & Batch",
    "Bash & POSIX Shell",
    "Linux systemd & Administration",
    "Git Version Control",
    "OpenSSH & Secure Remote Access",
    "Docker & Containers",
    "DevOps, CI & Release Automation"
  ],
  "individualRoutes": [
    {
      "route": "system_automation_core",
      "library": "Cross-Platform Automation",
      "cards": 36
    },
    {
      "route": "powershell_core",
      "library": "PowerShell 7",
      "cards": 131
    },
    {
      "route": "batch_core",
      "library": "Windows CMD & Batch",
      "cards": 124
    },
    {
      "route": "bash_core",
      "library": "Bash & POSIX Shell",
      "cards": 104
    },
    {
      "route": "linux_admin_core",
      "library": "Linux systemd & Administration",
      "cards": 57
    },
    {
      "route": "git_core",
      "library": "Git Version Control",
      "cards": 48
    },
    {
      "route": "ssh_core",
      "library": "OpenSSH & Secure Remote Access",
      "cards": 29
    },
    {
      "route": "docker_core",
      "library": "Docker & Containers",
      "cards": 39
    },
    {
      "route": "devops_core",
      "library": "DevOps, CI & Release Automation",
      "cards": 5
    }
  ]
}
### node scripts/test-terminal-execution-ui.js
{
  "status": "ok",
  "executeButton": true,
  "shellAwareRouting": true,
  "activeTerminalFallback": true,
  "confirmationGuard": true
}
### node scripts/test-ssh-device-manager-ui.js
{
  "status": "ok",
  "command": "jcLib.openSshDeviceManager",
  "scan": true,
  "crud": true,
  "keyEnrollment": true,
  "shellAwareRouting": true
}
### node scripts/test-ssh-device-manager-crud.js
{
  "status": "ok",
  "configPath": "/tmp/jc-lib-ssh-manager-hmvKn0/.ssh/config",
  "insertionBeforeWildcard": true,
  "create": true,
  "update": true,
  "delete": true,
  "wildcardPreserved": true
}
### node scripts/test-ergonomy-0769.js
{
  "status": "ok",
  "structuredScp": [
    "OpenSSH & Secure Remote Access/scp client"
  ],
  "canonicalScp": [
    "OpenSSH & Secure Remote Access/scp client"
  ]
}
### python scripts/validate-build-toolchains-0770.py
{
  "status": "ok",
  "packVersion": "1.3.0",
  "cards": 163,
  "libraries": [
    "CMake, CTest & CPack",
    "GCC & G++",
    "Clang & LLVM",
    "MinGW & Windows Resources",
    "MSVC Build Tools",
    "Make, Ninja & Compilation Databases",
    "C/C++ Dependency Managers",
    "Cross-Compilation & Binary Utilities",
    "Debugging, Coverage & Documentation",
    "Meson Build System"
  ],
  "parameters": 573,
  "pickerConfigs": 245,
  "multiSelectPickers": 119,
  "conditionalParameters": 45,
  "fileBrowsers": 117,
  "folderBrowsers": 78,
  "removedStrictDuplicates": [
    "MinGW gcc executable",
    "MinGW g++ executable"
  ],
  "gccObjectPreview": "gcc -Wall -Wextra -std=c17 -O0 -g3 -I include -c \"main.c\" -o \"main.o\"",
  "gccSharedPreview": "gcc -Wall -Wextra -O2 -fPIC -shared src/mylib.c -o \"libmylib.so\"",
  "errors": []
}
### python scripts/validate-system-scripting-0776.py
{
  "packVersion": "1.9.0",
  "cards": 573,
  "commands": 307,
  "parameters": 1110,
  "pickers": 614,
  "multiSelectPickers": 221,
  "conditionalParameters": 193,
  "libraries": 9,
  "errors": []
}
### python scripts/validate-web-html-elements-0779.py
{
  "status": "ok",
  "packVersion": "1.4.0",
  "htmlCards": 152,
  "conformingElementBaseline": 113,
  "conformingElementsCovered": 113,
  "additionalElementRoots": [
    "fencedframe",
    "geolocation",
    "math",
    "svg"
  ],
  "inputTypePresets": 22,
  "parameters": 472,
  "advancedSelectors": 24,
  "multiSelectPickers": 3,
  "rootGroups": [
    "Recipes — HTML foundations",
    "Recipes — Semantic HTML & accessibility",
    "HTML attributes & conformance references",
    "HTML elements — complete structured reference"
  ],
  "previews": {
    "button": "<button type=\"button\" id=\"start-button\" class=\"button button-primary\">Start</button>",
    "table": "<table id=\"measurements-table\" class=\"data-table\">\n  <caption>Measurements</caption>\n  <thead>\n    <tr><th scope=\"col\">Channel</th><th scope=\"col\">Value</th></tr>\n  </thead>\n  <tbody>\n    <tr><th scope=\"row\">Voltage</th><td>24.5 V</td></tr>\n  </tbody>\n</table>",
    "image": "<img src=\"./image.png\" alt=\"Device overview\" loading=\"lazy\" decoding=\"async\">",
    "emailInput": "<input type=\"email\" id=\"email\" name=\"email\" value=\"user@example.com\">",
    "document": "<!doctype html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n  <title>Device dashboard</title>\n  <link rel=\"stylesheet\" href=\"./styles.css\">\n  <script type=\"module\" src=\"./app.js\"></script>\n</head>\n<body class=\"app-shell\">\n  <main id=\"app\"></main>\n</body>\n</html>"
  },
  "errors": []
}
### node scripts/test-web-html-routes.js
{
  "status": "ok",
  "route": "web_core",
  "cards": 999,
  "htmlCards": 152,
  "libraries": [
    "JavaScript / HTML / CSS"
  ],
  "allPacksCards": 14463
}
### python scripts/audit-packs.py
{
  "distributedJsonFiles": 21,
  "errors": {},
  "coverage": [
    {
      "file": "build_pack.json",
      "version": "1.3.0",
      "cards": 163,
      "parameters": 573,
      "advancedSelectors": 245,
      "documentedChoices": 878,
      "multiSelectors": 119,
      "booleanEditors": 0,
      "fileBrowsers": 117,
      "folderBrowsers": 78
    },
    {
      "file": "c_language_pack.json",
      "version": "1.10.1",
      "cards": 926,
      "parameters": 1535,
      "advancedSelectors": 109,
      "documentedChoices": 489,
      "multiSelectors": 15,
      "booleanEditors": 13,
      "fileBrowsers": 39,
      "folderBrowsers": 12
    },
    {
      "file": "cpp_language_pack.json",
      "version": "2.14.1",
      "cards": 1784,
      "parameters": 1759,
      "advancedSelectors": 104,
      "documentedChoices": 398,
      "multiSelectors": 10,
      "booleanEditors": 1,
      "fileBrowsers": 43,
      "folderBrowsers": 17
    },
    {
      "file": "csharp_language_pack.json",
      "version": "1.2.0",
      "cards": 603,
      "parameters": 1045,
      "advancedSelectors": 55,
      "documentedChoices": 206,
      "multiSelectors": 2,
      "booleanEditors": 15,
      "fileBrowsers": 25,
      "folderBrowsers": 6
    },
    {
      "file": "cvi_pack.json",
      "version": "1.1.0",
      "cards": 1977,
      "parameters": 7541,
      "advancedSelectors": 102,
      "documentedChoices": 719,
      "multiSelectors": 1,
      "booleanEditors": 8,
      "fileBrowsers": 83,
      "folderBrowsers": 12
    },
    {
      "file": "database_pack.json",
      "version": "1.2.0",
      "cards": 317,
      "parameters": 561,
      "advancedSelectors": 53,
      "documentedChoices": 166,
      "multiSelectors": 1,
      "booleanEditors": 5,
      "fileBrowsers": 24,
      "folderBrowsers": 4
    },
    {
      "file": "default_pack.json",
      "version": "2.19.0",
      "cards": 6816,
      "parameters": 14876,
      "advancedSelectors": 758,
      "documentedChoices": 2990,
      "multiSelectors": 201,
      "booleanEditors": 143,
      "fileBrowsers": 224,
      "folderBrowsers": 62
    },
    {
      "file": "embedded_language_pack.json",
      "version": "1.3.1",
      "cards": 393,
      "parameters": 534,
      "advancedSelectors": 86,
      "documentedChoices": 331,
      "multiSelectors": 12,
      "booleanEditors": 19,
      "fileBrowsers": 15,
      "folderBrowsers": 2
    },
    {
      "file": "java_language_pack.json",
      "version": "1.2.0",
      "cards": 490,
      "parameters": 973,
      "advancedSelectors": 46,
      "documentedChoices": 189,
      "multiSelectors": 6,
      "booleanEditors": 8,
      "fileBrowsers": 29,
      "folderBrowsers": 9
    },
    {
      "file": "kotlin_language_pack.json",
      "version": "1.2.0",
      "cards": 421,
      "parameters": 483,
      "advancedSelectors": 28,
      "documentedChoices": 105,
      "multiSelectors": 4,
      "booleanEditors": 9,
      "fileBrowsers": 2,
      "folderBrowsers": 1
    },
    {
      "file": "lua_pack.json",
      "version": "1.5.0",
      "cards": 975,
      "parameters": 773,
      "advancedSelectors": 17,
      "documentedChoices": 71,
      "multiSelectors": 0,
      "booleanEditors": 15,
      "fileBrowsers": 12,
      "folderBrowsers": 1
    },
    {
      "file": "opencv_pack.json",
      "version": "1.0.0",
      "cards": 195,
      "parameters": 608,
      "advancedSelectors": 70,
      "documentedChoices": 342,
      "multiSelectors": 5,
      "booleanEditors": 14,
      "fileBrowsers": 13,
      "folderBrowsers": 4
    },
    {
      "file": "php_language_pack.json",
      "version": "1.2.0",
      "cards": 593,
      "parameters": 639,
      "advancedSelectors": 79,
      "documentedChoices": 299,
      "multiSelectors": 43,
      "booleanEditors": 17,
      "fileBrowsers": 27,
      "folderBrowsers": 13
    },
    {
      "file": "python_pack.json",
      "version": "1.15.1",
      "cards": 1028,
      "parameters": 2275,
      "advancedSelectors": 155,
      "documentedChoices": 592,
      "multiSelectors": 6,
      "booleanEditors": 167,
      "fileBrowsers": 58,
      "folderBrowsers": 22
    },
    {
      "file": "qt_pack.json",
      "version": "1.12.1",
      "cards": 1040,
      "parameters": 1795,
      "advancedSelectors": 128,
      "documentedChoices": 530,
      "multiSelectors": 24,
      "booleanEditors": 62,
      "fileBrowsers": 33,
      "folderBrowsers": 10
    },
    {
      "file": "qt_python_pack.json",
      "version": "1.9.0",
      "cards": 573,
      "parameters": 918,
      "advancedSelectors": 49,
      "documentedChoices": 216,
      "multiSelectors": 6,
      "booleanEditors": 13,
      "fileBrowsers": 26,
      "folderBrowsers": 10
    },
    {
      "file": "sdl_pack.json",
      "version": "1.0.1",
      "cards": 185,
      "parameters": 244,
      "advancedSelectors": 25,
      "documentedChoices": 138,
      "multiSelectors": 12,
      "booleanEditors": 0,
      "fileBrowsers": 9,
      "folderBrowsers": 0
    },
    {
      "file": "system_scripting_pack.json",
      "version": "1.9.0",
      "cards": 573,
      "parameters": 1110,
      "advancedSelectors": 614,
      "documentedChoices": 1835,
      "multiSelectors": 221,
      "booleanEditors": 0,
      "fileBrowsers": 73,
      "folderBrowsers": 28
    },
    {
      "file": "typescript_language_pack.json",
      "version": "1.2.0",
      "cards": 418,
      "parameters": 587,
      "advancedSelectors": 22,
      "documentedChoices": 92,
      "multiSelectors": 3,
      "booleanEditors": 23,
      "fileBrowsers": 10,
      "folderBrowsers": 5
    },
    {
      "file": "web_language_pack.json",
      "version": "1.4.0",
      "cards": 999,
      "parameters": 1213,
      "advancedSelectors": 83,
      "documentedChoices": 345,
      "multiSelectors": 16,
      "booleanEditors": 24,
      "fileBrowsers": 6,
      "folderBrowsers": 8
    },
    {
      "file": "windows_api_device_pack.json",
      "version": "1.11.1",
      "cards": 904,
      "parameters": 2002,
      "advancedSelectors": 290,
      "documentedChoices": 716,
      "multiSelectors": 139,
      "booleanEditors": 59,
      "fileBrowsers": 17,
      "folderBrowsers": 11
    }
  ]
}

ALL REGRESSIONS OK
