{
  "version": 1,
  "workflows": [
    {
      "id": "6DE02D48-1CE0-4315-AF99-A8A3CB570187",
      "defaultIntroducedVersion": 4,
      "name": "Open in Browser",
      "nameLocalizationKey": "open_in_browser",
      "summary": "Open the selected URL",
      "symbolName": "globe",
      "isEnabled": true,
      "requiresTrustConfirmation": false,
      "sortOrder": 3,
      "mode": "simple",
      "supportedTypes": [
        "url"
      ],
      "script": {
        "source": "inline",
        "code": "ObjC.import(\"Foundation\");\n\nfunction readJSON() {\n    var data = $.NSFileHandle.fileHandleWithStandardInput.readDataToEndOfFile;\n    var text = $.NSString.alloc.initWithDataEncoding(data, $.NSUTF8StringEncoding).js;\n    return JSON.parse(text);\n}\n\nfunction writeJSON(value) {\n    var text = JSON.stringify(value);\n    var data = $(text).dataUsingEncoding($.NSUTF8StringEncoding);\n    $.NSFileHandle.fileHandleWithStandardOutput.writeData(data);\n}\n\nfunction main() {\n    var payload = readJSON();\n    var value = (payload.paste && payload.paste.text) || \"\";\n    if (payload.phase !== \"execute\" || value.length === 0) {\n        throw new Error(\"URL is empty\");\n    }\n\n    var url = $.NSURL.URLWithString(value);\n    if (!url || !url.scheme) {\n        throw new Error(\"URL is invalid\");\n    }\n\n    var scheme = url.scheme.lowercaseString.js;\n    if (scheme !== \"http\" && scheme !== \"https\") {\n        throw new Error(\"Only HTTP and HTTPS URLs are supported\");\n    }\n\n    writeJSON({\n        version: 1,\n        result: {\n            type: \"openURL\",\n            url: value\n        }\n    });\n}\n\nmain();\n",
        "scriptPath": "",
        "interpreterPath": "/usr/bin/osascript",
        "arguments": [
          "-l",
          "JavaScript"
        ],
        "workingDirectory": "",
        "filterTimeout": 5,
        "executeTimeout": 5
      },
      "workflowVersion": 1
    }
  ]
}
