Bookmarks

manifest.json 133 lines

Files · 4
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133{
  "id": "com.lattice.bookmarks",
  "name": "Bookmarks",
  "icon": "🔖",
  "color": "#f59e0b",
  "description": "Save and organize links with folders and tags.",
  "requested_permissions": {
    "storage": ["kv", "sql"],
    "network": {
      "allowlist": []
    },
    "events": {
      "bookmark-added": {
        "description": "A bookmark was added.",
        "schema": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "Bookmark ID."
            },
            "url": {
              "type": "string",
              "description": "Saved URL."
            },
            "title": {
              "type": "string",
              "description": "Page title."
            },
            "description": {
              "type": "string",
              "description": "Bookmark summary; empty means none."
            },
            "tags": {
              "type": "string",
              "description": "Comma-separated tags; empty means none."
            },
            "folder": {
              "type": "string",
              "description": "Folder name; Unsorted is the default."
            }
          },
          "required": ["id", "url", "title", "description", "tags", "folder"]
        }
      },
      "bookmark-removed": {
        "description": "A bookmark was removed.",
        "schema": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "Bookmark ID."
            },
            "url": {
              "type": "string",
              "description": "Saved URL."
            },
            "title": {
              "type": "string",
              "description": "Page title."
            }
          },
          "required": ["id", "url", "title"]
        }
      },
      "bookmark-updated": {
        "description": "A bookmark was updated.",
        "schema": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "description": "Bookmark ID."
            },
            "url": {
              "type": "string",
              "description": "Saved URL."
            },
            "title": {
              "type": "string",
              "description": "Page title."
            },
            "description": {
              "type": "string",
              "description": "Bookmark summary; empty means none."
            },
            "tags": {
              "type": "string",
              "description": "Comma-separated tags; empty means none."
            },
            "folder": {
              "type": "string",
              "description": "Folder name; Unsorted is the default."
            }
          },
          "required": ["id", "url", "title", "description", "tags", "folder"]
        }
      }
    },
    "listeners": {
      "add-bookmark": {
        "description": "Add a bookmark.",
        "schema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string",
              "description": "Nonempty URL to save."
            },
            "title": {
              "type": "string",
              "description": "Page title; omitted or empty defaults to url."
            },
            "description": {
              "type": "string",
              "description": "Summary; omitted or empty means none."
            },
            "tags": {
              "type": "string",
              "description": "Comma-separated tags; omitted or empty means none."
            },
            "folder": {
              "type": "string",
              "description": "Folder name; omitted or empty defaults to Unsorted."
            }
          },
          "required": ["url"]
        }
      }
    }
  }
}