Feature Description
Add a --all-day flag to calendar +create shortcut, so users can create all-day events without falling back to the raw API.
Currently, calendar +create always converts --start and --end to timestamps (start_time.timestamp), even when plain dates like 2026-05-18 are passed. This means it's impossible to create true all-day events (which require start_time.date / end_time.date in the API) through the shortcut.
Motivation
All-day events are very common: hotel stays, conferences, holidays, deadlines, birthdays. The shortcut is the recommended way to create calendar events — it handles smart defaults for attendee_ability, reminders, free_busy_status, etc. But for all-day events, users are forced to drop down to the raw API (calendar events create), losing all those defaults and risking parameter omissions.
Proposed Solution
Add a --all-day boolean flag to calendar +create:
lark-cli calendar +create \
--summary "Conference" \
--start "2026-05-18" \
--end "2026-05-21" \
--all-day
When --all-day is set:
--start and --end accept plain dates (YYYY-MM-DD)
- The shortcut creates the event with
start_time.date / end_time.date instead of timestamps
vchat should default to no_meeting (all-day events rarely need video calls)
free_busy_status should default to free
Alternatives Considered
- Use raw API
calendar events create with --params — works but loses shortcut defaults and is error-prone
- Pass date strings to
--start/--end and auto-detect — ambiguous (user might mean midnight vs all-day), explicit flag is clearer
Feature Description
Add a
--all-dayflag tocalendar +createshortcut, so users can create all-day events without falling back to the raw API.Currently,
calendar +createalways converts--startand--endto timestamps (start_time.timestamp), even when plain dates like2026-05-18are passed. This means it's impossible to create true all-day events (which requirestart_time.date/end_time.datein the API) through the shortcut.Motivation
All-day events are very common: hotel stays, conferences, holidays, deadlines, birthdays. The shortcut is the recommended way to create calendar events — it handles smart defaults for
attendee_ability,reminders,free_busy_status, etc. But for all-day events, users are forced to drop down to the raw API (calendar events create), losing all those defaults and risking parameter omissions.Proposed Solution
Add a
--all-dayboolean flag tocalendar +create:When
--all-dayis set:--startand--endaccept plain dates (YYYY-MM-DD)start_time.date/end_time.dateinstead of timestampsvchatshould default tono_meeting(all-day events rarely need video calls)free_busy_statusshould default tofreeAlternatives Considered
calendar events createwith--params— works but loses shortcut defaults and is error-prone--start/--endand auto-detect — ambiguous (user might mean midnight vs all-day), explicit flag is clearer