Tasks

manifest.json 82 lines

Files · 4
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182{
  "id": "com.lattice.tasks",
  "name": "Tasks",
  "icon": "✅",
  "color": "#10b981",
  "description": "Manage tasks with priorities, due dates and categories.",
  "requested_permissions": {
    "storage": ["kv", "sql"],
    "network": { "allowlist": [] },
    "events": {
      "task-created": {
        "description": "A task was created.",
        "schema": {
          "type": "object",
          "properties": {
            "id": { "type": "integer", "description": "Task ID." },
            "title": { "type": "string", "description": "Task title." },
            "description": { "type": "string", "description": "Task details; empty means none." },
            "priority": { "type": "string", "description": "Priority text, typically low, medium or high." },
            "due_date": { "type": "string", "description": "Due date, local YYYY-MM-DD; empty means no deadline." },
            "category": { "type": "string", "description": "Category; empty means uncategorized." }
          },
          "required": ["id", "title", "description", "priority", "due_date", "category"]
        }
      },
      "task-completed": {
        "description": "A task was completed.",
        "schema": {
          "type": "object",
          "properties": {
            "id": { "type": "integer", "description": "Task ID." },
            "title": { "type": "string", "description": "Task title." },
            "completed_at": { "type": "string", "description": "Completion time, UTC ISO 8601 timestamp." }
          },
          "required": ["id", "title", "completed_at"]
        }
      },
      "task-updated": {
        "description": "A task was updated.",
        "schema": {
          "type": "object",
          "properties": {
            "id": { "type": "integer", "description": "Task ID." },
            "title": { "type": "string", "description": "Task title." },
            "description": { "type": "string", "description": "Task details; empty means none." },
            "priority": { "type": "string", "description": "Priority text, typically low, medium or high." },
            "due_date": { "type": "string", "description": "Due date, local YYYY-MM-DD; empty means no deadline." },
            "category": { "type": "string", "description": "Category; empty means uncategorized." }
          },
          "required": ["id", "title", "description", "priority", "due_date", "category"]
        }
      },
      "task-removed": {
        "description": "A task was removed.",
        "schema": {
          "type": "object",
          "properties": {
            "id": { "type": "integer", "description": "Task ID." },
            "title": { "type": "string", "description": "Task title." }
          },
          "required": ["id", "title"]
        }
      }
    },
    "listeners": {
      "add-task": {
        "description": "Create an incomplete task.",
        "schema": {
          "type": "object",
          "properties": {
            "title": { "type": "string", "description": "Nonempty task title." },
            "description": { "type": "string", "description": "Task details; omitted or empty means none." },
            "priority": { "type": "string", "description": "Priority text, typically low/medium/high; omitted or empty defaults to medium." },
            "due_date": { "type": "string", "description": "Due date, local YYYY-MM-DD; omitted or empty means no deadline." },
            "category": { "type": "string", "description": "Category; omitted or empty means uncategorized." }
          },
          "required": ["title"]
        }
      }
    }
  }
}