feat: add email and calendar skills with unified expression rules - #42
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bb6bd1b75b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1ccd70593f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9663377f9e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 94b4eecf05
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b4bce6f63c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…t the CLI page - tiered talk rules: product words allowed, implementation terms never - PATH-first CLI resolution with bundled scripts/bin fallback - zh trigger phrases and usage-scenario sections - version + requires metadata in frontmatter - icloud setup now opens the CLI's own configuration page; the app-center form it referenced was removed along with the icloud preset - calendar CLI binaries carry the Cola-styled callback pages - keep build artifacts out of the repository
…aming - app passwords and authorization codes go to the secure local prompt, never into a chat message - a PATH Himalaya reporting another version now falls back to the bundled v2.0.0 instead of leaving the skill unusable - --save resolves the account's real Sent mailbox instead of assuming the alias - proxy wording no longer implies OS settings are inherited automatically - version moves under metadata so the frontmatter keeps only accepted top-level keys
Now that these ship as plain skills there is no managed PATH entry, so PATH could only ever resolve an unrelated build. Each skill resolves its own copy under scripts/bin/<platform>/, determining the architecture with uname -m, which also removes the version mismatch the previous rule could deadlock on.
…uides The configuration guide still sent normal operations to a PATH himalaya and forbade the packaged binary outright, contradicting the rule SKILL.md now sets and breaking setup on a machine that only has the bundled copy. The generic IMAP/SMTP guide also listed the credential among the values to ask for.
…in the guides The iCloud CLI rebuilt the whole VEVENT on update, so changing a title dropped the location, description, attendees, recurrence and alarms the stored resource carried — a silent data loss the server reports as success. Update now fetches the object, replaces only the requested properties and writes it back under the same If-Match guard. The guides also assumed Unix and macOS-or-Windows throughout: Linux has no bundled build, PowerShell has no 'env -u', and '~/.himalayarc' belongs to the v1 configuration family this skill rejects.
…end assumptions The iCloud list query asked for raw calendar data, so a recurring event came back as its master component and a weekly meeting was reported at its original date whatever week was requested; the CalDAV report now expands occurrences over the queried range. The guides also resolved Windows binaries without their .exe suffix, promised the Google account timezone under scopes that exclude settings, presented events.update as interchangeable with patch, added Google attendees without sendUpdates so nobody was invited, and pointed Graph mailboxes at SMTP-only send commands.
b4bce6f to
1066e73
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f100ed3233
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…s, and notify guests Expanding recurring occurrences made a new hazard reachable: every occurrence carries the series' resource id, so editing one displayed instance rewrote the series and deleting one cancelled every meeting in it. Both writes now refuse a recurring resource and say why, and list marks which results are occurrences. Outlook list follows Graph pagination instead of returning only the first page, and moving an event with just a new start derives the end from its stored duration rather than leaving the old one in place. The Google guide now notifies guests on edits and cancellations, carries the mandatory timezone in every agenda example, requires QQ's RFC 2971 ID exchange, scopes the PowerShell proxy test to a child process, and stops three calendar skills from claiming the same provider-neutral trigger phrase.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1b55ee5987
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Expansion returns each occurrence as its own VEVENT inside one response, but list emitted one record per response, so a weekly meeting appeared once and the rest of the week's instances were missing. Each component is now split into a self-contained calendar object. The recurrence guard matched RRULE anywhere in the payload, which would have locked a one-off event out of every write because its notes mentioned the word; it now matches property lines. Moving an all-day Outlook event with only a new start is refused rather than sent as a request Graph rejects. Adds tests for splitting, the guard and the text-mention case, carries the timezone in the agenda synopsis, and moves the disambiguation rule below the list it broke.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bf77dd0c6e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
… and Meet cases The pinned build resolves routes from all_proxy and https_proxy only; http_proxy is never consulted, so a proxy supplied through it was silently ignored while the guide promised otherwise. The PowerShell recipe also emptied the variables rather than removing them, which is not the same signal to a client that checks for presence. The all-day guard added last round made the documented Outlook move flow stop outright, and the attendee-notifying insert dropped the Meet link the canonical example asks for. A custom domain no longer picks a provider guide by its name alone — it is usually hosted elsewhere.
Adds the four Cola-authored skills and puts them on one set of rules.
Skills
gwsCLIShared conventions
PATH, then falls back to the copy bundled atscripts/bin/<platform>/. Neither present means the app is not ready yet — the agent never searches the filesystem for another installation.versionplusmetadata.requires.bins, so a listing declares what it needs.Notes
*.zip) are gitignored; release packages are distributed separately.