Skip to content

Add calendar propose-time, tasks repeat, auth alias, and more#75

Merged
steipete merged 12 commits intoopenclaw:mainfrom
salmonumbrella:feat/calendar-propose-time
Jan 17, 2026
Merged

Add calendar propose-time, tasks repeat, auth alias, and more#75
steipete merged 12 commits intoopenclaw:mainfrom
salmonumbrella:feat/calendar-propose-time

Conversation

@salmonumbrella
Copy link
Copy Markdown
Contributor

@salmonumbrella salmonumbrella commented Jan 14, 2026

New Commands

calendar propose-time

Generate a browser URL to propose alternative meeting times (workaround for Google Calendar API limitation since 2018).

gog calendar propose-time <calendarId> <eventId>
gog calendar propose-time <calendarId> <eventId> --open
gog calendar propose-time <calendarId> <eventId> --decline --comment "Can we do 5pm?"

tasks repeat

Create recurring tasks with repeat schedules.

gog tasks add "Weekly review" --repeat weekly --repeat-count 4
gog tasks add "Daily standup" --repeat daily --repeat-until 2025-12-31

auth alias

Manage account aliases for easier switching.

gog auth alias set work vladimir@company.com
gog auth alias list

time now

Display current local time (useful for agents).

gog time now
gog time now --json

New Features

  • --enable-commands flag - Restrict available CLI commands (useful for agent sandboxing)
  • Calendar event types - Support for focus-time, out-of-office, working-location events
  • Day-of-week in JSON - Calendar events include start_day and end_day fields

Test Plan

  • Unit tests for all new commands
  • Integration tests for propose-time, tasks repeat
  • JSON output tests

@salmonumbrella salmonumbrella changed the title feat(calendar): add propose-time command for browser-based time proposals Add calendar propose-time, tasks repeat, auth alias, and more Jan 16, 2026
salmonumbrella and others added 12 commits January 17, 2026 07:44
Add the core Run method that:
- Fetches event from Google Calendar API
- Generates propose-time browser URL (base64 encoded)
- Optionally declines the event with comment
- Outputs JSON or text format
- Opens browser if --open flag is set

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace vague "error" framing with "API Limitation" label
- Add explicit "Action:" instruction to open issue tracker and click +1
- Rename JSON fields: limitation→api_limitation, error_message→upvote_action
- Update tests to verify new messaging format

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Patch only attendees array when declining, not full event object
- Add defensive guard in expandRepeatSchedule against infinite loop
- Add JSON output test for propose-time command

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@steipete steipete force-pushed the feat/calendar-propose-time branch from 45b3894 to d683a48 Compare January 17, 2026 07:50
@steipete steipete merged commit 0930c16 into openclaw:main Jan 17, 2026
4 checks passed
@steipete
Copy link
Copy Markdown
Collaborator

Landed via temp rebase onto main.

  • Gate: pnpm lint && pnpm build && pnpm test
  • Land commit: d683a48
  • Merge commit: 0930c16

Thanks @salmonumbrella!

klodr pushed a commit to klodr/gogcli that referenced this pull request Apr 22, 2026
…ose-time

Add calendar propose-time, tasks repeat, auth alias, and more
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants