Skip to content

feat(m365): add calendar copilot approvals#2

Draft
sudie-codes wants to merge 1 commit intocodex/m365-outlook-triagefrom
codex/m365-calendar-copilot
Draft

feat(m365): add calendar copilot approvals#2
sudie-codes wants to merge 1 commit intocodex/m365-outlook-triagefrom
codex/m365-calendar-copilot

Conversation

@sudie-codes
Copy link
Copy Markdown
Owner

Summary

  • add calendar agenda, free/busy, and queued change tools under extensions/m365/src/calendar
  • canonicalize change plans with plan hashes and exact-once TaskFlow approvals
  • re-check attendee availability and event change keys before applying approved mutations

Notes

  • This is PR 2 of 3 and is stacked on codex/m365-outlook-triage.
  • Writes stay approval-gated for create, update, cancel, and reschedule.
  • Ambiguous natural-language times are rejected before any write plan is queued.

Testing

  • pnpm test extensions/m365/src/config.test.ts extensions/m365/src/graph-client.test.ts extensions/m365/src/runtime-common.test.ts extensions/m365/src/calendar/plan.test.ts extensions/m365/src/calendar/graph.test.ts extensions/m365/src/calendar/tool.test.ts extensions/m365/src/tools-v2.test.ts extensions/m365/src/approval-actions.test.ts
  • pnpm exec oxlint extensions/m365/index.ts extensions/m365/openclaw.plugin.json extensions/m365/src/config.ts extensions/m365/src/config.test.ts extensions/m365/src/graph-client.ts extensions/m365/src/graph-client.test.ts extensions/m365/src/runtime-common.ts extensions/m365/src/runtime-common.test.ts extensions/m365/src/calendar/plan.ts extensions/m365/src/calendar/plan.test.ts extensions/m365/src/calendar/graph.ts extensions/m365/src/calendar/graph.test.ts extensions/m365/src/calendar/tool.ts extensions/m365/src/calendar/tool.test.ts extensions/m365/src/calendar/types.ts extensions/m365/src/tools-v2.ts extensions/m365/src/tools-v2.test.ts extensions/m365/src/approval-actions.ts extensions/m365/src/approval-actions.test.ts

Known Baseline Follow-up

  • Repo-wide pnpm build remains blocked by unrelated latest-main type/export drift already present above this stacked PR.

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.

1 participant