feat: chat DM creation, calendar timezone, message filtering, find-group#146
feat: chat DM creation, calendar timezone, message filtering, find-group#146
Conversation
… find-group (#142, #143, #144, #145) - Fix calendar create/update sending "Local" as timezone — add resolveIANA() to resolve real IANA name (#143) - Fix setup-space requiring --display-name for DMs/group chats — validate by type (#142) - Add --after/--before convenience flags to chat messages for time filtering (#145) - Add build-cache and find-group commands with persistent space-members cache (#144) - Update chat skill docs to v2.2.0 with new commands and DM workflow recipe Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Summary What looks good
Issues found Warning
Suggestion
If you want, I can suggest specific test cases for the new Chat commands or draft a minimal README update. Next steps (optional)
|
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
I can’t compute the PR diff: Options:
|
…ts, README - Only set TimeZone when resolveIANA returns non-empty (avoids empty string serialization) - Validate --type flag on setup-space and build-cache to fail fast on invalid values - Add httptest mock server tests for build-cache and find-group flows - Update README.md command table with new commands and flags - Update CLAUDE.md chat command list Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Summary What Looks Good
Issues Found
Open Questions / Assumptions
Test Gaps / Notes
If you want, I can propose concrete test cases and a small patch for the two warnings above. |
Summary
Fixes four issues discovered during real usage:
create/updatesent"Local"as timezone, which Google Calendar API rejects. AddedresolveIANA()helper that resolves the real IANA zone name fromTZenv or/etc/localtimesymlink, falling back to omitting the field (RFC3339 offset suffices).setup-spacerequired--display-nameunconditionally, but the API rejects it forDIRECT_MESSAGEandGROUP_CHATtypes. Now validates flags by type: DM/GROUP_CHAT require--members, SPACE requires--display-name.--afterand--beforeconvenience flags tochat messagesthat translate tocreateTimefilter expressions. Combines with existing--filterusing AND.build-cacheandfind-groupcommands with a newinternal/spacecachepackage.build-cacheiterates spaces, fetches members, resolves emails via People API, and stores a persistent JSON cache.find-groupsearches the cache for spaces containing all specified members.Test plan
go build ./...compilesgo vet ./...cleango test ./...all pass (including new tests for resolveIANA, parseTime, setup-space DM/GROUP_CHAT, after/before filter, spacecache Load/Save/FindByMembers, command registration)Closes #142, #143, #144, #145
🤖 Generated with Claude Code