Skip to content

feat(providers): add Microsoft 365 Copilot individual provider - #5302

Merged
diegosouzapw merged 2 commits into
diegosouzapw:release/v3.8.40from
skyzea1:feat/m365-copilot-individual-focused
Jun 29, 2026
Merged

diegosouzapw merged 2 commits into
diegosouzapw:release/v3.8.40from
skyzea1:feat/m365-copilot-individual-focused

Conversation

@skyzea1

@skyzea1 skyzea1 commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Fresh focused PR replacing #5287 as requested by the maintainer. This branch is based on release/v3.8.40 and keeps the diff limited to the Microsoft 365 Copilot individual web provider, registry/wiring, focused tests, and generated count/reference docs.

Scope

  • Add copilot-m365-web / m365copilot provider and executor wiring.
  • Add Microsoft 365 Copilot WebSocket executor support for the individual m365.cloud.microsoft/chat path.
  • Keep credentials/operator session values external; no credentials are hardcoded.
  • Mark account/session/request/location-specific validation details as redacted.
  • Apply Rule fix(ui): fix Select dropdown dark theme inconsistency #12 fix: SSE abort paths sanitize WebSocket/startup error messages with sanitizeErrorMessage(...).
  • Apply Rule fix(ci): add environment for npm token access #18 coverage: add executor unit test with a mock WebSocket covering handshake, OpenAI SSE chunking, incremental delta handling, finish lifecycle, and sanitized abort output.
  • Update provider reference and live count docs for 237 providers / 68 executors.

Sanitized Validation Notes

All credentials, account identifiers, tenant/user-specific Chathub path values, session identifiers, request identifiers, and location-specific values are marked as redacted.

  • Browser validation source: https://m365.cloud.microsoft/chat
  • Access token: redacted
  • Chathub path: redacted
  • Account/session/request/location identifiers: redacted
  • Observed protocol: SignalR WebSocket via Microsoft 365 Copilot Chathub
  • Prompt used for live validation: Reply with exactly one word: pong
  • Result: pong

Tests

npm exec -- tsx --import ./open-sse/utils/setupPolyfill.ts --test tests/unit/m365-connection-4042.test.ts tests/unit/m365-bizchat-frames-4042.test.ts tests/unit/copilot-m365-web-executor.test.ts
# 25/25 passing

npm run check:provider-consistency
# OK - 172 REGISTRY entries, 243 canonical providers

npm run check:docs-counts
# All checks pass

Related/reference PR: #5287

@skyzea1
skyzea1 requested a review from diegosouzapw as a code owner June 29, 2026 06:00
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

…365-web

Adding the Microsoft 365 Copilot web provider changes the provider→translate-path
golden snapshot. Regenerated via UPDATE_GOLDEN=1; audited diff is purely additive
(only the copilot-m365-web entry: openai format, wss substrate Chathub url, masked
Bearer headers) — no other provider entry changed.

Co-authored-by: diegosouzapw <diegosouza.pw@gmail.com>
@diegosouzapw
diegosouzapw merged commit 601e2a8 into diegosouzapw:release/v3.8.40 Jun 29, 2026
7 checks passed
@diegosouzapw diegosouzapw mentioned this pull request Jun 29, 2026
This was referenced Jun 30, 2026
tkgo11 pushed a commit to tkgo11/OmniRoute that referenced this pull request Sep 23, 2026
tkgo11 pushed a commit to tkgo11/OmniRoute that referenced this pull request Sep 23, 2026
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