{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:176be373-6fd3-4a27-b1c1-f960402110a6",
  "version": 1,
  "metadata": {
    "timestamp": "2026-10-13T08:25:56Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.5",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.5",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.5",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "hub-ui",
      "group": "@devframes",
      "version": "1.2.3",
      "description": "Reference UI for the devframe hub, providing the floating dock and standalone viewer.",
      "purl": "pkg:npm/%40devframes/hub-ui@1.2.3",
      "bom-ref": "pkg:npm/@devframes/hub-ui@1.2.3",
      "author": "Anthony Fu <anthonyfu117@hotmail.com>",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "build, build:css, build:node, build:embedded, build:standalone, dev, typecheck, prepack, storybook, build-storybook"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "build, build:css, build:node, build:embedded, build:standalone, build-storybook"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "type": "application",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/devframes/devframe#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/devframes/devframe.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@antfu\\n@devframes\\n@iconify-json\\n@storybook\\n@types\\n@unocss\\n@vitejs\\n@vueuse"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@antfu/design/package.json\\nnode_modules/@devframes/hub/package.json\\nnode_modules/@devframes/json-render/package.json\\nnode_modules/@devframes/plugin-git/package.json\\nnode_modules/@iconify-json/ph/package.json\\nnode_modules/@storybook/addon-docs/package.json\\nnode_modules/@storybook/vue3-vite/package.json\\nnode_modules/@types/node/package.json\\nnode_modules/@unocss/reset/package.json\\nnode_modules/@vitejs/plugin-vue/package.json\\nnode_modules/@vueuse/core/package.json\\nnode_modules/devframe/package.json\\nnode_modules/dompurify/package.json\\nnode_modules/fuse.js/package.json\\nnode_modules/iframe-pane/package.json\\nnode_modules/storybook/package.json\\nnode_modules/tsdown/package.json\\nnode_modules/tsx/package.json\\nnode_modules/unocss/package.json\\nnode_modules/vite/package.json\\nnode_modules/vue-afloat/package.json\\nnode_modules/vue/package.json"
      }
    ]
  },
  "components": [
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "",
      "name": "vue-afloat",
      "version": "0.2.0",
      "description": "Tooltips, popovers, dropdown, menus... for Vue",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/vue-afloat@0.2.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/antfu/vue-afloat#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/antfu/vue-afloat.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/vue-afloat@0.2.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/vue-afloat/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/vue-afloat/package.json"
              }
            ],
            "concludedValue": "node_modules/vue-afloat/package.json"
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "authors": [
        {
          "name": "Evan You"
        }
      ],
      "group": "",
      "name": "vue",
      "version": "3.5.43",
      "description": "The progressive JavaScript framework for building modern web UI.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/vue@3.5.43",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://vuejs.org/"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vuejs/core.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/vue@3.5.43",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/vue/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "vue,watchEffect,vue/watchEffect,VueElementConstructor,vue/VueElementConstructor,defineCustomElement,vue/defineCustomElement,defineComponent,vue/defineComponent,vue/h,onMounted,vue/onMounted,vue/ref,computed,vue/computed,shallowRef,vue/shallowRef,PropType,vue/PropType,VNode,vue/VNode,nextTick,vue/nextTick,onUpdated,vue/onUpdated,reactive,vue/reactive,Teleport,vue/Teleport,useTemplateRef,vue/useTemplateRef,watch,vue/watch,onScopeDispose,vue/onScopeDispose,vue/Ref,ShallowRef,vue/ShallowRef,markRaw,vue/markRaw,toRefs,vue/toRefs,Reactive,vue/Reactive,ComputedRef,vue/ComputedRef,Suspense,vue/Suspense,CSSProperties,vue/CSSProperties,watchPostEffect,vue/watchPostEffect,ComponentPublicInstance,vue/ComponentPublicInstance,onUnmounted,vue/onUnmounted,onBeforeUnmount,vue/onBeforeUnmount,useId,vue/useId"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/vue/package.json"
              }
            ],
            "concludedValue": "node_modules/vue/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "playground/main.ts",
            "line": 4
          },
          {
            "location": "playground/main.ts",
            "line": 29
          },
          {
            "location": "src/client/components/DockEmbedded.ts",
            "line": 2
          },
          {
            "location": "src/client/components/DockEmbedded.ts",
            "line": 4
          },
          {
            "location": "src/client/components/DockEmbedded.ts",
            "line": 8
          },
          {
            "location": "src/client/components/DockStandalone.ts",
            "line": 2
          },
          {
            "location": "src/client/components/DockStandalone.ts",
            "line": 3
          },
          {
            "location": "src/client/components/DockStandalone.ts",
            "line": 7
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.stories.ts",
            "line": 37
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.stories.ts",
            "line": 39
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.stories.ts",
            "line": 42
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.stories.ts",
            "line": 59
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.stories.ts",
            "line": 61
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.stories.ts",
            "line": 64
          },
          {
            "location": "src/client/components/display/Confirm.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/display/Confirm.stories.ts",
            "line": 30
          },
          {
            "location": "src/client/components/display/Confirm.stories.ts",
            "line": 33
          },
          {
            "location": "src/client/components/display/HashBadge.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/display/HashBadge.stories.ts",
            "line": 28
          },
          {
            "location": "src/client/components/display/HashBadge.stories.ts",
            "line": 29
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 7
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 9
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 10
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 11
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 12
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 36
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 41
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 46
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 51
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 56
          },
          {
            "location": "src/client/components/display/ToastOverlay.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/display/ToastOverlay.stories.ts",
            "line": 31
          },
          {
            "location": "src/client/components/display/ToastOverlay.stories.ts",
            "line": 36
          },
          {
            "location": "src/client/components/display/ToastOverlay.stories.ts",
            "line": 45
          },
          {
            "location": "src/client/components/display/ToastOverlay.stories.ts",
            "line": 56
          },
          {
            "location": "src/client/components/dock/Dock.stories.ts",
            "line": 4
          },
          {
            "location": "src/client/components/dock/Dock.stories.ts",
            "line": 64
          },
          {
            "location": "src/client/components/dock/DockContextMenu.ts",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockContextMenu.ts",
            "line": 18
          },
          {
            "location": "src/client/components/dock/DockContextMenu.ts",
            "line": 22
          },
          {
            "location": "src/client/components/dock/DockContextMenu.ts",
            "line": 23
          },
          {
            "location": "src/client/components/dock/DockContextMenu.ts",
            "line": 134
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 12
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 13
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 14
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 52
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 53
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 90
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 91
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 119
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 120
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 136
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 137
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 154
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 155
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 159
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 163
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 164
          },
          {
            "location": "src/client/components/dock/DockEmbedded.stories.ts",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockEmbedded.stories.ts",
            "line": 39
          },
          {
            "location": "src/client/components/dock/DockEmbedded.stories.ts",
            "line": 49
          },
          {
            "location": "src/client/components/dock/DockEmbedded.stories.ts",
            "line": 63
          },
          {
            "location": "src/client/components/dock/DockEmbedded.stories.ts",
            "line": 73
          },
          {
            "location": "src/client/components/dock/DockEmbedded.stories.ts",
            "line": 83
          },
          {
            "location": "src/client/components/dock/DockEntriesWithCategories.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockEntriesWithCategories.stories.ts",
            "line": 9
          },
          {
            "location": "src/client/components/dock/DockEntriesWithCategories.stories.ts",
            "line": 34
          },
          {
            "location": "src/client/components/dock/DockEntriesWithCategories.stories.ts",
            "line": 53
          },
          {
            "location": "src/client/components/dock/DockEntriesWithCategories.stories.ts",
            "line": 69
          },
          {
            "location": "src/client/components/dock/DockEntry.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockEntry.stories.ts",
            "line": 21
          },
          {
            "location": "src/client/components/dock/DockEntry.stories.ts",
            "line": 39
          },
          {
            "location": "src/client/components/dock/DockEntry.stories.ts",
            "line": 84
          },
          {
            "location": "src/client/components/dock/DockEntry.stories.ts",
            "line": 85
          },
          {
            "location": "src/client/components/dock/DockEntry.stories.ts",
            "line": 86
          },
          {
            "location": "src/client/components/dock/DockEntry.stories.ts",
            "line": 87
          },
          {
            "location": "src/client/components/dock/DockEntry.stories.ts",
            "line": 88
          },
          {
            "location": "src/client/components/dock/DockEntry.stories.ts",
            "line": 89
          },
          {
            "location": "src/client/components/dock/DockEntry.stories.ts",
            "line": 90
          },
          {
            "location": "src/client/components/dock/DockGroupButton.stories.ts",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockGroupButton.stories.ts",
            "line": 13
          },
          {
            "location": "src/client/components/dock/DockGroupButton.stories.ts",
            "line": 42
          },
          {
            "location": "src/client/components/dock/DockGroupButton.stories.ts",
            "line": 49
          },
          {
            "location": "src/client/components/dock/DockGroupButton.stories.ts",
            "line": 65
          },
          {
            "location": "src/client/components/dock/DockGroupButton.stories.ts",
            "line": 72
          },
          {
            "location": "src/client/components/dock/DockGroupButton.stories.ts",
            "line": 84
          },
          {
            "location": "src/client/components/dock/DockGroupButton.stories.ts",
            "line": 91
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.stories.ts",
            "line": 4
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.stories.ts",
            "line": 18
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.stories.ts",
            "line": 35
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.stories.ts",
            "line": 51
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.stories.ts",
            "line": 67
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.stories.ts",
            "line": 83
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.stories.ts",
            "line": 99
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.stories.ts",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.stories.ts",
            "line": 12
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.stories.ts",
            "line": 14
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.stories.ts",
            "line": 35
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.stories.ts",
            "line": 49
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.stories.ts",
            "line": 68
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.stories.ts",
            "line": 10
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.stories.ts",
            "line": 37
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.stories.ts",
            "line": 44
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 10
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 11
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 12
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 39
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 53
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 67
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 82
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 83
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 87
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 91
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 92
          },
          {
            "location": "src/client/components/dock/DockStandalone.stories.ts",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockStandalone.stories.ts",
            "line": 40
          },
          {
            "location": "src/client/components/dock/DockStandalone.stories.ts",
            "line": 50
          },
          {
            "location": "src/client/components/dock/DockStandalone.stories.ts",
            "line": 60
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 12
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 14
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 15
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 16
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 20
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 21
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 25
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 54
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 55
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 57
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 68
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 70
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 71
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 72
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 73
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 74
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 76
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 79
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 80
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 85
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 104
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 106
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 107
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 108
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 109
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 110
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 112
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 115
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 116
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 120
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 121
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 127
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 139
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 149
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 151
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 152
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 154
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 156
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 162
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 163
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 168
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 2
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 5
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 10
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 34
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 35
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 36
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 38
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 44
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 48
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 58
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 63
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 67
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 96
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 117
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 132
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 163
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 169
          },
          {
            "location": "src/client/components/icons/Brand.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/icons/Brand.stories.ts",
            "line": 31
          },
          {
            "location": "src/client/components/icons/Brand.stories.ts",
            "line": 37
          },
          {
            "location": "src/client/components/icons/Brand.stories.ts",
            "line": 52
          },
          {
            "location": "src/client/components/icons/Brand.stories.ts",
            "line": 53
          },
          {
            "location": "src/client/components/icons/Brand.stories.ts",
            "line": 54
          },
          {
            "location": "src/client/components/icons/Brand.stories.ts",
            "line": 55
          },
          {
            "location": "src/client/components/icons/Brand.stories.ts",
            "line": 56
          },
          {
            "location": "src/client/components/icons/Brand.stories.ts",
            "line": 57
          },
          {
            "location": "src/client/components/icons/Brand.stories.ts",
            "line": 58
          },
          {
            "location": "src/client/components/message/MessageItem.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/message/MessageItem.stories.ts",
            "line": 24
          },
          {
            "location": "src/client/components/message/MessageItem.stories.ts",
            "line": 28
          },
          {
            "location": "src/client/components/message/MessageItem.stories.ts",
            "line": 33
          },
          {
            "location": "src/client/components/message/MessageItem.stories.ts",
            "line": 39
          },
          {
            "location": "src/client/components/views/ViewAssetsError.stories.ts",
            "line": 3
          },
          {
            "location": "src/client/components/views/ViewAssetsError.stories.ts",
            "line": 16
          },
          {
            "location": "src/client/components/views/ViewAssetsError.stories.ts",
            "line": 37
          },
          {
            "location": "src/client/components/views/ViewAssetsError.stories.ts",
            "line": 47
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.stories.ts",
            "line": 3
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.stories.ts",
            "line": 18
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.stories.ts",
            "line": 41
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.stories.ts",
            "line": 52
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.stories.ts",
            "line": 68
          },
          {
            "location": "src/client/components/views/ViewIframeLoading.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/views/ViewIframeLoading.stories.ts",
            "line": 8
          },
          {
            "location": "src/client/components/views/ViewIframeLoading.stories.ts",
            "line": 29
          },
          {
            "location": "src/client/components/views/ViewLauncher.stories.ts",
            "line": 3
          },
          {
            "location": "src/client/components/views/ViewLauncher.stories.ts",
            "line": 26
          },
          {
            "location": "src/client/components/views/ViewLauncher.stories.ts",
            "line": 51
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.stories.ts",
            "line": 26
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.stories.ts",
            "line": 3
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.stories.ts",
            "line": 16
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.stories.ts",
            "line": 40
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.stories.ts",
            "line": 50
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.stories.ts",
            "line": 66
          },
          {
            "location": "src/client/embedded/index.ts",
            "line": 4
          },
          {
            "location": "src/client/embedded/index.ts",
            "line": 79
          },
          {
            "location": "src/client/standalone/main.ts",
            "line": 4
          },
          {
            "location": "src/client/standalone/main.ts",
            "line": 22
          },
          {
            "location": "src/client/state/branding.ts",
            "line": 1
          },
          {
            "location": "src/client/state/branding.ts",
            "line": 3
          },
          {
            "location": "src/client/state/branding.ts",
            "line": 34
          },
          {
            "location": "src/client/state/branding.ts",
            "line": 49
          },
          {
            "location": "src/client/state/branding.ts",
            "line": 54
          },
          {
            "location": "src/client/state/color-mode.ts",
            "line": 2
          },
          {
            "location": "src/client/state/color-mode.ts",
            "line": 22
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 5
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 7
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 30
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 34
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 36
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 39
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 55
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 60
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 126
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 132
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 183
          },
          {
            "location": "src/client/state/context.ts",
            "line": 5
          },
          {
            "location": "src/client/state/context.ts",
            "line": 11
          },
          {
            "location": "src/client/state/context.ts",
            "line": 30
          },
          {
            "location": "src/client/state/context.ts",
            "line": 57
          },
          {
            "location": "src/client/state/context.ts",
            "line": 58
          },
          {
            "location": "src/client/state/context.ts",
            "line": 90
          },
          {
            "location": "src/client/state/context.ts",
            "line": 100
          },
          {
            "location": "src/client/state/context.ts",
            "line": 106
          },
          {
            "location": "src/client/state/context.ts",
            "line": 112
          },
          {
            "location": "src/client/state/context.ts",
            "line": 119
          },
          {
            "location": "src/client/state/context.ts",
            "line": 127
          },
          {
            "location": "src/client/state/context.ts",
            "line": 128
          },
          {
            "location": "src/client/state/context.ts",
            "line": 178
          },
          {
            "location": "src/client/state/context.ts",
            "line": 195
          },
          {
            "location": "src/client/state/context.ts",
            "line": 236
          },
          {
            "location": "src/client/state/context.ts",
            "line": 237
          },
          {
            "location": "src/client/state/context.ts",
            "line": 409
          },
          {
            "location": "src/client/state/context.ts",
            "line": 458
          },
          {
            "location": "src/client/state/context.ts",
            "line": 469
          },
          {
            "location": "src/client/state/context.ts",
            "line": 563
          },
          {
            "location": "src/client/state/context.ts",
            "line": 659
          },
          {
            "location": "src/client/state/context.ts",
            "line": 675
          },
          {
            "location": "src/client/state/context.ts",
            "line": 680
          },
          {
            "location": "src/client/state/context.ts",
            "line": 688
          },
          {
            "location": "src/client/state/context.ts",
            "line": 713
          },
          {
            "location": "src/client/state/context.ts",
            "line": 717
          },
          {
            "location": "src/client/state/context.ts",
            "line": 769
          },
          {
            "location": "src/client/state/context.ts",
            "line": 787
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 4
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 6
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 42
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 48
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 51
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 64
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 73
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 86
          },
          {
            "location": "src/client/state/floating-tooltip.ts",
            "line": 1
          },
          {
            "location": "src/client/state/floating-tooltip.ts",
            "line": 2
          },
          {
            "location": "src/client/state/floating-tooltip.ts",
            "line": 11
          },
          {
            "location": "src/client/state/floating-tooltip.ts",
            "line": 12
          },
          {
            "location": "src/client/state/floating-tooltip.ts",
            "line": 13
          },
          {
            "location": "src/client/state/floating-tooltip.ts",
            "line": 14
          },
          {
            "location": "src/client/state/floating-tooltip.ts",
            "line": 46
          },
          {
            "location": "src/client/state/floating-tooltip.ts",
            "line": 64
          },
          {
            "location": "src/client/state/locale.ts",
            "line": 4
          },
          {
            "location": "src/client/state/locale.ts",
            "line": 15
          },
          {
            "location": "src/client/state/messages.ts",
            "line": 3
          },
          {
            "location": "src/client/state/messages.ts",
            "line": 4
          },
          {
            "location": "src/client/state/messages.ts",
            "line": 27
          },
          {
            "location": "src/client/state/popup.ts",
            "line": 3
          },
          {
            "location": "src/client/state/popup.ts",
            "line": 24
          },
          {
            "location": "src/client/state/popup.ts",
            "line": 25
          },
          {
            "location": "src/client/state/popup.ts",
            "line": 56
          },
          {
            "location": "src/client/state/settings-defaults.ts",
            "line": 3
          },
          {
            "location": "src/client/state/settings-defaults.ts",
            "line": 4
          },
          {
            "location": "src/client/state/settings-defaults.ts",
            "line": 80
          },
          {
            "location": "src/client/state/toasts.ts",
            "line": 2
          },
          {
            "location": "src/client/state/toasts.ts",
            "line": 3
          },
          {
            "location": "src/client/state/toasts.ts",
            "line": 10
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 6
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 130
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 131
          },
          {
            "location": "src/client/stories/story-helpers.ts",
            "line": 3
          },
          {
            "location": "src/client/stories/story-helpers.ts",
            "line": 29
          },
          {
            "location": "src/client/stories/story-helpers.ts",
            "line": 37
          },
          {
            "location": "src/client/stories/story-helpers.ts",
            "line": 41
          },
          {
            "location": "src/client/stories/story-helpers.ts",
            "line": 42
          },
          {
            "location": "src/client/stories/story-helpers.ts",
            "line": 53
          },
          {
            "location": "src/client/utils/accent-color.ts",
            "line": 1
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 4
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 6
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 30
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 32
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 36
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 44
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 59
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 64
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 77
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 80
          },
          {
            "location": "src/client/utils/useIsRpcTrusted.ts",
            "line": 2
          },
          {
            "location": "src/client/utils/useIsRpcTrusted.ts",
            "line": 3
          },
          {
            "location": "src/client/utils/useIsRpcTrusted.ts",
            "line": 18
          },
          {
            "location": "src/client/utils/useIsRpcTrusted.ts",
            "line": 23
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 6
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 16
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 17
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 18
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 23
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 24
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 25
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 26
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 27
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 30
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 32
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 37
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 46
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 47
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 54
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 60
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 66
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 81
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 88
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 103
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 111
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 140
          },
          {
            "location": "src/client/components/display/Confirm.vue",
            "line": 3
          },
          {
            "location": "src/client/components/display/Confirm.vue",
            "line": 7
          },
          {
            "location": "src/client/components/display/Confirm.vue",
            "line": 9
          },
          {
            "location": "src/client/components/display/HashBadge.vue",
            "line": 2
          },
          {
            "location": "src/client/components/display/HashBadge.vue",
            "line": 9
          },
          {
            "location": "src/client/components/display/OtpInput.vue",
            "line": 2
          },
          {
            "location": "src/client/components/display/OtpInput.vue",
            "line": 3
          },
          {
            "location": "src/client/components/display/OtpInput.vue",
            "line": 31
          },
          {
            "location": "src/client/components/display/OtpInput.vue",
            "line": 34
          },
          {
            "location": "src/client/components/display/OtpInput.vue",
            "line": 45
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 6
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 38
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 53
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 63
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 64
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 66
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 67
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 69
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 73
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 74
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 96
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 105
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 113
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 117
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 126
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 138
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 181
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 211
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 217
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 233
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 242
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 261
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 7
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 32
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 34
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 37
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 39
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 40
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 43
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 44
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 45
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 47
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 69
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 76
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 77
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 78
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 90
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 108
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 150
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 151
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 172
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 173
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 174
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 201
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 202
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 209
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 210
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 239
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 297
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 381
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 396
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 411
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 418
          },
          {
            "location": "src/client/components/dock/DockEmbedded.vue",
            "line": 5
          },
          {
            "location": "src/client/components/dock/DockEmbedded.vue",
            "line": 52
          },
          {
            "location": "src/client/components/dock/DockEntries.vue",
            "line": 5
          },
          {
            "location": "src/client/components/dock/DockEntries.vue",
            "line": 25
          },
          {
            "location": "src/client/components/dock/DockEntry.vue",
            "line": 5
          },
          {
            "location": "src/client/components/dock/DockEntry.vue",
            "line": 39
          },
          {
            "location": "src/client/components/dock/DockEntry.vue",
            "line": 46
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 5
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 29
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 37
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 45
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 50
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 51
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 60
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 78
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.vue",
            "line": 4
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.vue",
            "line": 21
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 5
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 32
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 39
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 46
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 47
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 64
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 68
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 78
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 79
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 80
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 82
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 83
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 84
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 87
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 103
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 104
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 114
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 151
          },
          {
            "location": "src/client/components/dock/DockIcon.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockIcon.vue",
            "line": 11
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.vue",
            "line": 7
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.vue",
            "line": 26
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.vue",
            "line": 27
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.vue",
            "line": 34
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.vue",
            "line": 42
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.vue",
            "line": 55
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.vue",
            "line": 92
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 4
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 7
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 26
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 28
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 31
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 33
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 34
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 35
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 37
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 38
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 56
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 85
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 169
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 4
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 16
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 17
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 18
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 75
          },
          {
            "location": "src/client/components/dock/DockStandalone.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockStandalone.vue",
            "line": 24
          },
          {
            "location": "src/client/components/dock/DockStandalone.vue",
            "line": 34
          },
          {
            "location": "src/client/components/dock/DockStandalone.vue",
            "line": 47
          },
          {
            "location": "src/client/components/dock/DockStandalone.vue",
            "line": 48
          },
          {
            "location": "src/client/components/icons/DevframeLogo.vue",
            "line": 2
          },
          {
            "location": "src/client/components/icons/DevframeLogo.vue",
            "line": 8
          },
          {
            "location": "src/client/components/icons/IconifyIcon.vue",
            "line": 2
          },
          {
            "location": "src/client/components/icons/IconifyIcon.vue",
            "line": 3
          },
          {
            "location": "src/client/components/icons/IconifyIcon.vue",
            "line": 10
          },
          {
            "location": "src/client/components/icons/IconifyIcon.vue",
            "line": 11
          },
          {
            "location": "src/client/components/icons/IconifyIcon.vue",
            "line": 20
          },
          {
            "location": "src/client/components/icons/IconifyIcon.vue",
            "line": 21
          },
          {
            "location": "src/client/components/icons/IconifyIcon.vue",
            "line": 33
          },
          {
            "location": "src/client/components/icons/IconifyIcon.vue",
            "line": 34
          },
          {
            "location": "src/client/components/icons/IconifyIcon.vue",
            "line": 35
          },
          {
            "location": "src/client/components/views/ViewAssetsError.vue",
            "line": 5
          },
          {
            "location": "src/client/components/views/ViewAssetsError.vue",
            "line": 22
          },
          {
            "location": "src/client/components/views/ViewAssetsError.vue",
            "line": 23
          },
          {
            "location": "src/client/components/views/ViewAssetsError.vue",
            "line": 25
          },
          {
            "location": "src/client/components/views/ViewCustomRenderer.vue",
            "line": 5
          },
          {
            "location": "src/client/components/views/ViewCustomRenderer.vue",
            "line": 6
          },
          {
            "location": "src/client/components/views/ViewCustomRenderer.vue",
            "line": 15
          },
          {
            "location": "src/client/components/views/ViewCustomRenderer.vue",
            "line": 17
          },
          {
            "location": "src/client/components/views/ViewCustomRenderer.vue",
            "line": 31
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.vue",
            "line": 5
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.vue",
            "line": 23
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.vue",
            "line": 24
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.vue",
            "line": 25
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.vue",
            "line": 63
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.vue",
            "line": 66
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.vue",
            "line": 69
          },
          {
            "location": "src/client/components/views/ViewEntry.vue",
            "line": 5
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 6
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 9
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 24
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 25
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 26
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 30
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 31
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 34
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 41
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 47
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 50
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 51
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 54
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 55
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 56
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 64
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 66
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 71
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 81
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 89
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 90
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 91
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 97
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 163
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 217
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 237
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 264
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 282
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 302
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 317
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 322
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 7
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 20
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 21
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 25
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 49
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 51
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 52
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 73
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 75
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 89
          },
          {
            "location": "src/client/components/views-builtin/SettingsAppearance.vue",
            "line": 4
          },
          {
            "location": "src/client/components/views-builtin/SettingsAppearance.vue",
            "line": 23
          },
          {
            "location": "src/client/components/views-builtin/SettingsAppearance.vue",
            "line": 34
          },
          {
            "location": "src/client/components/views-builtin/SettingsAppearance.vue",
            "line": 36
          },
          {
            "location": "src/client/components/views-builtin/SettingsAppearance.vue",
            "line": 44
          },
          {
            "location": "src/client/components/views-builtin/SettingsDocks.vue",
            "line": 6
          },
          {
            "location": "src/client/components/views-builtin/SettingsDocks.vue",
            "line": 24
          },
          {
            "location": "src/client/components/views-builtin/SettingsDocks.vue",
            "line": 78
          },
          {
            "location": "src/client/components/views-builtin/SettingsDocks.vue",
            "line": 80
          },
          {
            "location": "src/client/components/views-builtin/SettingsDocks.vue",
            "line": 81
          },
          {
            "location": "src/client/components/views-builtin/SettingsDocks.vue",
            "line": 82
          },
          {
            "location": "src/client/components/views-builtin/SettingsDocks.vue",
            "line": 83
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 6
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 18
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 19
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 28
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 33
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 35
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 88
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 89
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 90
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 91
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 92
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 93
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 94
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 122
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 137
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 176
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 218
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 219
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 222
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.vue",
            "line": 4
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.vue",
            "line": 15
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.vue",
            "line": 19
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.vue",
            "line": 20
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.vue",
            "line": 21
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.vue",
            "line": 22
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.vue",
            "line": 23
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.vue",
            "line": 28
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.vue",
            "line": 52
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.vue",
            "line": 4
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.vue",
            "line": 16
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.vue",
            "line": 24
          }
        ]
      },
      "tags": [
        "framework",
        "web"
      ]
    },
    {
      "authors": [
        {
          "name": "Evan You"
        }
      ],
      "group": "",
      "name": "vite",
      "version": "8.3.3",
      "description": "Native-ESM powered web dev build tool",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/vite@8.3.3",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://vite.dev"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitejs/vite.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/vite@8.3.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/vite/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "vite,Plugin,vite/Plugin,ViteDevServer,vite/ViteDevServer,defineConfig,vite/defineConfig"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/vite/package.json"
              }
            ],
            "concludedValue": "node_modules/vite/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "playground/hub-plugin.ts",
            "line": 2
          },
          {
            "location": "playground/vite.config.ts",
            "line": 3
          },
          {
            "location": "playground/vite.config.ts",
            "line": 17
          },
          {
            "location": "src/client/standalone/vite.config.ts",
            "line": 3
          },
          {
            "location": "src/client/standalone/vite.config.ts",
            "line": 10
          }
        ]
      },
      "tags": [
        "web"
      ]
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "",
      "name": "unocss",
      "version": "66.10.5",
      "description": "The instant on-demand Atomic CSS engine.",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/unocss@66.10.5",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://unocss.dev"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/unocss/unocss.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/unocss@66.10.5",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/unocss/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/unocss/package.json"
              }
            ],
            "concludedValue": "node_modules/unocss/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Hiroki Osame <hiroki.osame@gmail.com>"
        }
      ],
      "group": "",
      "name": "tsx",
      "version": "4.23.15",
      "description": "TypeScript Execute (tsx): Node.js enhanced with esbuild to run TypeScript & ESM files",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/tsx@4.23.15",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://tsx.hirok.io"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tsx@4.23.15",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/tsx/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/tsx/package.json"
              }
            ],
            "concludedValue": "node_modules/tsx/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Kevin Deng <sxzz@sxzz.moe>"
        }
      ],
      "group": "",
      "name": "tsdown",
      "version": "0.23.0",
      "description": "The Elegant Bundler for Libraries",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/tsdown@0.23.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "http://tsdown.dev/"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/rolldown/tsdown.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tsdown@0.23.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/tsdown/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/tsdown/package.json"
              }
            ],
            "concludedValue": "node_modules/tsdown/package.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "storybook",
      "version": "10.6.1",
      "description": "Storybook: Develop, document, and test UI components in isolation",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/storybook@10.6.1",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://storybook.js.org"
        },
        {
          "type": "vcs",
          "url": "https://github.com/storybookjs/storybook.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/storybook@10.6.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/storybook/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/storybook/package.json"
              }
            ],
            "concludedValue": "node_modules/storybook/package.json"
          }
        ]
      },
      "tags": [
        "test"
      ]
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "",
      "name": "iframe-pane",
      "version": "1.1.0",
      "description": "Pane for manage and persistent iframes",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/iframe-pane@1.1.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/antfu/iframe-pane#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/antfu/iframe-pane.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/iframe-pane@1.1.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/iframe-pane/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "iframe-pane,IframePanes,iframe-pane/IframePanes,createIframePanes,iframe-pane/createIframePanes"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/iframe-pane/package.json"
              }
            ],
            "concludedValue": "node_modules/iframe-pane/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 3
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 5
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 36
          },
          {
            "location": "src/client/components/views/ViewCustomRenderer.vue",
            "line": 4
          },
          {
            "location": "src/client/components/views/ViewEntry.vue",
            "line": 4
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 5
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Kiro Risk <kirollos@gmail.com> (http://kiro.me)"
        }
      ],
      "group": "",
      "name": "fuse.js",
      "version": "7.5.0",
      "description": "Lightweight fuzzy-search",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "Apache-2.0",
            "url": "https://opensource.org/licenses/Apache-2.0",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/fuse.js@7.5.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "http://fusejs.io"
        },
        {
          "type": "vcs",
          "url": "https://github.com/krisk/Fuse.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/fuse.js@7.5.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/fuse.js/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "fuse.js"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/fuse.js/package.json"
              }
            ],
            "concludedValue": "node_modules/fuse.js/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 5
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Dr.-Ing. Mario Heiderich"
        },
        {
          "name": " Cure53 <mario@cure53.de> (https://cure53.de/)"
        }
      ],
      "group": "",
      "name": "dompurify",
      "version": "3.4.16",
      "description": "DOMPurify is a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. It runs as JavaScript and works in all modern browsers, as well as in Node.js (via jsdom). DOMPurify is written by security people who have vast background in web attacks and XSS. Fear not.",
      "scope": "required",
      "licenses": [
        {
          "expression": "MPL-2.0 OR Apache-2.0"
        }
      ],
      "purl": "pkg:npm/dompurify@3.4.16",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/cure53/DOMPurify"
        },
        {
          "type": "vcs",
          "url": "git://github.com/cure53/DOMPurify.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/dompurify@3.4.16",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/dompurify/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "dompurify"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/dompurify/package.json"
              }
            ],
            "concludedValue": "node_modules/dompurify/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/utils/iconify.ts",
            "line": 1
          },
          {
            "location": "src/client/utils/iconify.ts",
            "line": 5
          }
        ]
      },
      "tags": [
        "security",
        "web"
      ]
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "",
      "name": "devframe",
      "version": "1.2.3",
      "description": "Framework for building one portable devtool integration that runs in any viewer.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/devframe@1.2.3",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/devframes/devframe#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/devframes/devframe.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/devframe@1.2.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/devframe/package.json"
        },
        {
          "name": "ExportedModules",
          "value": "devframe/utils/when"
        },
        {
          "name": "ImportedModules",
          "value": "devframe/recipes/interactive-auth,createAuthBanner,devframe/recipes/interactive-auth/createAuthBanner,devframe/utils/colors,colors,devframe/utils/colors/colors,devframe/types,RemoteAssetsErrorMessage,devframe/types/RemoteAssetsErrorMessage,devframe/utils/shared-state,SharedState,devframe/utils/shared-state/SharedState,devframe/utils/when,WhenContext,devframe/utils/when/WhenContext,evaluateWhen,devframe/utils/when/evaluateWhen,devframe/constants,DEVFRAME_EVENTS,devframe/constants/DEVFRAME_EVENTS,devframe/utils/events,createEventEmitter,devframe/utils/events/createEventEmitter,Immutable,devframe/utils/shared-state/Immutable,createSharedState,devframe/utils/shared-state/createSharedState"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/devframe/package.json"
              }
            ],
            "concludedValue": "node_modules/devframe/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.mjs",
            "line": 4
          },
          {
            "location": "dist/index.mjs",
            "line": 79
          },
          {
            "location": "src/index.ts",
            "line": 7
          },
          {
            "location": "src/index.ts",
            "line": 132
          },
          {
            "location": "scripts/build-css.ts",
            "line": 4
          },
          {
            "location": "src/client/components/views/ViewAssetsError.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 3
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 4
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 6
          },
          {
            "location": "src/client/state/context.ts",
            "line": 3
          },
          {
            "location": "src/client/state/context.ts",
            "line": 4
          },
          {
            "location": "src/client/state/context.ts",
            "line": 9
          },
          {
            "location": "src/client/state/context.ts",
            "line": 10
          },
          {
            "location": "src/client/state/dock-settings.ts",
            "line": 2
          },
          {
            "location": "src/client/state/dock-settings.ts",
            "line": 3
          },
          {
            "location": "src/client/state/dock-settings.ts",
            "line": 5
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 3
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 5
          },
          {
            "location": "src/client/state/keybindings.ts",
            "line": 2
          },
          {
            "location": "src/client/state/keybindings.ts",
            "line": 3
          },
          {
            "location": "src/client/state/keybindings.ts",
            "line": 5
          },
          {
            "location": "src/client/state/popup.ts",
            "line": 2
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 4
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 5
          },
          {
            "location": "src/client/components/dock/DockEntries.vue",
            "line": 4
          },
          {
            "location": "src/client/components/views/ViewAssetsError.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 4
          },
          {
            "location": "scripts/build-css.ts",
            "line": 28
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 43
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 44
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 48
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 49
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 92
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 169
          },
          {
            "location": "src/client/state/dock-settings.ts",
            "line": 215
          },
          {
            "location": "src/client/state/dock-settings.ts",
            "line": 252
          },
          {
            "location": "src/client/state/keybindings.ts",
            "line": 149
          },
          {
            "location": "src/client/components/dock/DockEntries.vue",
            "line": 42
          },
          {
            "location": "src/client/components/dock/DockEntries.vue",
            "line": 46
          },
          {
            "location": "src/client/state/context.ts",
            "line": 179
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 41
          },
          {
            "location": "src/client/state/popup.ts",
            "line": 26
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 50
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <https://github.com/antfu>"
        }
      ],
      "group": "@vueuse",
      "name": "core",
      "version": "15.0.0",
      "description": "Collection of essential Vue Composition Utilities",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40vueuse/core@15.0.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/vueuse/vueuse#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vueuse/vueuse.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@vueuse/core@15.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@vueuse/core/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@vueuse/core,useLocalStorage,@vueuse/core/useLocalStorage,MaybeElementRef,@vueuse/core/MaybeElementRef,onClickOutside,@vueuse/core/onClickOutside,useDebounceFn,@vueuse/core/useDebounceFn,useEventListener,@vueuse/core/useEventListener,useSessionStorage,@vueuse/core/useSessionStorage,usePreferredDark,@vueuse/core/usePreferredDark,useStorage,@vueuse/core/useStorage,createTemplatePromise,@vueuse/core/createTemplatePromise,useScreenSafeArea,@vueuse/core/useScreenSafeArea,whenever,@vueuse/core/whenever,watchDebounced,@vueuse/core/watchDebounced,useElementBounding,@vueuse/core/useElementBounding,useWindowSize,@vueuse/core/useWindowSize,useTimeAgo,@vueuse/core/useTimeAgo,useDraggable,@vueuse/core/useDraggable"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@vueuse/core/package.json"
              }
            ],
            "concludedValue": "node_modules/@vueuse/core/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "playground/main.ts",
            "line": 3
          },
          {
            "location": "playground/main.ts",
            "line": 42
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 1
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 4
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 69
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 76
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 81
          },
          {
            "location": "src/client/components/floating/FloatingPopover.ts",
            "line": 91
          },
          {
            "location": "src/client/embedded/index.ts",
            "line": 3
          },
          {
            "location": "src/client/embedded/index.ts",
            "line": 50
          },
          {
            "location": "src/client/embedded/index.ts",
            "line": 67
          },
          {
            "location": "src/client/standalone/main.ts",
            "line": 3
          },
          {
            "location": "src/client/standalone/main.ts",
            "line": 50
          },
          {
            "location": "src/client/state/color-mode.ts",
            "line": 1
          },
          {
            "location": "src/client/state/color-mode.ts",
            "line": 14
          },
          {
            "location": "src/client/state/color-mode.ts",
            "line": 19
          },
          {
            "location": "src/client/state/confirm.ts",
            "line": 1
          },
          {
            "location": "src/client/state/confirm.ts",
            "line": 10
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 5
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 42
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 142
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 147
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 173
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 176
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 257
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 6
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 242
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 265
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 275
          },
          {
            "location": "src/client/components/dock/DockEmbedded.vue",
            "line": 4
          },
          {
            "location": "src/client/components/dock/DockEmbedded.vue",
            "line": 31
          },
          {
            "location": "src/client/components/dock/DockEntry.vue",
            "line": 4
          },
          {
            "location": "src/client/components/dock/DockEntry.vue",
            "line": 83
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 4
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 94
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 4
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 142
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.vue",
            "line": 6
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.vue",
            "line": 72
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 6
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 33
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 83
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 69
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 70
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 71
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 72
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 73
          },
          {
            "location": "src/client/components/floating/FloatingElements.vue",
            "line": 2
          },
          {
            "location": "src/client/components/floating/FloatingElements.vue",
            "line": 13
          },
          {
            "location": "src/client/components/message/MessageItem.vue",
            "line": 3
          },
          {
            "location": "src/client/components/message/MessageItem.vue",
            "line": 12
          },
          {
            "location": "src/client/components/views-builtin/SettingsDocks.vue",
            "line": 5
          },
          {
            "location": "src/client/components/views-builtin/SettingsDocks.vue",
            "line": 119
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Evan You"
        }
      ],
      "group": "@vitejs",
      "name": "plugin-vue",
      "version": "6.0.9",
      "description": "The official plugin for Vue SFC support in Vite.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40vitejs/plugin-vue@6.0.9",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitejs/vite-plugin-vue.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@vitejs/plugin-vue@6.0.9",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@vitejs/plugin-vue/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@vitejs/plugin-vue"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@vitejs/plugin-vue/package.json"
              }
            ],
            "concludedValue": "node_modules/@vitejs/plugin-vue/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "playground/vite.config.ts",
            "line": 2
          },
          {
            "location": "playground/vite.config.ts",
            "line": 26
          },
          {
            "location": "src/client/standalone/vite.config.ts",
            "line": 2
          },
          {
            "location": "src/client/standalone/vite.config.ts",
            "line": 13
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "@unocss",
      "name": "reset",
      "version": "66.10.5",
      "description": "Collection of CSS resetting",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40unocss/reset@66.10.5",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://unocss.dev"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/unocss/unocss.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@unocss/reset@66.10.5",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@unocss/reset/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@unocss/reset/package.json"
              }
            ],
            "concludedValue": "node_modules/@unocss/reset/package.json"
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "node",
      "version": "26.6.4",
      "description": "TypeScript definitions for node",
      "scope": "excluded",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40types/node@26.6.4",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node"
        },
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/node@26.6.4",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/node/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@types/node/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/node/package.json"
          }
        ]
      }
    },
    {
      "group": "@storybook",
      "name": "vue3-vite",
      "version": "10.6.1",
      "description": "Storybook for Vue3 and Vite: Develop, document, and test UI components in isolation",
      "scope": "excluded",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40storybook/vue3-vite@10.6.1",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-vite"
        },
        {
          "type": "vcs",
          "url": "https://github.com/storybookjs/storybook.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@storybook/vue3-vite@10.6.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@storybook/vue3-vite/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@storybook/vue3-vite,Meta,@storybook/vue3-vite/Meta,StoryObj,@storybook/vue3-vite/StoryObj"
        },
        {
          "name": "cdx:npm:package:type-only",
          "value": "true"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@storybook/vue3-vite/package.json"
              }
            ],
            "concludedValue": "node_modules/@storybook/vue3-vite/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/components/command-palette/CommandPalette.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/command-palette/CommandPaletteItem.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/display/Confirm.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/display/HashBadge.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/display/OtpInput.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/display/ToastOverlay.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/Dock.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockEmbedded.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockEntriesWithCategories.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockEntry.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockGroupButton.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockIcon.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockPanel.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockStandalone.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/floating/FloatingPopover.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/icons/Brand.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/message/MessageItem.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/views/ViewAssetsError.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/views/ViewIframeLoading.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/views/ViewLauncher.stories.ts",
            "line": 2
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.stories.ts",
            "line": 2
          }
        ]
      },
      "tags": [
        "test"
      ]
    },
    {
      "group": "@storybook",
      "name": "addon-docs",
      "version": "10.6.1",
      "description": "Storybook Docs: Document UI components automatically with stories and MDX",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40storybook/addon-docs@10.6.1",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/storybookjs/storybook/tree/next/code/addons/docs"
        },
        {
          "type": "vcs",
          "url": "https://github.com/storybookjs/storybook.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@storybook/addon-docs@10.6.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@storybook/addon-docs/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@storybook/addon-docs/package.json"
              }
            ],
            "concludedValue": "node_modules/@storybook/addon-docs/package.json"
          }
        ]
      }
    },
    {
      "group": "@iconify-json",
      "name": "ph",
      "version": "1.2.2",
      "description": "Phosphor icon set in Iconify JSON format",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40iconify-json/ph@1.2.2",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://icon-sets.iconify.design/ph/"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@iconify-json/ph@1.2.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@iconify-json/ph/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@iconify-json/ph/package.json"
              }
            ],
            "concludedValue": "node_modules/@iconify-json/ph/package.json"
          }
        ]
      },
      "tags": [
        "json"
      ]
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "@devframes",
      "name": "plugin-git",
      "version": "1.2.3",
      "description": "Devframe plugin that shows a Git dashboard for status, log, branches, and diffs.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40devframes/plugin-git@1.2.3",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/devframes/devframe#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/devframes/devframe.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@devframes/plugin-git@1.2.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@devframes/plugin-git/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@devframes/plugin-git"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@devframes/plugin-git/package.json"
              }
            ],
            "concludedValue": "node_modules/@devframes/plugin-git/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "playground/hub-plugin.ts",
            "line": 5
          },
          {
            "location": "playground/hub-plugin.ts",
            "line": 76
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "@devframes",
      "name": "json-render",
      "version": "1.2.3",
      "description": "Protocol layer for describing devframe views as JSON that any renderer can display.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40devframes/json-render@1.2.3",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/devframes/devframe#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/devframes/devframe.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@devframes/json-render@1.2.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@devframes/json-render/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@devframes/json-render/hub,DevframeJsonRenderDockEntry,@devframes/json-render/hub/DevframeJsonRenderDockEntry"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@devframes/json-render/package.json"
              }
            ],
            "concludedValue": "node_modules/@devframes/json-render/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/components/views/ViewDockRenderer.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/types.ts",
            "line": 5
          }
        ]
      },
      "tags": [
        "json"
      ]
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "@devframes",
      "name": "hub",
      "version": "1.2.3",
      "description": "Hub layer that orchestrates devframe docks, terminals, messages, and commands on any host.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40devframes/hub@1.2.3",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/devframes/devframe#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/devframes/devframe.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@devframes/hub@1.2.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@devframes/hub/package.json"
        },
        {
          "name": "ExportedModules",
          "value": "@devframes/hub/constants"
        },
        {
          "name": "ImportedModules",
          "value": "@devframes/hub/client,DockClientScriptContext,@devframes/hub/client/DockClientScriptContext,DockPanelStorage,@devframes/hub/client/DockPanelStorage,getDevframeRpcClient,@devframes/hub/client/getDevframeRpcClient,setDevframeClientContext,@devframes/hub/client/setDevframeClientContext,DocksContext,@devframes/hub/client/DocksContext,DockSessionStorage,@devframes/hub/client/DockSessionStorage,CommandsContext,@devframes/hub/client/CommandsContext,DevframeRpcClient,@devframes/hub/client/DevframeRpcClient,DevframeClientContext,@devframes/hub/client/DevframeClientContext,DockEntryState,@devframes/hub/client/DockEntryState,DockRegistration,@devframes/hub/client/DockRegistration,DockRendererManifest,@devframes/hub/client/DockRendererManifest,DocksPanelEvents,@devframes/hub/client/DocksPanelEvents,attachFrameNavClient,@devframes/hub/client/attachFrameNavClient,createDockRenderersContext,@devframes/hub/client/createDockRenderersContext,DockEntryStateEvents,@devframes/hub/client/DockEntryStateEvents,resolveTitle,@devframes/hub/client/resolveTitle,storeConnection,@devframes/hub/client/storeConnection,clientScriptFailureHint,@devframes/hub/client/clientScriptFailureHint,resolveClientModuleSpecifier,@devframes/hub/client/resolveClientModuleSpecifier,RpcClientEvents,@devframes/hub/client/RpcClientEvents,DocksPanelContext,@devframes/hub/client/DocksPanelContext,stripRemoteConnectionFromUrl,@devframes/hub/client/stripRemoteConnectionFromUrl,watchFrameLocation,@devframes/hub/client/watchFrameLocation,@devframes/hub/initiate,HubInstance,@devframes/hub/initiate/HubInstance,DEVFRAMES_HUB_BASE,@devframes/hub/initiate/DEVFRAMES_HUB_BASE,initHub,@devframes/hub/initiate/initHub,DevframeHubUi,@devframes/hub/initiate/DevframeHubUi,@devframes/hub,DevframeViewAction,@devframes/hub/DevframeViewAction,DevframeViewGroup,@devframes/hub/DevframeViewGroup,DevframeCommandEntry,@devframes/hub/DevframeCommandEntry,DevframeDockEntry,@devframes/hub/DevframeDockEntry,DevframeViewBuiltin,@devframes/hub/DevframeViewBuiltin,DevframeMessageLevel,@devframes/hub/DevframeMessageLevel,DevframeViewLauncher,@devframes/hub/DevframeViewLauncher,DevframeClientCommand,@devframes/hub/DevframeClientCommand,DevframeCommandKeybinding,@devframes/hub/DevframeCommandKeybinding,DevframeDocksUserSettings,@devframes/hub/DevframeDocksUserSettings,DevframeServerCommandEntry,@devframes/hub/DevframeServerCommandEntry,DevframeDockPanelState,@devframes/hub/DevframeDockPanelState,DevframeDockUserEntry,@devframes/hub/DevframeDockUserEntry,DevframeRpcClientFunctions,@devframes/hub/DevframeRpcClientFunctions,DevframeViewIframe,@devframes/hub/DevframeViewIframe,DevframeDockEntriesGrouped,@devframes/hub/DevframeDockEntriesGrouped,DevframeTitled,@devframes/hub/DevframeTitled,DevframeMessageEntryInput,@devframes/hub/DevframeMessageEntryInput,DevframeMessageHandle,@devframes/hub/DevframeMessageHandle,DevframeMessagesClient,@devframes/hub/DevframeMessagesClient,DevframeMessageEntry,@devframes/hub/DevframeMessageEntry,DevframeMessagesListDelta,@devframes/hub/DevframeMessagesListDelta,ClientScriptEntry,@devframes/hub/ClientScriptEntry,DevframeMessageAction,@devframes/hub/DevframeMessageAction,DevframeDockBadgeVariant,@devframes/hub/DevframeDockBadgeVariant,DevframeDockEntryBase,@devframes/hub/DevframeDockEntryBase,DevframeViewCustomRender,@devframes/hub/DevframeViewCustomRender,DevframeViewLauncherStatus,@devframes/hub/DevframeViewLauncherStatus,@devframes/hub/node,DevframeHubContext,@devframes/hub/node/DevframeHubContext,@devframes/hub/types,@devframes/hub/types/DevframeDockEntryBase,@devframes/hub/types/DevframeViewLauncher,@devframes/hub/constants,DEFAULT_STATE_USER_SETTINGS,@devframes/hub/constants/DEFAULT_STATE_USER_SETTINGS,DOCK_RENDERERS_STATE_KEY,@devframes/hub/constants/DOCK_RENDERERS_STATE_KEY,HUB_EVENTS,@devframes/hub/constants/HUB_EVENTS,DEVFRAME_REMOTE_ASSETS_ERROR_MESSAGE_TYPE,@devframes/hub/constants/DEVFRAME_REMOTE_ASSETS_ERROR_MESSAGE_TYPE"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@devframes/hub/package.json"
              }
            ],
            "concludedValue": "node_modules/@devframes/hub/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "playground/client-scripts/ping-action.ts",
            "line": 1
          },
          {
            "location": "playground/main.ts",
            "line": 1
          },
          {
            "location": "playground/main.ts",
            "line": 2
          },
          {
            "location": "playground/main.ts",
            "line": 37
          },
          {
            "location": "playground/main.ts",
            "line": 48
          },
          {
            "location": "playground/main.ts",
            "line": 55
          },
          {
            "location": "src/client/components/DockEmbedded.ts",
            "line": 1
          },
          {
            "location": "src/client/components/DockStandalone.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockContextMenu.ts",
            "line": 2
          },
          {
            "location": "src/client/embedded/index.ts",
            "line": 1
          },
          {
            "location": "src/client/embedded/index.ts",
            "line": 2
          },
          {
            "location": "src/client/embedded/index.ts",
            "line": 34
          },
          {
            "location": "src/client/embedded/index.ts",
            "line": 82
          },
          {
            "location": "src/client/standalone/main.ts",
            "line": 1
          },
          {
            "location": "src/client/standalone/main.ts",
            "line": 2
          },
          {
            "location": "src/client/standalone/main.ts",
            "line": 35
          },
          {
            "location": "src/client/standalone/main.ts",
            "line": 58
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 2
          },
          {
            "location": "src/client/state/context.ts",
            "line": 2
          },
          {
            "location": "src/client/state/context.ts",
            "line": 7
          },
          {
            "location": "src/client/state/context.ts",
            "line": 391
          },
          {
            "location": "src/client/state/context.ts",
            "line": 713
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 2
          },
          {
            "location": "src/client/state/locale.ts",
            "line": 2
          },
          {
            "location": "src/client/state/locale.ts",
            "line": 3
          },
          {
            "location": "src/client/state/locale.ts",
            "line": 18
          },
          {
            "location": "src/client/state/locale.ts",
            "line": 24
          },
          {
            "location": "src/client/state/messages-client.ts",
            "line": 2
          },
          {
            "location": "src/client/state/messages.ts",
            "line": 2
          },
          {
            "location": "src/client/state/popup.ts",
            "line": 1
          },
          {
            "location": "src/client/state/settings-defaults.ts",
            "line": 2
          },
          {
            "location": "src/client/state/setup-script.ts",
            "line": 2
          },
          {
            "location": "src/client/state/setup-script.ts",
            "line": 3
          },
          {
            "location": "src/client/state/setup-script.ts",
            "line": 25
          },
          {
            "location": "src/client/state/setup-script.ts",
            "line": 46
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 2
          },
          {
            "location": "src/client/stories/story-helpers.ts",
            "line": 1
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 2
          },
          {
            "location": "src/client/utils/useIsRpcTrusted.ts",
            "line": 1
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 3
          },
          {
            "location": "src/client/components/display/ToastOverlay.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/Dock.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockEdge.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockEmbedded.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockEntries.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockEntriesWithCategories.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockEntry.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockPanelResizer.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockStandalone.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views/ViewCustomRenderer.vue",
            "line": 3
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.vue",
            "line": 3
          },
          {
            "location": "src/client/components/views/ViewEntry.vue",
            "line": 3
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 3
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 7
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 98
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 206
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 247
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 3
          },
          {
            "location": "src/client/components/views-builtin/SettingsAdvanced.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views-builtin/SettingsAppearance.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views-builtin/SettingsDocks.vue",
            "line": 3
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 3
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.vue",
            "line": 3
          },
          {
            "location": "playground/hub-plugin.ts",
            "line": 1
          },
          {
            "location": "playground/hub-plugin.ts",
            "line": 4
          },
          {
            "location": "playground/hub-plugin.ts",
            "line": 49
          },
          {
            "location": "src/index.ts",
            "line": 1
          },
          {
            "location": "dist/index.d.mts",
            "line": 1
          },
          {
            "location": "playground/seed.ts",
            "line": 1
          },
          {
            "location": "src/client/components/command-palette/CommandPaletteItem.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockContextMenu.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockEdge.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockEmbedded.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockGroupButton.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockStandalone.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/message/MessageItemConstants.ts",
            "line": 1
          },
          {
            "location": "src/client/components/views/ViewLauncher.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.stories.ts",
            "line": 1
          },
          {
            "location": "src/client/constants.ts",
            "line": 1
          },
          {
            "location": "src/client/state/commands.ts",
            "line": 1
          },
          {
            "location": "src/client/state/context.ts",
            "line": 1
          },
          {
            "location": "src/client/state/dock-settings.ts",
            "line": 1
          },
          {
            "location": "src/client/state/docks.ts",
            "line": 1
          },
          {
            "location": "src/client/state/keybindings.ts",
            "line": 1
          },
          {
            "location": "src/client/state/locale.ts",
            "line": 1
          },
          {
            "location": "src/client/state/messages-client.ts",
            "line": 1
          },
          {
            "location": "src/client/state/messages.ts",
            "line": 1
          },
          {
            "location": "src/client/state/palette.ts",
            "line": 1
          },
          {
            "location": "src/client/state/settings-defaults.ts",
            "line": 1
          },
          {
            "location": "src/client/state/setup-script.ts",
            "line": 1
          },
          {
            "location": "src/client/state/toasts.ts",
            "line": 1
          },
          {
            "location": "src/client/stories/fixtures.ts",
            "line": 1
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 1
          },
          {
            "location": "src/client/utils/useIframePanes.ts",
            "line": 1
          },
          {
            "location": "src/client/components/command-palette/CommandPalette.vue",
            "line": 2
          },
          {
            "location": "src/client/components/command-palette/CommandPaletteItem.vue",
            "line": 2
          },
          {
            "location": "src/client/components/display/ToastOverlay.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockEntries.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockEntriesWithCategories.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockEntry.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockGroupButton.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockGroupSidebar.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockOverflowButton.vue",
            "line": 2
          },
          {
            "location": "src/client/components/dock/DockPanel.vue",
            "line": 2
          },
          {
            "location": "src/client/components/message/MessageItem.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views/ViewCustomRenderer.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views/ViewEntry.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views-builtin/SettingsDocks.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinSettings.vue",
            "line": 2
          },
          {
            "location": "playground/seed.ts",
            "line": 2
          },
          {
            "location": "playground/seed.ts",
            "line": 3
          },
          {
            "location": "src/client/types.ts",
            "line": 1
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.stories.ts",
            "line": 3
          },
          {
            "location": "src/client/components/dock/DockGroupPopover.stories.ts",
            "line": 10
          },
          {
            "location": "src/client/constants.ts",
            "line": 63
          },
          {
            "location": "src/client/state/context.ts",
            "line": 8
          },
          {
            "location": "src/client/state/context.ts",
            "line": 187
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 3
          },
          {
            "location": "src/client/stories/mock-context.ts",
            "line": 45
          },
          {
            "location": "src/client/components/views/ViewIframe.vue",
            "line": 8
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 6
          },
          {
            "location": "src/client/components/views-builtin/SettingsAdvanced.vue",
            "line": 3
          },
          {
            "location": "src/client/components/views-builtin/SettingsAdvanced.vue",
            "line": 24
          },
          {
            "location": "src/client/components/views-builtin/SettingsAdvanced.vue",
            "line": 46
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "@antfu",
      "name": "design",
      "version": "0.6.0",
      "description": "A customizable, composable design system for devtools-style Vue apps — a UnoCSS preset, Vue primitives, a design skill, and an a11y contrast check",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40antfu/design@0.6.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/antfu/design#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/antfu/design.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@antfu/design@0.6.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@antfu/design/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@antfu/design/components/Display/DisplayKbd.vue,@antfu/design/components/Action/ActionButton.vue,@antfu/design/components/Action/ActionIconButton.vue,@antfu/design/components/Form/FormSelect.vue"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@antfu/design/package.json"
              }
            ],
            "concludedValue": "node_modules/@antfu/design/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/components/command-palette/CommandPaletteItem.vue",
            "line": 3
          },
          {
            "location": "src/client/components/views-builtin/SettingsShortcuts.vue",
            "line": 5
          },
          {
            "location": "src/client/components/display/Confirm.vue",
            "line": 2
          },
          {
            "location": "src/client/components/views/ViewAssetsError.vue",
            "line": 3
          },
          {
            "location": "src/client/components/views/ViewDockRenderer.vue",
            "line": 4
          },
          {
            "location": "src/client/components/views/ViewLauncher.vue",
            "line": 5
          },
          {
            "location": "src/client/components/views-builtin/ViewBuiltinClientAuthNotice.vue",
            "line": 3
          },
          {
            "location": "src/client/components/views/ViewAssetsError.vue",
            "line": 4
          },
          {
            "location": "src/client/components/views-builtin/SettingsAppearance.vue",
            "line": 3
          }
        ]
      }
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@devframes/hub-ui@1.2.3"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.5",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.5",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.5",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-10-13T08:25:56Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Tuesday, October 13, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'hub-ui' with version '1.2.3'. The package type in this SBOM is npm with 8 purl namespaces described under components. The components were identified from 22 source files."
    }
  ]
}