Libra CodeHub

CedarCopilot/cedar-mail

Branch: staging

[2026-08-16] merging staging with main

merged#2509CedarCopilot

CedarCopilot wants to merge 0 commits into main from staging

275 files changed

Libra does not show diffs here. View the full diff on GitHub.

  • modified.claude/skills/account-setup-from-transcript/SKILL.md+109-80
  • modified.claude/skills/data-audit-prep/SKILL.md+50-0
  • modifiedapps/mail/app/(full-width)/SunlitBackground/SunlitBackground.tsx+33-3
  • modifiedapps/mail/app/(full-width)/SunlitBackground/sunlit.css+11-0
  • modifiedapps/mail/app/(full-width)/onboarding/page.tsx+2-2
  • modifiedapps/mail/app/(routes)/playground/components/IntegrationsTabContent.tsx+2-2
  • modifiedapps/mail/app/(routes)/playground/initial-sync.tsx+3-16
  • modifiedapps/mail/app/(routes)/playground/notification-test.tsx+0-18
  • modifiedapps/mail/app/(routes)/settings/connections/page.tsx+2-2
  • addedapps/mail/components/ui/day-divider.tsx+67-0
  • modifiedapps/mail/components/ui/emoji-picker.tsx+83-25
  • addedapps/mail/components/ui/split-button.tsx+58-0
  • modifiedapps/mail/docs/pipeline-tabs-and-canvas-aggregates.md+24-1
  • modifiedapps/mail/docs/url-driven-layout.md+1-1
  • addedapps/mail/lib/proxy-image.ts+26-0
  • modifiedapps/mail/modules/calendar/components/EventConversationBadge.tsx+138-17
  • modifiedapps/mail/modules/calendar/store/calendarSlice.ts+15-0
  • modifiedapps/mail/modules/canvas/types/canvas-types.ts+33-0
  • modifiedapps/mail/modules/cedar-os/src/cedar-os-components/chatComponents/EmbeddedCedarChat.tsx+11-0
  • modifiedapps/mail/modules/cedar-os/src/cedar-os-components/chatComponents/contextKinds.ts+22-16
  • modifiedapps/mail/modules/cedar-os/src/cedar-os-components/chatInput/ContextBadgeRow.tsx+71-3
  • modifiedapps/mail/modules/cedar-os/src/store/agentConnection/agentConnectionSlice.ts+187-1
  • modifiedapps/mail/modules/cedar-os/src/store/agentConnection/agentUtils.ts+22-5
  • modifiedapps/mail/modules/cedar-os/src/store/agentConnection/providers/mastra.ts+21-2
  • modifiedapps/mail/modules/cedar-os/src/store/agentContext/agentContextSlice.ts+82-4
  • modifiedapps/mail/modules/cedar-os/src/store/messages/MessageTypes.ts+18-1
  • modifiedapps/mail/modules/conversations/components/timeline/MessageReactions.tsx+8-24
  • addedapps/mail/modules/conversations/components/timeline/ReactionChip.tsx+60-0
  • addedapps/mail/modules/conversations/components/timeline/SlackStructuredBody.test.tsx+135-0
  • addedapps/mail/modules/conversations/components/timeline/SlackStructuredBody.tsx+298-0
  • modifiedapps/mail/modules/conversations/components/timeline/SlackTimeline.tsx+5-36
  • modifiedapps/mail/modules/conversations/components/timeline/UniversalComposer.tsx+4-0
  • modifiedapps/mail/modules/conversations/components/timeline/emoji-shortcodes.ts+9-2
  • addedapps/mail/modules/crm/components/ChangeCompanyEnrichmentDialog.tsx+341-0
  • modifiedapps/mail/modules/crm/components/CompanyMergeDropdown.tsx+10-213
  • addedapps/mail/modules/crm/components/conversation-canvas/CanvasMetricsBar.tsx+132-0
  • modifiedapps/mail/modules/crm/components/conversation-canvas/ConversationCanvas.tsx+7-0
  • modifiedapps/mail/modules/crm/components/conversation-canvas/CreateConversationDialog.tsx+4-1
  • addedapps/mail/modules/crm/components/conversation-canvas/CumulativeFieldsSection.tsx+116-0
  • modifiedapps/mail/modules/crm/components/conversation-canvas/FilterSortConfigurationRow.tsx+4-0
  • addedapps/mail/modules/crm/hooks/use-canvas-aggregates.ts+111-0
  • modifiedapps/mail/modules/crm/hooks/use-canvas-conversations.ts+8-358
  • addedapps/mail/modules/crm/hooks/use-canvas-list-variables.ts+390-0
  • modifiedapps/mail/modules/home/components/AgentHomeHero.tsx+15-0
  • modifiedapps/mail/modules/home/components/agentHomeActions.ts+17-11
  • modifiedapps/mail/modules/inbox/components/ChannelMessageList.tsx+167-4
  • modifiedapps/mail/modules/inbox/components/ChannelThreadView.tsx+392-35
  • modifiedapps/mail/modules/inbox/components/SlackThreadPanel.tsx+19-7
  • addedapps/mail/modules/inbox/hooks/use-channel-reactions.ts+143-0
  • addedapps/mail/modules/inbox/hooks/use-chat-reactions.ts+161-0
  • addedapps/mail/modules/inbox/hooks/use-open-channel-item.ts+97-0
  • removedapps/mail/modules/integrations/notion-integration-card.tsx+0-146
  • addedapps/mail/modules/integrations/oauth-mcp-integration-card.tsx+284-0
  • modifiedapps/mail/modules/store/index.ts+15-0
  • modifiedapps/mail/modules/threads/common/utils/email-utils.client.tsx+4-8
  • modifiedapps/mail/modules/threads/mail.tsx+23-7
  • addedapps/mail/modules/threads/rendering/done-thread-resurrection.ts+166-0
  • modifiedapps/mail/modules/threads/rendering/use-optimistic-actions.ts+29-0
  • modifiedapps/mail/modules/threads/thread/components/ConversationBadge.tsx+400-78
  • modifiedapps/mail/modules/threads/thread/components/thread-display.tsx+12-10
  • modifiedapps/mail/modules/ux/layout/LayoutUrlSync.tsx+72-6
  • modifiedapps/mail/modules/ux/layout/resolveContext.ts+8-0
  • modifiedapps/mail/providers/query-provider.tsx+11-0
  • modifiedapps/mail/tests/lib/gmailSimulator.ts+16-0
  • modifiedapps/mail/tests/lib/labelFlowHarness.tsx+7-2
  • modifiedapps/mail/tests/modules/canvas/canvas-view-config-persistence.test.ts+32-0
  • addedapps/mail/tests/modules/chat-store/channelContext.test.tsx+153-0
  • addedapps/mail/tests/modules/conversations/emojiShortcodes.test.ts+36-0
  • addedapps/mail/tests/modules/inbox/channelAttachments.test.tsx+117-0
  • addedapps/mail/tests/modules/inbox/channelReactions.test.tsx+235-0
  • addedapps/mail/tests/modules/inbox/chatMessageOrdering.test.ts+70-0
  • addedapps/mail/tests/modules/inbox/chatReactions.test.ts+85-0
  • addedapps/mail/tests/modules/inbox/openChannelItem.test.tsx+161-0
  • addedapps/mail/tests/modules/inbox/scrollAnchor.test.ts+66-0
  • addedapps/mail/tests/modules/threads/mark-done-flow.test.tsx+235-0
  • addedapps/mail/tests/modules/ux/layout/slackUrlSync.test.tsx+167-0
  • modifiedapps/server/docs/channel-sync-architecture.md+10-1
  • addedapps/server/docs/design/chat-stream-listener.md+263-0
  • addedapps/server/docs/design/whatsapp-architecture-parity.md+202-0
  • addedapps/server/docs/dm-auto-sync.md+274-0
  • addedapps/server/docs/slack-images.md+615-0
  • addedapps/server/docs/slack-parity.md+390-0
  • addedapps/server/docs/unknown-removal.md+120-0
  • modifiedapps/server/docs/wiki/README.md+22-0
  • addedapps/server/docs/wiki/slack-images-and-agent-vision.md+167-0
  • addedapps/server/docs/wiki/slack-parity.md+192-0
  • modifiedapps/server/package.json+6-1
  • addedapps/server/scripts/backup-org-taxonomy.ts+116-0
  • addedapps/server/scripts/eval-new-fields.instance.ts+909-0
  • addedapps/server/scripts/eval-new-fields.judgment.ts+253-0
  • modifiedapps/server/scripts/eval-new-fields.ts+364-170
  • modifiedapps/server/scripts/headless-dev-start.sh+13-2
  • addedapps/server/scripts/run-backup-org-taxonomy.mjs+15-0
  • modifiedapps/server/scripts/taxonomy-eval/README.md+47-1
  • modifiedapps/server/scripts/taxonomy-eval/agent_extract_prompt.md+120-21
  • modifiedapps/server/scripts/taxonomy-eval/assemble_sonnet.py+61-6
  • addedapps/server/scripts/taxonomy-eval/canonicalize-proposals.mjs+211-0
  • addedapps/server/scripts/taxonomy-eval/chunk-manifest.mjs+79-0
  • addedapps/server/scripts/taxonomy-eval/display_buckets.py+26-0
  • modifiedapps/server/scripts/taxonomy-eval/extract-workflow.js+90-59
  • modifiedapps/server/scripts/taxonomy-eval/field-defs-meta.json+3-1
  • addedapps/server/scripts/taxonomy-eval/filter-first-n.mjs+26-0
  • modifiedapps/server/scripts/taxonomy-eval/gen-field-defs.ts+45-6
  • modifiedapps/server/scripts/taxonomy-eval/write-remap.ts+2-1
  • addedapps/server/scripts/taxonomy-ops/apply-org-vocab-glosses.ts+150-0
  • addedapps/server/scripts/taxonomy-ops/run-apply-org-vocab-glosses.mjs+15-0
  • modifiedapps/server/scripts/write-agentic.ts+0-0
  • addedapps/server/src/cli/channels.ts+275-0
  • modifiedapps/server/src/cli/index.ts+3-1
  • modifiedapps/server/src/crm-admin/cli.ts+15-0
  • modifiedapps/server/src/cron/cron-task-registry.ts+0-22
  • modifiedapps/server/src/db/canvas-schema.ts+33-0
  • modifiedapps/server/src/db/crm-schema.ts+34-3
  • modifiedapps/server/src/db/integration-schemas.ts+11-0
  • addedapps/server/src/db/migrations/channel_container_history_cursor.sql+21-0
  • addedapps/server/src/db/migrations/container_participant_attendee_id.sql+18-0
  • addedapps/server/src/db/migrations/linkedin_message_reactions.sql+12-0
  • modifiedapps/server/src/db/migrations/scripts/account-setup/phase2c-seed-playbook.ts+4-0
  • modifiedapps/server/src/db/migrations/scripts/account-setup/reform-brock-stage-tabs.ts+26-5
  • addedapps/server/src/db/migrations/scripts/account-setup/verify-audit-handoff.ts+146-0
  • addedapps/server/src/db/migrations/slack_message_rich_payload.sql+17-0
  • addedapps/server/src/db/migrations/unknown_conversation_removal.sql+118-0
  • addedapps/server/src/db/migrations/whatsapp_message_identity.sql+43-0
  • addedapps/server/src/db/migrations/whatsapp_message_surface_columns.sql+25-0
  • modifiedapps/server/src/db/outbound-ddl.sql+16-0
  • modifiedapps/server/src/db/outbound-schema.ts+77-1
  • addedapps/server/src/docs/bug-mark-done-threads-reappear.md+276-0
  • modifiedapps/server/src/docs/thread-sync-architecture.md+5-4
  • modifiedapps/server/src/env.ts+14-0
  • modifiedapps/server/src/lib/services.ts+79-0
  • addedapps/server/src/lib/testing/__tests__/secret-png.test.ts+80-0
  • addedapps/server/src/lib/testing/secret-png.ts+153-0
  • modifiedapps/server/src/mastra/index.ts+2-0
  • modifiedapps/server/src/mastra/operations/operation-registry.ts+9-1
  • modifiedapps/server/src/mastra/routeHandlers/chat/handleChat.ts+113-25
  • modifiedapps/server/src/mastra/routeHandlers/event-execution/__tests__/before-meeting-execution-rsvp-gate.test.ts+51-3
  • modifiedapps/server/src/mastra/routeHandlers/event-execution/handleExecuteScheduledExecution.ts+27-0
  • modifiedapps/server/src/mastra/skills/account-config/tools/readConnectionSettingsTool.ts+4-2
  • modifiedapps/server/src/mastra/skills/crm/domain-identification.ts+6-3
  • modifiedapps/server/src/mastra/skills/integrations/external-systems.ts+5-1
  • addedapps/server/src/mastra/tools/event-execution/__tests__/unattributed-event.test.ts+202-0
  • modifiedapps/server/src/mastra/tools/event-execution/assignEventToConversationTool.ts+106-68
  • modifiedapps/server/src/mastra/tools/integrations/callMcpTool.ts+2-1
  • modifiedapps/server/src/mastra/tools/pipeline-agent-tools.ts+2-0
  • addedapps/server/src/mastra/tools/slack/__tests__/readSlackAttachmentTool.test.ts+214-0
  • addedapps/server/src/mastra/tools/slack/readSlackAttachmentTool.ts+213-0
  • modifiedapps/server/src/mastra/tools/subagent-tool-allowlists.ts+3-0
  • modifiedapps/server/src/mastra/tools/tool-names.ts+2-0
  • modifiedapps/server/src/mastra/types/chat-context.ts+57-2
  • addedapps/server/src/mastra/utils/__tests__/model-image-parts.test.ts+79-0
  • addedapps/server/src/mastra/utils/context-formatting/__tests__/slack-attachments-context.test.ts+88-0
  • modifiedapps/server/src/mastra/utils/context-formatting/conversation-context.ts+6-0
  • modifiedapps/server/src/mastra/utils/context-formatting/event-context.ts+61-1
  • addedapps/server/src/mastra/utils/context-items/hydrate-channels.test.ts+203-0
  • modifiedapps/server/src/mastra/utils/context-items/hydrate.ts+108-17
  • addedapps/server/src/mastra/utils/model-image-parts.ts+111-0
  • modifiedapps/server/src/mastra/workflows/chat/chat-org-rules.ts+43-1
  • modifiedapps/server/src/mastra/workflows/chat/chat-workflow.ts+110-26
  • addedapps/server/src/mastra/workflows/chat/harness/__tests__/user-mcp-servers.test.ts+137-0
  • modifiedapps/server/src/mastra/workflows/chat/harness/user-mcp-servers.ts+18-8
  • modifiedapps/server/src/mastra/workflows/event-execution/on-event-agent-execution-workflow.ts+68-3
  • addedapps/server/src/scripts/__tests__/slack-manifest.test.ts+75-0
  • addedapps/server/src/scripts/rekey-whatsapp-message-ids.ts+0-0
  • addedapps/server/src/scripts/slack-images-probe.ts+183-0
  • addedapps/server/src/scripts/slack-images.ts+657-0
  • addedapps/server/src/scripts/slack-manifest.ts+171-0
  • modifiedapps/server/src/services/analytics/draft-analytics.ts+0-17
  • modifiedapps/server/src/services/channels/__test__/link-store.test.ts+281-0
  • addedapps/server/src/services/channels/__test__/octx-awaited.test.ts+36-0
  • modifiedapps/server/src/services/channels/adapters/index.ts+64-2
  • modifiedapps/server/src/services/channels/containers.ts+180-10
  • modifiedapps/server/src/services/channels/health.ts+19-1
  • modifiedapps/server/src/services/channels/history.ts+40-19
  • addedapps/server/src/services/channels/inspect.ts+251-0
  • addedapps/server/src/services/chat/chat-stream-listen.test.ts+311-0
  • addedapps/server/src/services/chat/chat-stream-listen.ts+197-0
  • modifiedapps/server/src/services/chat/chat-stream-store.test.ts+92-5
  • modifiedapps/server/src/services/chat/chat-stream-store.ts+317-17
  • modifiedapps/server/src/services/chat/chat-stream-writer.test.ts+95-0
  • modifiedapps/server/src/services/chat/chat-stream-writer.ts+120-16
  • modifiedapps/server/src/services/crm/__test__/channel-deal-binding.test.ts+8-1
  • modifiedapps/server/src/services/crm/__test__/channel-message-events.test.ts+136-78
  • modifiedapps/server/src/services/crm/__test__/linkedin-linking.test.ts+12-6
  • addedapps/server/src/services/crm/__tests__/channel-reactions.test.ts+99-0
  • modifiedapps/server/src/services/crm/__tests__/slack-events.ingest.test.ts+74-5
  • addedapps/server/src/services/crm/__tests__/slack-reactions.test.ts+84-0
  • modifiedapps/server/src/services/crm/channel-message-events.ts+122-131
  • addedapps/server/src/services/crm/channel-reactions.ts+108-0
  • modifiedapps/server/src/services/crm/conversation-aggregates.ts+25-4
  • addedapps/server/src/services/crm/conversation-slack-images.ts+175-0
  • modifiedapps/server/src/services/crm/conversations.ts+14-141
  • modifiedapps/server/src/services/crm/external-crm-events.ts+3-3
  • modifiedapps/server/src/services/crm/slack-events.ts+54-5
  • addedapps/server/src/services/crm/slack-reactions.ts+227-0
  • addedapps/server/src/services/crm/thread-conversation-link.ts+134-0
  • modifiedapps/server/src/services/field-values/__tests__/defaults-equivalence.test.ts+19-1
  • modifiedapps/server/src/services/field-values/defaults/call-level.ts+4-4
  • modifiedapps/server/src/services/field-values/defaults/discovery.ts+15-7
  • modifiedapps/server/src/services/field-values/defaults/product.ts+12-4
  • modifiedapps/server/src/services/field-values/defaults/qualification.ts+1-1
  • modifiedapps/server/src/services/field-values/defaults/tactics.ts+1-1
  • modifiedapps/server/src/services/field-values/defaults/voice.ts+1-1
  • modifiedapps/server/src/services/inbox/slack-messages.ts+172-7
  • modifiedapps/server/src/services/inbox/slack-thread.ts+22-1
  • modifiedapps/server/src/services/integrations/constants.ts+5-2
  • modifiedapps/server/src/services/integrations/linkedin/__test__/messaging.test.ts+75-2
  • modifiedapps/server/src/services/integrations/linkedin/messaging.ts+286-32
  • modifiedapps/server/src/services/integrations/linkedin/unipile-client.ts+26-0
  • addedapps/server/src/services/integrations/mcp/__tests__/oauth-drivers.test.ts+187-0
  • modifiedapps/server/src/services/integrations/mcp/index.ts+7-1
  • addedapps/server/src/services/integrations/mcp/provider-ids.ts+14-0
  • addedapps/server/src/services/integrations/mcp/providers/dcr-pkce-driver.ts+173-0
  • addedapps/server/src/services/integrations/mcp/providers/mintlify.ts+16-0
  • modifiedapps/server/src/services/integrations/mcp/providers/notion.ts+9-138
  • addedapps/server/src/services/integrations/mcp/providers/pylon.ts+15-0
  • addedapps/server/src/services/integrations/slack/__tests__/slack-attachment-read.test.ts+330-0
  • addedapps/server/src/services/integrations/slack/__tests__/slack-attachment-urls.test.ts+81-0
  • modifiedapps/server/src/services/integrations/slack/__tests__/slack-block-extraction.test.ts+78-0
  • addedapps/server/src/services/integrations/slack/__tests__/slack-dm-admit.test.ts+255-0
  • addedapps/server/src/services/integrations/slack/__tests__/slack-files-inbound.test.ts+199-0
  • addedapps/server/src/services/integrations/slack/__tests__/slack-scope-drift.test.ts+89-0
  • modifiedapps/server/src/services/integrations/slack/slack-api.ts+107-1
  • addedapps/server/src/services/integrations/slack/slack-attachment-read.ts+333-0
  • addedapps/server/src/services/integrations/slack/slack-attachment-urls.ts+63-0
  • addedapps/server/src/services/integrations/slack/slack-dm-admit.ts+185-0
  • modifiedapps/server/src/services/integrations/slack/slack-events-webhook.ts+196-0
  • modifiedapps/server/src/services/integrations/slack/slack-files.ts+103-24
  • modifiedapps/server/src/services/integrations/slack/slack-sync.ts+266-4
  • modifiedapps/server/src/services/integrations/slack/slack.ts+148-4
  • addedapps/server/src/services/integrations/whatsapp/__tests__/message-identity.test.ts+98-0
  • addedapps/server/src/services/integrations/whatsapp/__tests__/message-surface-fields.test.ts+47-0
  • addedapps/server/src/services/integrations/whatsapp/__tests__/participant-refs.test.ts+41-0
  • modifiedapps/server/src/services/integrations/whatsapp/index.ts+494-18
  • addedapps/server/src/services/mail/initial-sync/__tests__/resolve-aop-step.test.ts+92-0
  • modifiedapps/server/src/services/mail/initial-sync/finalize-steps.ts+19-2
  • modifiedapps/server/src/services/mail/initial-sync/handlers.ts+33-9
  • modifiedapps/server/src/services/mail/list/route-list-threads.ts+7-0
  • modifiedapps/server/src/services/mail/sync/threads.ts+21-1
  • removedapps/server/src/services/notifications/internal/health-checks.ts+0-352
  • modifiedapps/server/src/services/notifications/internal/slack-notifier.ts+3-103
  • modifiedapps/server/src/services/notifications/types.ts+0-62
  • modifiedapps/server/src/services/playbook/playbook-execution-triggers.ts+17-0
  • modifiedapps/server/src/services/playbook/templates/inbound-email-notifier.ts+75-5
  • modifiedapps/server/src/trpc/routes/admin-notifications.ts+0-69
  • modifiedapps/server/src/trpc/routes/admin-subagent.ts+12-2
  • modifiedapps/server/src/trpc/routes/admin.ts+4-17
  • modifiedapps/server/src/trpc/routes/channels.ts+157-1
  • modifiedapps/server/src/trpc/routes/crm.ts+228-22
  • modifiedapps/server/src/trpc/routes/inbox.ts+58-1
  • modifiedapps/server/src/trpc/routes/integrations.ts+19-4
  • modifiedapps/server/src/trpc/routes/linkedin.ts+1-1
  • modifiedapps/server/src/trpc/routes/outbound.ts+2-2
  • modifiedapps/server/src/workflows/__tests__/conversation-sync-kv-flow.test.ts+0-1
  • modifiedapps/server/src/workflows/step-registry/conversation-sync/finalize-steps.ts+3-12
  • modifiedaws/lib/runtime-contract.ts+11-0
  • modifiedaws/lib/stacks/app-stack.ts+2-3
  • addeddocs/audits/aspire/RETRIEVAL.md+111-0
  • modifieddocs/audits/aspire/aspire-customer-vocab.md+99-0
  • addeddocs/audits/aspire/aspire-questions-for-anand.html+1249-0
  • modifieddocs/audits/pirros/RETRIEVAL.md+34-8
  • modifieddocs/audits/pirros/design/pirros-aspire-master-playbook-adherence-taxonomy-map-2026-08-13.md+352-224
  • modifieddocs/audits/pirros/pirros-customer-vocab.md+180-25
  • modifieddocs/audits/pirros/pirros-questions-for-peter.html+648-281
  • addeddocs/audits/taxonomy-extraction-run-plan-2026-08-16.md+60-0
  • modifieddocs/audits/taxonomy-question-master.html+281-260
  • addeddocs/audits/vooma/RETRIEVAL.md+153-0
  • addeddocs/audits/vooma/vooma-2026-08-14-requirements.md+129-0
  • addeddocs/audits/vooma/vooma-crm-compatibility-preflight.md+106-0
  • modifieddocs/audits/vooma/vooma-customer-vocab.md+92-0
  • addeddocs/audits/vooma/vooma-dropped-meeting-recovery.md+161-0
  • addeddocs/audits/vooma/vooma-questions-for-tenzin.html+1523-0
  • addeddocs/audits/vooma/vooma-stage-criteria-for-approval.md+29-0
  • addeddocs/design/audit-to-setup-handoff.md+111-0
  • addeddocs/design/mcp-oauth-pylon-mintlify.md+128-0
  • modifiedpnpm-lock.yaml+75-29