{
  "name": "dsl-agent-logs",
  "displayName": "DSL Agent Logs",
  "description": "Real-time DSL Agent log viewer",
  "version": "0.0.1",
  "publisher": "cloudide",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/Microsoft/vscode-extension-samples"
  },
  "engines": {
    "vscode": "^1.74.0"
  },
  "categories": [
    "Other"
  ],
  "activationEvents": [
    "onCommand:dsl-agent-logs.activate"
  ],
  "main": "./dist/extension.js",
  "contributes": {
    "viewsContainers": {
      "panel": [
        {
          "id": "dsl-agent-logs",
          "title": "DSLAgentLogs",
          "icon": "assets/icon.png",
          "when": "dsl-agent-logs.enabled"
        }
      ]
    },
    "views": {
      "dsl-agent-logs": [
        {
          "id": "dsl-agent-logs-view",
          "name": "Logs",
          "type": "webview",
          "when": "dsl-agent-logs.enabled"
        },
        {
          "id": "dsl-agent-logs-streams",
          "name": "Streams",
          "when": "dsl-agent-logs.enabled"
        }
      ]
    },
    "commands": [
      {
        "command": "dsl-agent-logs.selectStream",
        "title": "Select Stream"
      },
      {
        "command": "dsl-agent-logs.removeStream",
        "title": "Remove Stream",
        "icon": "$(trash)"
      },
      {
        "command": "dsl-agent-logs.enableStream",
        "title": "Enable Stream",
        "icon": "$(play)"
      },
      {
        "command": "dsl-agent-logs.disableStream",
        "title": "Disable Stream",
        "icon": "$(debug-pause)"
      },
      {
        "command": "dsl-agent-logs.clear",
        "title": "Clear All Logs",
        "icon": "$(clear-all)"
      },
      {
        "command": "dsl-agent-logs.export",
        "title": "Export Logs",
        "icon": "$(export)"
      },
      {
        "command": "dsl-agent-logs.filterByLevel",
        "title": "Filter by Log Level",
        "icon": "$(list-filter)"
      },
      {
        "command": "dsl-agent-logs.clearLevelFilter",
        "title": "Clear Level Filter",
        "icon": "$(filter-filled)"
      },
      {
        "command": "dsl-agent-logs.search",
        "title": "Search Logs",
        "icon": "$(search)"
      },
      {
        "command": "dsl-agent-logs.clearSearchFilter",
        "title": "Clear Search Filter",
        "icon": "$(search-stop)"
      },
      {
        "command": "dsl-agent-logs.copyLogEntry",
        "title": "Copy Log Entry"
      },
      {
        "command": "dsl-agent-logs.addLogEntry",
        "title": "Add Log Entry (Internal)"
      }
    ],
    "menus": {
      "view/title": [
        {
          "command": "dsl-agent-logs.search",
          "when": "view == dsl-agent-logs-view && !dsl-agent-logs.hasSearchFilter",
          "group": "navigation@1"
        },
        {
          "command": "dsl-agent-logs.clearSearchFilter",
          "when": "view == dsl-agent-logs-view && dsl-agent-logs.hasSearchFilter",
          "group": "navigation@1"
        },
        {
          "command": "dsl-agent-logs.filterByLevel",
          "when": "view == dsl-agent-logs-view && !dsl-agent-logs.hasLevelFilter",
          "group": "navigation@2"
        },
        {
          "command": "dsl-agent-logs.clearLevelFilter",
          "when": "view == dsl-agent-logs-view && dsl-agent-logs.hasLevelFilter",
          "group": "navigation@2"
        },
        {
          "command": "dsl-agent-logs.clear",
          "when": "view == dsl-agent-logs-view",
          "group": "navigation@3"
        },
        {
          "command": "dsl-agent-logs.export",
          "when": "view == dsl-agent-logs-view",
          "group": "navigation@4"
        }
      ],
      "view/item/context": [
        {
          "command": "dsl-agent-logs.disableStream",
          "when": "view == dsl-agent-logs-streams && viewItem == streamListItem-enabled",
          "group": "inline@1"
        },
        {
          "command": "dsl-agent-logs.enableStream",
          "when": "view == dsl-agent-logs-streams && viewItem == streamListItem-disabled",
          "group": "inline@1"
        },
        {
          "command": "dsl-agent-logs.removeStream",
          "when": "view == dsl-agent-logs-streams && viewItem =~ /streamListItem/",
          "group": "inline@2"
        }
      ]
    }
  },
  "scripts": {
    "compile": "tsc -p ./",
    "watch": "tsc -watch -p ./",
    "vscode:prepublish": "npm run compile",
    "package": "vsce package --no-dependencies"
  },
  "devDependencies": {
    "@types/node": "~20.11.0",
    "@types/vscode": "^1.74.0",
    "typescript": "~5.3.3"
  }
}
