Files
Starlight_Lancher/.agents/skills/lark-event/references/lark-event-task.md

2.6 KiB

Task Events

Prerequisite: Read ../SKILL.md first for the event consume essentials (commands, subprocess contract, jq usage).

Key catalog (1)

EventKey Purpose
task.task.update_user_access_v2 A visible task has been created, deleted, or updated

This key uses a Native schema (V2 envelope; output rooted at .event) and carries a PreConsume hook that calls the Task event subscription API before listening.

Scopes & auth

EventKey Scope Auth
task.task.update_user_access_v2 task:task:read user, bot

Supports --as user or --as bot.

  • --as user: receive task updates visible to the current user through authorship, assignment, following, or other access.
  • --as bot: receive task updates for tasks the application is responsible for.

task.task.update_user_access_v2

Subscription behavior

On startup, event consume calls:

POST /open-apis/task/v2/task_v2/task_subscription?user_id_type=open_id

The Task subscription API has no matching unsubscribe endpoint in the current CLI metadata, so graceful exit has no cleanup call for this EventKey. Re-running the consumer repeats the subscribe call for the selected identity.

This EventKey is single-consumer per local bus subscription: start one event consume task.task.update_user_access_v2 process for a given app/profile/identity at a time.

Output fields (V2 envelope; root path .event)

Field Type Description
.header.event_id string Globally unique event ID; safe for deduplication
.header.create_time string (timestamp_ms) Event creation time in milliseconds
.event.event_types[] string enum Task commit types included in this event
.event.task_guid string (kind=task_guid) Task GUID that changed

Commit types:

task_assignees_update
task_completed_update
task_create
task_deleted
task_desc_update
task_followers_update
task_reminders_update
task_start_due_update
task_summary_update

Example

# Stream task update events for the current user
lark-cli event consume task.task.update_user_access_v2 --as user

# Sample one event for payload inspection
lark-cli event consume task.task.update_user_access_v2 \
  --as user --max-events 1 --timeout 2m

# Project to a compact task-update record
lark-cli event consume task.task.update_user_access_v2 \
  --as user \
  --jq '{event_id: .header.event_id, task_guid: .event.task_guid, event_types: .event.event_types, timestamp: .header.create_time}'

# Consume as the app identity
lark-cli event consume task.task.update_user_access_v2 --as bot