Skip to content

feat(m365): add Outlook triage approvals#3

Draft
sudie-codes wants to merge 10000 commits intomainfrom
codex/m365-outlook-triage
Draft

feat(m365): add Outlook triage approvals#3
sudie-codes wants to merge 10000 commits intomainfrom
codex/m365-outlook-triage

Conversation

@sudie-codes
Copy link
Copy Markdown
Owner

Summary

  • add the shared M365 plugin scaffolding for Outlook mail triage under extensions/m365
  • add durable TaskFlow-backed action approvals and Teams interactive dispatch for approval cards
  • implement approval-gated Outlook inbox triage and reply queueing with stale-thread and idempotency guards

Notes

  • This is PR 1 of 3 and is the base for the calendar and Teams thread copilot work.
  • Approval semantics are fixed to approve, deny, and revise; timeout denies and there is no allow-always path.
  • Mail replies fail closed unless explicit Teams approvers and mailbox allowlists are configured.

Testing

  • pnpm test extensions/m365/src/config.test.ts extensions/m365/src/credentials.test.ts extensions/m365/src/graph-client.test.ts extensions/m365/src/mail.test.ts extensions/m365/src/runtime-common.test.ts extensions/m365/src/tools-v2.test.ts extensions/m365/src/approval-actions.test.ts extensions/m365/src/webhook-subscriptions.test.ts src/plugin-sdk/action-approval-runtime.test.ts extensions/msteams/src/monitor-handler.adaptive-card.test.ts
  • pnpm exec tsc -p extensions/m365/tsconfig.json --noEmit
  • pnpm exec oxlint .github/labeler.yml src/plugin-sdk/action-approval-runtime.ts src/plugin-sdk/action-approval-runtime.test.ts src/agents/channel-tools.ts src/agents/tools/message-tool.ts src/channels/plugins/message-action-discovery.ts src/channels/plugins/types.core.ts src/plugins/types.ts extensions/msteams/index.ts extensions/msteams/runtime-api.ts extensions/msteams/src/interactive-dispatch.ts extensions/msteams/src/plugin-full.ts extensions/msteams/src/monitor-handler.ts extensions/msteams/src/monitor-handler.adaptive-card.test.ts extensions/m365/index.ts extensions/m365/openclaw.plugin.json extensions/m365/src/config.ts extensions/m365/src/config.test.ts extensions/m365/src/credentials.ts extensions/m365/src/credentials.test.ts extensions/m365/src/graph-client.ts extensions/m365/src/graph-client.test.ts extensions/m365/src/mail.ts extensions/m365/src/mail.test.ts extensions/m365/src/runtime-common.ts extensions/m365/src/runtime-common.test.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 extensions/m365/src/webhook-subscriptions.ts extensions/m365/src/webhook-subscriptions.test.ts

Known Baseline Failures

  • pnpm build currently fails on latest main due unrelated repo-wide type/export drift outside this change set.
  • pnpm plugin-sdk:api:check currently fails on existing Plugin SDK metadata/export drift for command-status.

Loading
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.