Skip to content

feat(event): support VC meeting lifecycle events - #1632

Merged
calendar-assistant merged 1 commit into
mainfrom
feat/start-recipient-calendar-rpc
Jun 29, 2026
Merged

feat(event): support VC meeting lifecycle events#1632
calendar-assistant merged 1 commit into
mainfrom
feat/start-recipient-calendar-rpc

Conversation

@calendar-assistant

@calendar-assistant calendar-assistant commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add VC meeting lifecycle event definitions for participant_meeting_started and participant_meeting_joined.
  • Register the new VC events so they appear in event discovery, list, and schema flows.
  • Update lark-event skill documentation with the new VC lifecycle event examples.

Why

AI agents using lark-cli event need first-class VC meeting lifecycle subscriptions so they can react when meetings start and participants join. Without these typed event definitions, the CLI cannot expose or validate these event schemas through the normal event tooling.

Impact

  • Users can discover and consume the new VC lifecycle events through the existing event command surfaces.
  • Event schema tests cover the new registrations and payload handling.
  • Documentation now points agents at the supported VC lifecycle event names.

Validation

  • gofmt -l . produced no output.
  • go vet ./... passed.
  • go mod tidy completed with no working tree changes.
  • go test -race -gcflags='all=-N -l' ./cmd/event ./events/vc ./internal/event/... passed.
  • make unit-test was attempted, but unrelated tests failed during t.TempDir cleanup of temporary .git/objects directories in internal/qualitygate/publiccontent, internal/qualitygate/rules, and shortcuts/apps; the failures did not point to this PR's event changes.

Summary by CodeRabbit

  • New Features

    • Added support for VC meeting participant “started” and “joined” events in event listing, schema lookup, and event consumption output.
    • Event output now includes meeting details such as meeting ID, topic, meeting number, calendar event ID, and a local start time.
  • Bug Fixes

    • Improved handling of malformed event payloads and invalid meeting times so processing remains stable.
  • Documentation

    • Updated event reference docs and CLI guidance to include the new VC meeting event keys.

@CLAassistant

CLAassistant commented Jun 29, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 23c54973-7670-48a1-9093-4264e7894c75

📥 Commits

Reviewing files that changed from the base of the PR and between 4c31323 and bef92e9.

📒 Files selected for processing (8)
  • cmd/event/list_test.go
  • cmd/event/schema_test.go
  • events/vc/participant_meeting_joined.go
  • events/vc/participant_meeting_lifecycle_test.go
  • events/vc/participant_meeting_started.go
  • events/vc/register.go
  • skills/lark-event/SKILL.md
  • skills/lark-event/references/lark-event-vc.md

📝 Walkthrough

Walkthrough

Adds two new VC event handlers (vc.meeting.participant_meeting_started_v1 and vc.meeting.participant_meeting_joined_v1) with output structs, process functions, and registry wiring. Extends CLI list/schema tests, unit tests for processing and subscription lifecycle, and updates documentation to cover the new keys.

Changes

VC Meeting Lifecycle Events

Layer / File(s) Summary
Output structs and process functions
events/vc/participant_meeting_started.go, events/vc/participant_meeting_joined.go
Defines VCParticipantMeetingStartedOutput and VCParticipantMeetingJoinedOutput structs and their processVC* functions that unmarshal raw payloads, convert start_time to local RFC3339, fall back Type to raw.EventType, and return marshaled JSON; malformed payloads pass through unchanged.
Registry wiring
events/vc/register.go
Adds constants for both new event types and inserts two KeyDefinition entries into Keys() with schemas, process handlers, PreConsume config, scopes, auth type, and required console events.
Unit and integration tests
events/vc/participant_meeting_lifecycle_test.go
Covers registration assertions, process output correctness (fields present/absent, RFC3339 conversion), invalid times, malformed payload passthrough, and PreConsume subscribe/unsubscribe lifecycle.
CLI list and schema tests
cmd/event/list_test.go, cmd/event/schema_test.go
Extends list tests to assert both new keys appear in text and JSON output, and adds schema tests verifying required output fields are present and end_time is absent.
Documentation
skills/lark-event/SKILL.md, skills/lark-event/references/lark-event-vc.md
Updates topic index, key catalog, scopes table, output schema description, gotchas, and examples to include the started and joined participant event keys.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • larksuite/cli#1113: Registers vc.meeting.participant_meeting_ended_v1 in events/vc/register.go using the same KeyDefinition pattern this PR extends for started and joined events.

Suggested labels

domain/vc, feature

Suggested reviewers

  • zhaoleibd

🐇 Two new keys hop into the registry bright,
Started and joined now come into light.
start_time converted, RFC3339 neat,
end_time withheld — the ended's own treat.
The bunny registers events with delight! 🎉

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/start-recipient-calendar-rpc

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the size/L Large or sensitive change across domains or core paths label Jun 29, 2026
@codecov

codecov Bot commented Jun 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.69892% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 74.68%. Comparing base (4c31323) to head (bef92e9).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
events/vc/participant_meeting_joined.go 93.75% 1 Missing and 1 partial ⚠️
events/vc/participant_meeting_started.go 93.54% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1632      +/-   ##
==========================================
+ Coverage   74.66%   74.68%   +0.02%     
==========================================
  Files         806      808       +2     
  Lines       81391    81484      +93     
==========================================
+ Hits        60769    60858      +89     
- Misses      16089    16091       +2     
- Partials     4533     4535       +2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@calendar-assistant
calendar-assistant force-pushed the feat/start-recipient-calendar-rpc branch from e45fc31 to 83fa7c2 Compare June 29, 2026 02:56
@calendar-assistant
calendar-assistant force-pushed the feat/start-recipient-calendar-rpc branch from 83fa7c2 to bef92e9 Compare June 29, 2026 02:57
@zhangjun-bytedance
zhangjun-bytedance marked this pull request as ready for review June 29, 2026 03:10
@calendar-assistant
calendar-assistant merged commit 297776e into main Jun 29, 2026
24 of 26 checks passed
@calendar-assistant
calendar-assistant deleted the feat/start-recipient-calendar-rpc branch June 29, 2026 03:11
@github-actions

Copy link
Copy Markdown

🚀 PR Preview Install Guide

🧰 CLI update

npm i -g https://pkg.pr.new/larksuite/cli/@larksuite/cli@bef92e9b9136e7eb60219d886f510245f1ffb082

🧩 Skill update

npx skills add larksuite/cli#feat/start-recipient-calendar-rpc -y -g

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L Large or sensitive change across domains or core paths

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants