[
  {
    "verb": "kicad_install_symbol",
    "args": {
      "fileName": "ADOM_VERBTEST.kicad_sym",
      "fileContent": "KGtpY2FkX3N5bWJvbF9saWIgKHZlcnNpb24gMjAyMzExMjApIChnZW5lcmF0b3IgInZlcmJ0ZXN0IikKICAoc3ltYm9sICJBRE9NX1ZFUkJURVNUIiAocGluX251bWJlcnMgaGlkZSkgKGluX2JvbSB5ZXMpIChvbl9ib2FyZCB5ZXMpCiAgICAocHJvcGVydHkgIlJlZmVyZW5jZSIgIlUiIChhdCAwIDUuMDggMCkgKGVmZmVjdHMgKGZvbnQgKHNpemUgMS4yNyAxLjI3KSkpKQogICAgKHByb3BlcnR5ICJWYWx1ZSIgIkFET01fVkVSQlRFU1QiIChhdCAwIC01LjA4IDApIChlZmZlY3RzIChmb250IChzaXplIDEuMjcgMS4yNykpKSkKICAgIChzeW1ib2wgIkFET01fVkVSQlRFU1RfMF8xIiAocmVjdGFuZ2xlIChzdGFydCAtNS4wOCAyLjU0KSAoZW5kIDUuMDggLTIuNTQpCiAgICAgIChzdHJva2UgKHdpZHRoIDAuMjU0KSAodHlwZSBkZWZhdWx0KSkgKGZpbGwgKHR5cGUgYmFja2dyb3VuZCkpKSkKICAgIChzeW1ib2wgIkFET01fVkVSQlRFU1RfMV8xIgogICAgICAocGluIHBhc3NpdmUgbGluZSAoYXQgLTcuNjIgMCAwKSAobGVuZ3RoIDIuNTQpIChuYW1lICJBIiAoZWZmZWN0cyAoZm9udCAoc2l6ZSAxLjI3IDEuMjcpKSkpIChudW1iZXIgIjEiIChlZmZlY3RzIChmb250IChzaXplIDEuMjcgMS4yNykpKSkpCiAgICAgIChwaW4gcGFzc2l2ZSBsaW5lIChhdCA3LjYyIDAgMTgwKSAobGVuZ3RoIDIuNTQpIChuYW1lICJCIiAoZWZmZWN0cyAoZm9udCAoc2l6ZSAxLjI3IDEuMjcpKSkpIChudW1iZXIgIjIiIChlZmZlY3RzIChmb250IChzaXplIDEuMjcgMS4yNykpKSkpKSkKKQo=",
      "symbolName": "ADOM_VERBTEST",
      "quietInstall": true
    },
    "response": {
      "_foregroundHint": "Window opened in the BACKGROUND - the user's foreground was not touched. To show it to the user: re-call with foreground:true AND foregroundReason:'<why the user needs to see this>'. The bridge captions the reason via an ab toast for 3 seconds, then brings the window forward. Foreground without a reason is refused.",
      "_hint": "WARNING: KiCad may show modal dialogs (save prompts, file warnings, format errors) that block further commands. ALWAYS check kicad_window_info for hasModalDialogs after this command. If true, use kicad_screenshot_all to capture ALL windows including dialogs, pull_file to get screenshots to Docker, then read the dialog screenshot to decide how to handle it (force close, dismiss, retry).",
      "_timeoutHint": "ab waits up to 130s for this verb before the request times out. If it's a long operation (cloud open / download / export), DON'T treat a timeout as failure \u2014 the work usually keeps running on the bridge. Poll `kicad_status` until it reports done.",
      "_userFocusRestored": false,
      "bridgeVersion": "0.9.342",
      "durationMs": 3909,
      "editorOpened": false,
      "error": "",
      "installedPath": "C:/Users/john/Documents/KiCad/10.0/symbols/Adom.kicad_sym",
      "kicadParser": {
        "available": true,
        "ok": true,
        "symbols": [
          "ADOM_VERBTEST",
          "AdomDemo_IC",
          "AdomDemo_R",
          "CR0402-FX-1002GLF",
          "CR0402_COPY",
          "RAYTEST_A",
          "RAYTEST_B",
          "RAYTEST_C",
          "RAYTEST_D",
          "RAYTEST_E",
          "RAYTEST_F",
          "RAYTEST_G",
          "RAYTEST_H",
          "RAYTEST_I",
          "STM32G431C_6-8-B_Tx"
        ],
        "units": 15
      },
      "kicadVersionUsed": "10.0",
      "libraryName": "Adom",
      "openedInBackground": true,
      "output": "Symbol(s) ADOM_VERBTEST added to 'Adom' library",
      "schemaVersion": 1,
      "status": "ok",
      "statusVerb": "kicad_status",
      "success": true,
      "symbolNames": [
        "ADOM_VERBTEST"
      ],
      "timeoutSeconds": 130,
      "windowEtiquette": "background"
    }
  },
  {
    "verb": "kicad_install_footprint",
    "args": {
      "fileName": "ADOM_VERBTEST.kicad_mod",
      "fileContent": "KGZvb3RwcmludCAiQURPTV9WRVJCVEVTVCIgKHZlcnNpb24gMjAyNDAxMDgpIChnZW5lcmF0b3IgInZlcmJ0ZXN0IikKICAobGF5ZXIgIkYuQ3UiKQogIChhdHRyIHNtZCkKICAoZnBfdGV4dCByZWZlcmVuY2UgIlJFRioqIiAoYXQgMCAtMikgKGxheWVyICJGLlNpbGtTIikgKGVmZmVjdHMgKGZvbnQgKHNpemUgMSAxKSAodGhpY2tuZXNzIDAuMTUpKSkpCiAgKGZwX3RleHQgdmFsdWUgIkFET01fVkVSQlRFU1QiIChhdCAwIDIpIChsYXllciAiRi5GYWIiKSAoZWZmZWN0cyAoZm9udCAoc2l6ZSAxIDEpICh0aGlja25lc3MgMC4xNSkpKSkKICAocGFkICIxIiBzbWQgcm91bmRyZWN0IChhdCAtMSAwKSAoc2l6ZSAxIDEuMikgKGxheWVycyAiRi5DdSIgIkYuUGFzdGUiICJGLk1hc2siKSAocm91bmRyZWN0X3JyYXRpbyAwLjI1KSkKICAocGFkICIyIiBzbWQgcm91bmRyZWN0IChhdCAxIDApIChzaXplIDEgMS4yKSAobGF5ZXJzICJGLkN1IiAiRi5QYXN0ZSIgIkYuTWFzayIpIChyb3VuZHJlY3RfcnJhdGlvIDAuMjUpKSk=",
      "footprintName": "ADOM_VERBTEST",
      "quietInstall": true
    },
    "response": {
      "_foregroundHint": "Window opened in the BACKGROUND - the user's foreground was not touched. To show it to the user: re-call with foreground:true AND foregroundReason:'<why the user needs to see this>'. The bridge captions the reason via an ab toast for 3 seconds, then brings the window forward. Foreground without a reason is refused.",
      "_hint": "WARNING: KiCad may show modal dialogs (save prompts, file warnings, format errors) that block further commands. ALWAYS check kicad_window_info for hasModalDialogs after this command. If true, use kicad_screenshot_all to capture ALL windows including dialogs, pull_file to get screenshots to Docker, then read the dialog screenshot to decide how to handle it (force close, dismiss, retry).",
      "_timeoutHint": "ab waits up to 130s for this verb before the request times out. If it's a long operation (cloud open / download / export), DON'T treat a timeout as failure \u2014 the work usually keeps running on the bridge. Poll `kicad_status` until it reports done.",
      "_userFocusRestored": false,
      "bridgeVersion": "0.9.342",
      "durationMs": 2944,
      "editorOpened": false,
      "error": "",
      "existedBefore": false,
      "footprintName": "ADOM_VERBTEST",
      "installedPath": "C:/Users/john/Documents/KiCad/10.0/footprints/Adom.pretty/ADOM_VERBTEST.kicad_mod",
      "kicadVersionUsed": "10.0",
      "libraryName": "Adom",
      "model3d": null,
      "openedInBackground": true,
      "output": "Footprint 'ADOM_VERBTEST' installed to 'Adom' library",
      "schemaVersion": 1,
      "status": "ok",
      "statusVerb": "kicad_status",
      "success": true,
      "timeoutSeconds": 130,
      "unchanged": false,
      "windowEtiquette": "background"
    }
  },
  {
    "verb": "kicad_export_part",
    "args": {
      "partName": "ADOM_VERBTEST",
      "what": [
        "symbol",
        "footprint"
      ]
    },
    "response": {
      "_hint": "Each file is a standalone single-entry library: the .kicad_sym holds ONLY this symbol (open with kicad_show_symbol after installing, or any KiCad), the .pretty holds ONLY this footprint, the model file is the bare 3D body. The reverse of install \u2014 proves per-asset round-trip. Pull them with ab pull_file.",
      "_timeoutHint": "ab waits up to 130s for this verb before the request times out. If it's a long operation (cloud open / download / export), DON'T treat a timeout as failure \u2014 the work usually keeps running on the bridge. Poll `kicad_status` until it reports done.",
      "_userFocusRestored": false,
      "bridgeVersion": "0.9.342",
      "durationMs": 288,
      "error": "",
      "errors": [],
      "exports": {
        "footprint": {
          "footprintsInLibrary": [
            "ADOM_VERBTEST.kicad_mod"
          ],
          "library": "C:/Users/john/Documents/adom-part-exports/ADOM_VERBTEST/ADOM_VERBTEST-footprint-only.pretty",
          "path": "C:/Users/john/Documents/adom-part-exports/ADOM_VERBTEST/ADOM_VERBTEST-footprint-only.pretty/ADOM_VERBTEST.kicad_mod",
          "single": true
        },
        "symbol": {
          "path": "C:/Users/john/Documents/adom-part-exports/ADOM_VERBTEST/ADOM_VERBTEST-symbol-only.kicad_sym",
          "single": true,
          "symbolsInLibrary": [
            "ADOM_VERBTEST"
          ]
        }
      },
      "kicadVersionUsed": "10.0",
      "output": "one-off exports for ADOM_VERBTEST: footprint, symbol",
      "outputDir": "C:/Users/john/Documents/adom-part-exports/ADOM_VERBTEST",
      "partName": "ADOM_VERBTEST",
      "progress": {
        "confidence": "typical",
        "elapsedSec": 0.1,
        "estimatedSec": 0.1,
        "etaSec": 0.0,
        "measured": {
          "phase": "kicad.export",
          "seconds": 0.12,
          "startKind": "cold"
        },
        "percent": 100,
        "phase": "kicad.export",
        "startKind": "cold",
        "stepLabel": "done"
      },
      "schemaVersion": 1,
      "status": "ok",
      "statusVerb": "kicad_status",
      "success": true,
      "timeoutSeconds": 130
    }
  },
  {
    "verb": "kicad_uninstall",
    "args": {
      "testResidue": true
    },
    "response": {
      "_hint": "Suite residue only \u2014 plugin, Adom libraries, KiCad and user files untouched. Run after every verb-suite pass; idempotent.",
      "_timeoutHint": "ab waits up to 130s for this verb before the request times out. If it's a long operation (cloud open / download / export), DON'T treat a timeout as failure \u2014 the work usually keeps running on the bridge. Poll `kicad_status` until it reports done.",
      "_userFocusRestored": false,
      "alreadyClean": false,
      "bridgeVersion": "0.9.342",
      "dryRun": false,
      "durationMs": 210,
      "error": "",
      "failed": [],
      "kicadVersionUsed": "10.0",
      "output": "",
      "removed": [
        "test footprint: C:\\Users\\john\\Documents\\KiCad\\10.0\\footprints\\Adom.pretty\\ADOM_VERBTEST.kicad_mod",
        "ADOM_VERBTEST symbol in C:\\Users\\john\\Documents\\KiCad\\10.0\\symbols\\Adom.kicad_sym"
      ],
      "schemaVersion": 1,
      "status": "ok",
      "statusVerb": "kicad_status",
      "success": true,
      "summary": "removed 2 test-residue item(s), 0 failed",
      "testResidue": true,
      "timeoutSeconds": 130
    }
  }
]