{
  "protocolVersion": 1,
  "apiMajor": 1,
  "sdkVersion": "0.1.2",
  "features": [
    "i18n",
    "config.get",
    "config.set",
    "storage.get",
    "storage.set",
    "storage.remove",
    "window.setSize",
    "window.moveTo",
    "window.setInputRegions",
    "window.beginDrag",
    "files.open",
    "files.open.multiple",
    "files.drop",
    "files.setDropEnabled",
    "assets.open",
    "exports.begin",
    "exports.write",
    "exports.save",
    "exports.close",
    "files.read",
    "files.close",
    "network.request",
    "system.metrics.get",
    "directory.list",
    "directory.read",
    "directory.cancel",
    "target.open",
    "external.open",
    "request.cancel",
    "notifications.show",
    "notifications.dismiss",
    "webassembly",
    "location",
    "events",
    "context.visibility",
    "context.environment",
    "directory.snapshot",
    "network.safeRedirect",
    "dedicatedWorker",
    "memory.media",
    "context.system",
    "context.language",
    "context.theme",
    "context.system.accentColor",
    "context.system.textScaleFactor",
    "contextMenu.setItems",
    "context.lifecycle",
    "runtime.info",
    "saves.list",
    "saves.load",
    "saves.commit",
    "saves.restore",
    "network.open",
    "network.read",
    "network.close",
    "context.audio",
    "context.closing",
    "lifecycle.finishClose",
    "directory.watch.open",
    "directory.watch.poll",
    "directory.watch.close",
    "clipboard.writeText",
    "input.pointer",
    "input.normalizedCancel",
    "input.polygons",
    "media.get",
    "media.control",
    "reminders.set",
    "reminders.list",
    "reminders.remove",
    "reminders.clear",
    "cache.get",
    "cache.put",
    "cache.remove",
    "cache.clear",
    "saves.context",
    "collaboration.publish",
    "collaboration.get",
    "clipboard.readText",
    "directory.write",
    "directory.mkdir",
    "directory.rename",
    "directory.remove",
    "exports.startDrag",
    "shortcuts.setActions",
    "audio.capture.open",
    "audio.capture.read",
    "audio.capture.close",
    "notifications.actions",
    "panels.open",
    "panels.close",
    "panels.post",
    "credentials.set",
    "credentials.get",
    "credentials.remove",
    "credentials.clear",
    "panels.activate",
    "screen.capture.open",
    "screen.capture.read",
    "screen.capture.close",
    "desktop.pointer.get",
    "desktop.windows.get",
    "system.activity.get",
    "audio.output.get",
    "audio.output.set",
    "files.image",
    "clipboard.readImage",
    "clipboard.writeImage",
    "clipboard.readHtml",
    "clipboard.writeHtml",
    "clipboard.readFiles",
    "media.artwork",
    "directory.image"
  ],
  "limits": {
    "contextMenuItems": 16,
    "contextMenuIdCharacters": 64,
    "contextMenuLabelCharacters": 80,
    "maxMessageBytes": 8388608,
    "messagesPerSecond": 60,
    "messageBurst": 16,
    "messageBytesPerSecond": 8388608,
    "messageBytesBurst": 16777216,
    "globalMessagesPerSecond": 240,
    "globalMessageBurst": 64,
    "globalMessageBytesPerSecond": 33554432,
    "globalMessageBytesBurst": 67108864,
    "maxPendingRequests": 16,
    "requestTimeoutMs": 30000,
    "requestBodyBytes": 1048576,
    "responseBodyBytes": 4194304,
    "fileBytes": 4194304,
    "storageValueBytes": 262144,
    "storageInstanceBytes": 16777216,
    "directoryPageEntries": 100,
    "directorySnapshotEntries": 10000,
    "directorySnapshotBytes": 8388608,
    "directoryCursorTtlMs": 30000,
    "directorySnapshotsPerInstance": 4,
    "directorySnapshotsGlobal": 32,
    "directorySnapshotsBytesGlobal": 33554432,
    "notificationsPerInstallationPerMinute": 3,
    "notificationsGlobalPerMinute": 10,
    "notificationTitleUnits": 48,
    "notificationBodyUnits": 200,
    "inputRegions": 64,
    "inputPolygonPoints": 32,
    "inputPolygonVertices": 512,
    "importedFileBytes": 268435456,
    "fileChunkBytes": 65536,
    "exportBytes": 67108864,
    "exportsPerInstance": 2,
    "exportsGlobal": 16,
    "exportsBytesGlobal": 268435456,
    "filesPerInstance": 16,
    "fileBatchCount": 16,
    "fileBatchBytes": 268435456,
    "filesGlobal": 16,
    "fileIdleTtlMs": 30000,
    "fileTtlMs": 300000,
    "saveSnapshotBytes": 262144,
    "saveSlotsPerInstance": 8,
    "networkStreamBytes": 268435456,
    "networkChunkBytes": 65536,
    "networkStreamsPerInstance": 2,
    "networkStreamsGlobal": 16,
    "networkStreamIdleTtlMs": 30000,
    "networkStreamTtlMs": 300000,
    "networkHeaderEntries": 64,
    "audioScopeProcesses": 64,
    "audioDevices": 16,
    "audioSessions": 512,
    "audioInstallations": 64,
    "audioScopesPerInstallation": 16,
    "closingMs": 2000,
    "closingInstances": 64,
    "closingHandlers": 1,
    "directoryWatchesPerInstance": 2,
    "directoryWatchesGlobal": 16,
    "directoryWatchBufferBytes": 65536,
    "directoryWatchDebounceMs": 200,
    "directoryWatchIdleTtlMs": 30000,
    "directoryWatchTtlMs": 300000,
    "clipboardTextUnits": 32768,
    "clipboardTextBytes": 65536,
    "clipboardNativeUnits": 65536,
    "inputPointers": 8,
    "mediaSessionsGlobal": 64,
    "mediaSessionTtlMs": 60000,
    "mediaWaitMs": 3000,
    "mediaSampleMs": 1000,
    "mediaCommandsPerInstallationPerMinute": 30,
    "mediaCommandsGlobalPerMinute": 120,
    "remindersPerInstance": 8,
    "remindersPerInstallation": 32,
    "remindersGlobal": 128,
    "reminderHorizonMs": 2592000000,
    "reminderValidityMs": 86400000,
    "reminderWritesPerInstallationPerMinute": 30,
    "reminderWritesGlobalPerMinute": 120,
    "cacheItemBytes": 1048576,
    "cacheItemsPerInstance": 16,
    "cacheBytesPerInstance": 8388608,
    "cacheItemsPerInstallation": 64,
    "cacheBytesPerInstallation": 33554432,
    "cacheItemsGlobal": 256,
    "cacheBytesGlobal": 134217728,
    "cacheLifetimeMs": 604800000,
    "cacheWritesPerInstallationPerMinute": 30,
    "cacheWritesGlobalPerMinute": 120,
    "saveProfilesPerInstallation": 8,
    "saveProfileNameCharacters": 64,
    "saveProfileSelectionsPerInstallation": 256,
    "collaborationMessageBytes": 16384,
    "collaborationMessagesGlobal": 64,
    "collaborationBytesGlobal": 1048576,
    "collaborationLifetimeMs": 30000,
    "collaborationPublishesPerSecondPerInstallation": 4,
    "collaborationPublishesPerMinutePerInstallation": 60,
    "collaborationPublishesPerMinuteGlobal": 240,
    "clipboardReadsPerInstallationPerMinute": 60,
    "clipboardReadsGlobalPerMinute": 240,
    "clipboardWritesPerInstallationPerMinute": 30,
    "clipboardWritesGlobalPerMinute": 120,
    "directoryWriteBytes": 4194304,
    "exportDragFilesGlobal": 1,
    "widgetShortcutActions": 8,
    "widgetShortcutBindings": 128,
    "audioCaptureSessionsPerInstance": 1,
    "audioCaptureSessionsGlobal": 4,
    "audioCaptureReadFrames": 4096,
    "audioCaptureBufferSeconds": 1,
    "notificationActions": 3,
    "notificationActionRecords": 128,
    "notificationActionTtlMs": 600000,
    "panelsPerInstance": 2,
    "panelsGlobal": 16,
    "panelMessageBytes": 65536,
    "credentialKeysPerInstallation": 32,
    "credentialValueBytes": 32768,
    "credentialInstallationBytes": 262144,
    "screenCapturesPerInstance": 1,
    "screenCapturesGlobal": 2,
    "screenCaptureIdleMs": 30000,
    "screenCaptureLifetimeMs": 300000,
    "screenCaptureReadIntervalMs": 100,
    "screenCaptureSourcePixels": 16777216,
    "imageBytes": 4194304,
    "imageMaxSide": 2048,
    "fileImageMaxSide": 256,
    "clipboardHtmlBytes": 1048576,
    "clipboardImagePixels": 4194304,
    "desktopWindows": 128,
    "desktopWindowScan": 2048,
    "desktopPointerIntervalMs": 50,
    "desktopWindowsIntervalMs": 250,
    "systemActivityIntervalMs": 1000,
    "systemIdleThresholdMs": 60000,
    "audioOutputIntervalMs": 100
  },
  "request": {
    "id": "canonical decimal string 1..9007199254740991, strictly increasing per document",
    "params": "JSON object"
  },
  "events": {
    "files.dropped": "{files:{fileId:string,name:string,sizeBytes:number}[]}",
    "files.dropFailed": "{code:string,message:string}",
    "config.changed": "configuration object",
    "capabilities.changed": "Record<string, boolean>",
    "visibility.changed": "{visible:boolean}",
    "display.changed": "{displayId:string}",
    "environment.changed": "{scale:number,editing:boolean,workArea:{width:number,height:number},bounds:{x:number,y:number,width:number,height:number}}",
    "system.changed": "SystemContext",
    "lifecycle.changed": "{state:suspending|resumed|locked|unlocked}",
    "audio.changed": "{muted:boolean}",
    "lifecycle.closing": "{token:string,reason:applicationExit,remainingMs:number}",
    "language.changed": "{language:zh-CN|en-US}",
    "theme.changed": "{theme:light|dark}",
    "contextMenu.selected": "{id:string}",
    "shortcuts.triggered": "{id:string}",
    "notifications.activated": "{notificationId:string,actionId:string|null}",
    "panels.message": "{panelId:string,value:JsonValue}",
    "panels.closed": "{panelId:string}"
  },
  "packageRules": {
    "reservedFileNames": [
      "widget-host.js",
      "widget-host.d.ts",
      "protocol.json"
    ],
    "version": 1,
    "maxEntries": 10000,
    "maxFileBytes": 67108864,
    "maxPackageBytes": 268435456,
    "maxRelativePathCharacters": 1024,
    "maxDepth": 64,
    "manifestBytes": 262144,
    "previewBytes": 1048576,
    "previewDimension": 4096,
    "resourceTypes": [
      {
        "extensions": [
          ".html",
          ".htm"
        ],
        "mime": "text/html; charset=utf-8",
        "kind": "html"
      },
      {
        "extensions": [
          ".js",
          ".mjs"
        ],
        "mime": "text/javascript",
        "kind": "script"
      },
      {
        "extensions": [
          ".css"
        ],
        "mime": "text/css",
        "kind": "style"
      },
      {
        "extensions": [
          ".json"
        ],
        "mime": "application/json",
        "kind": "data"
      },
      {
        "extensions": [
          ".wasm"
        ],
        "mime": "application/wasm",
        "kind": "wasm"
      },
      {
        "extensions": [
          ".svg"
        ],
        "mime": "image/svg+xml",
        "kind": "image"
      },
      {
        "extensions": [
          ".png"
        ],
        "mime": "image/png",
        "kind": "image"
      },
      {
        "extensions": [
          ".jpg",
          ".jpeg"
        ],
        "mime": "image/jpeg",
        "kind": "image"
      },
      {
        "extensions": [
          ".webp"
        ],
        "mime": "image/webp",
        "kind": "image"
      },
      {
        "extensions": [
          ".gif"
        ],
        "mime": "image/gif",
        "kind": "image"
      },
      {
        "extensions": [
          ".woff2"
        ],
        "mime": "font/woff2",
        "kind": "font"
      },
      {
        "extensions": [
          ".woff"
        ],
        "mime": "font/woff",
        "kind": "font"
      },
      {
        "extensions": [
          ".mp4"
        ],
        "mime": "video/mp4",
        "kind": "media"
      },
      {
        "extensions": [
          ".webm"
        ],
        "mime": "video/webm",
        "kind": "media"
      },
      {
        "extensions": [
          ".mp3"
        ],
        "mime": "audio/mpeg",
        "kind": "media"
      },
      {
        "extensions": [
          ".wav"
        ],
        "mime": "audio/wav",
        "kind": "media"
      },
      {
        "extensions": [
          ".ico"
        ],
        "mime": "application/octet-stream",
        "kind": "image"
      },
      {
        "extensions": [
          ".ttf",
          ".otf"
        ],
        "mime": "application/octet-stream",
        "kind": "font"
      },
      {
        "extensions": [
          ".ogg"
        ],
        "mime": "application/octet-stream",
        "kind": "media"
      },
      {
        "extensions": [
          ".txt",
          ".map",
          ".bin",
          ".d.ts"
        ],
        "mime": "application/octet-stream",
        "kind": "data"
      }
    ],
    "referenceScan": {
      "fileBytes": 2097152,
      "totalBytes": 33554432,
      "maxReferences": 4096,
      "maxIssues": 256,
      "maxTokensPerFile": 100000,
      "maxUrlCharacters": 2048
    }
  },
  "contentTags": [
    {
      "name": "information",
      "enUS": "Information",
      "zhCN": "资讯"
    },
    {
      "name": "productivity",
      "enUS": "Productivity",
      "zhCN": "效率"
    },
    {
      "name": "system",
      "enUS": "System",
      "zhCN": "系统"
    },
    {
      "name": "files",
      "enUS": "Files",
      "zhCN": "文件"
    },
    {
      "name": "media",
      "enUS": "Media",
      "zhCN": "媒体"
    },
    {
      "name": "decoration",
      "enUS": "Decoration",
      "zhCN": "装饰"
    },
    {
      "name": "entertainment",
      "enUS": "Entertainment",
      "zhCN": "娱乐"
    },
    {
      "name": "education",
      "enUS": "Education",
      "zhCN": "教育"
    },
    {
      "name": "lifestyle",
      "enUS": "Lifestyle",
      "zhCN": "生活"
    },
    {
      "name": "development",
      "enUS": "Development",
      "zhCN": "开发"
    }
  ]
}
