Add Microsoft 365 actions, approvals, and delegated workflow execution - #1497
Open
Paul Lizer (paullizer) wants to merge 5 commits into
Open
Paul Lizer (paullizer) wants to merge 5 commits into
Paul Lizer (paullizer) wants to merge 5 commits into
Conversation
Introduce separate Calendar, Email, OneDrive, and SharePoint Online actions with delegated retrieval, source-sharing approvals, retained conversation evidence, and explicit workflow Run as authorization. Retire new combined Graph actions, enforce live capability checks, add cloud-aware retrieval and durable continuation safeguards, and document setup for version 0.261.029. Refs #1493 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
…indings Remove provider exception text from public alert decisions and historical run/notification projections. Preserve waiting responses, exception identity, budget retry behavior, and expected Cosmos outcomes. Add regression coverage and bump the app to 0.261.030. Refs #1493; CodeQL remediation for #1497. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Move immutable context and fingerprint primitives below execution and connection owners. Inject the live Run as validator from both web and scheduler bootstrap, fail closed before credentials when unconfigured, and preserve pre/post-refresh checks. Add cold-import and revocation coverage and document the four intentional CodeQL findings. Refs #1493; remediation for #1497. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Record the passing implementation-head CodeQL analysis, the concrete Protocol implementations and public exception consumers, and individual replies resolving all four remaining Advanced Security review threads. Documentation only; no runtime or version change. Refs #1493 and #1497. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
12 tasks
Remove unsupported partition_key arguments from conditional Cosmos replacements while preserving body-derived partition routing and ETag checks. Keep async agent stream pulls and cleanup in one isolated context, preserve approval/sign-in handling, and log terminal failures safely. Add real-SDK and Semantic Kernel regressions and bump the application to 0.261.031. Refs #1493; follow-up for #1497. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Agent streaming follow-up: commit
bdb668affixes the Azure-reproduced unsupportedpartition_keyargument on 23 Cosmos replacement calls and a second reproduced execution-context failure between streamed chunks. Replacements retain body-derived partition routing and ETag checks; streams retain their isolated context through cleanup. Real-SDK and real Semantic Kernel regressions cover both failures. This commit has been pushed, but the Azure testing app has not been redeployed.CodeQL remediation: follow-up commits
1883af6eandc23e32c1remove public workflow-evaluator diagnostics, protect historical run/notification projections, clarify control flow and expected Cosmos outcomes, and replace the execution/connection import cycle with shared context primitives and owner-injected authorization. Pre/post-refresh validation and HTTP 202 approval/sign-in waits remain intact. The four intentional Protocol/facade findings are documented rather than globally suppressed; each associated review thread has been answered and resolved.Target:
Developmentinmicrosoft/simplechat(the session/project integration branch).Setup: configure delegated Graph permissions and register
/api/m365/connections/callback. Saved workflow credentials require the Key Vault secret named byM365_WORKFLOW_TOKEN_KEY_SECRET_NAMEcontaining a base64-encoded 32-byte encryption key; retain prior key versions during rotation. Bootstrap provisionsm365_connectionsandm365_execution_runs, both partitioned by/user_id. Seedocs/explanation/features/MICROSOFT_365_ACTIONS.mdfor setup and limitations.Linked issue
Refs #1493. Related sync/external-tab work in #954 and #956 remains separate.
Release Notes & Latest Features
Compatibility changes: no new combined Graph actions; Microsoft 365 workflows require an explicitly selected, consenting Run as account rather than implicit caller/owner credentials.
Is this visible to end users?
Is this admin-facing (Admin Settings, governance, deployment, config)?
Should this become a Latest Feature card?
Screenshot needed for the card?
Version bump
application/single_app/config.pyVERSIONthird segment bumped, or not needed because this is docs-onlydeployers/version.txtbumped, or not needed becausedeployers/was not changedApplication:
0.261.028->0.261.029for the feature,0.261.030for CodeQL remediation, and0.261.031for the Cosmos/agent-streaming fixes. No deployer files changed.Testing / validation
python -m pytest .\ui_tests\test_m365_lifecycle_and_approvals.py -q: 27 passed in local Chromium using the Azure Playwright-ready harness during feature qualification.git diff --checkpasses; browser JavaScript syntax was checked during feature qualification.c23e32c161175034ca4c9a0d4890174e2cfd5f5a: all three language jobs passed. The PR check decreased from 31 findings to four intentional notes, with no remaining PR security/error findings. The four corresponding review threads were individually answered and resolved; the underlying notes were not dismissed or suppressed. These results predate the streaming follow-up and are not a claim about CI on its new head.Known pre-existing test failures: three unchanged tests in
test_conversation_context_grounding.pyreproduce the same failures against original PR headb8a75418(one stale call-count assertion and two incomplete AST fixtures); those were excluded from the earlier expanded run. The streaming follow-up also encountered an unchanged chat-reattach test that asserts historical version0.239.191exactly and fails against pre-fix0.261.030. These unrelated tests were not modified to hide their failures; details are in the fix documents.Not performed: live Commercial/Government/custom-cloud, Graph/Copilot, or Key Vault qualification; no tenant permissions or deployed resources were changed. Azure telemetry inspection was read-only. Publishing the streaming fix does not redeploy or validate it on the testing URL; local fixtures do not establish target-tenant API availability or consent.
Documentation
Added the versioned feature specification, Microsoft 365 user guide, and four action reference pages; updated Profile/workflow/admin/chat-control documentation and regenerated
docs/_data/app_surface.yml. Addeddocs/explanation/fixes/M365_CODEQL_REMEDIATION_FIX.mdwith the root causes, regression evidence, and no-code-change rationale for alerts 2752–2754 (Protocol stubs) and 2764 (public exception export). Addeddocs/explanation/fixes/M365_AGENT_STREAMING_FIX.mdfor the deployed Cosmos error and reproduced streaming-context failure. Release notes were left unchanged as requested; a Latest Feature card is not included in this PR.Security checklist
@swagger_route(security=get_auth_security())sanitize_settings_for_user()