<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OfficeApp
  xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
  xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0"
  xsi:type="MailApp">

  <!-- Identity -->
  <Id>d8f3a2b1-4c5e-6f7a-8b9c-0d1e2f3a4b5c</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>Artur Ziemba</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>

  <DisplayName DefaultValue="MailCopilot AI"/>
  <Description DefaultValue="Generate context-aware AI email replies right inside Outlook. More on our side: https://mailcopilotextension.com/"/>

  <IconUrl DefaultValue="https://mailcopilotextension.com/assets/64.png"/>
  <HighResolutionIconUrl DefaultValue="https://mailcopilotextension.com/assets/128.png"/>
  <SupportUrl DefaultValue="https://mailcopilotextension.com/support"/>

  <!-- Hosts -->
  <Hosts>
    <Host Name="Mailbox"/>
  </Hosts>

  <!-- Requirements -->
  <Requirements>
    <Sets DefaultMinVersion="1.1">
      <Set Name="Mailbox" MinVersion="1.1"/>
    </Sets>
  </Requirements>

  <FormSettings>
  <Form xsi:type="ItemRead">
    <DesktopSettings>
      <SourceLocation DefaultValue="https://mailcopilotextension.com/outlook-addin/taskpane.html"/>
      <RequestedHeight>250</RequestedHeight>
    </DesktopSettings>
  </Form>

  <Form xsi:type="ItemEdit">
    <DesktopSettings>
      <SourceLocation DefaultValue="https://mailcopilotextension.com/outlook-addin/taskpane.html"/>
    </DesktopSettings>
  </Form>
</FormSettings>

  <Permissions>ReadWriteMailbox</Permissions>

  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read"/>
    <Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit"/>
  </Rule>

  <DisableEntityHighlighting>false</DisableEntityHighlighting>

  <!-- VersionOverrides -->
  <VersionOverrides
    xmlns="http://schemas.microsoft.com/office/mailappversionoverrides"
    xsi:type="VersionOverridesV1_0">

    <Requirements>
      <bt:Sets DefaultMinVersion="1.5">
        <bt:Set Name="Mailbox" MinVersion="1.5"/>
      </bt:Sets>
    </Requirements>

    <Hosts>
      <Host xsi:type="MailHost">
        <DesktopFormFactor>

          <FunctionFile resid="Taskpane.Url"/>

          <!-- Read -->
          <ExtensionPoint xsi:type="MessageReadCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="msgReadGroup">
                <Label resid="GroupLabel"/>

                <Control xsi:type="Button" id="msgReadOpenPaneButton">
                  <Label resid="TaskpaneButton.Label"/>
                  <Supertip>
                    <Title resid="TaskpaneButton.Label"/>
                    <Description resid="TaskpaneButton.Tooltip"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16x16"/>
                    <bt:Image size="32" resid="Icon.32x32"/>
                    <bt:Image size="80" resid="Icon.80x80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="Taskpane.Url"/>
                  </Action>
                </Control>

              </Group>
            </OfficeTab>
          </ExtensionPoint>

          <!-- Compose -->
          <ExtensionPoint xsi:type="MessageComposeCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="msgComposeGroup">
                <Label resid="GroupLabel"/>

                <Control xsi:type="Button" id="msgComposeOpenPaneButton">
                  <Label resid="TaskpaneButton.Label"/>
                  <Supertip>
                    <Title resid="TaskpaneButton.Label"/>
                    <Description resid="TaskpaneButton.TooltipCompose"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16x16"/>
                    <bt:Image size="32" resid="Icon.32x32"/>
                    <bt:Image size="80" resid="Icon.80x80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="Taskpane.Url"/>
                  </Action>
                </Control>

              </Group>
            </OfficeTab>
          </ExtensionPoint>

        </DesktopFormFactor>
      </Host>
    </Hosts>

    <!-- Resources -->
    <Resources>
      <bt:Images>
        <bt:Image id="Icon.16x16" DefaultValue="https://mailcopilotextension.com/assets/16.png"/>
        <bt:Image id="Icon.32x32" DefaultValue="https://mailcopilotextension.com/assets/32.png"/>
        <bt:Image id="Icon.80x80" DefaultValue="https://mailcopilotextension.com/assets/80.png"/>
      </bt:Images>

      <bt:Urls>
        <bt:Url id="Taskpane.Url" DefaultValue="https://mailcopilotextension.com/outlook-addin/taskpane.html"/>
      </bt:Urls>

      <bt:ShortStrings>
        <bt:String id="GroupLabel" DefaultValue="MailCopilot"/>
        <bt:String id="TaskpaneButton.Label" DefaultValue="MailCopilot"/>
      </bt:ShortStrings>

      <bt:LongStrings>
        <bt:String id="TaskpaneButton.Tooltip" DefaultValue="Open MailCopilot to generate an AI reply for this email"/>
        <bt:String id="TaskpaneButton.TooltipCompose" DefaultValue="Open MailCopilot to draft a new email with AI"/>
      </bt:LongStrings>
    </Resources>

    <!-- VersionOverrides V1_1: event-based activation (auto-open on new compose) -->
    <!-- Nested inside V1_0; Outlook uses V1_1 if supported, falls back to V1_0. -->
    <VersionOverrides
      xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1"
      xsi:type="VersionOverridesV1_1">

      <Requirements>
        <bt:Sets DefaultMinVersion="1.13">
          <bt:Set Name="Mailbox" MinVersion="1.13"/>
        </bt:Sets>
      </Requirements>

      <Hosts>
        <Host xsi:type="MailHost">
          <!-- Runtimes must appear before DesktopFormFactor.
               The Runtime resid points to the TASKPANE html so that
               Office.addin.showAsTaskpane() (SharedRuntime 1.1) opens
               the correct pane from the event handler.
               Classic Outlook on Windows uses the JS Override instead. -->
          <Runtimes>
            <Runtime resid="LaunchEvents.Html">
              <Override type="javascript" resid="LaunchEvents.JS"/>
            </Runtime>
          </Runtimes>
          <DesktopFormFactor>
            <FunctionFile resid="LaunchEvents.Html"/>

            <!-- Read button with SupportsPinning — valid only in V1_1 namespace -->
            <ExtensionPoint xsi:type="MessageReadCommandSurface">
              <OfficeTab id="TabDefault">
                <Group id="msgReadGroup.v11">
                  <Label resid="GroupLabel.v11"/>
                  <Control xsi:type="Button" id="msgReadOpenPaneButton.v11">
                    <Label resid="TaskpaneButton.Label.v11"/>
                    <Supertip>
                      <Title resid="TaskpaneButton.Label.v11"/>
                      <Description resid="TaskpaneButton.Tooltip.v11"/>
                    </Supertip>
                    <Icon>
                      <bt:Image size="16" resid="Icon.16x16.v11"/>
                      <bt:Image size="32" resid="Icon.32x32.v11"/>
                      <bt:Image size="80" resid="Icon.80x80.v11"/>
                    </Icon>
                    <Action xsi:type="ShowTaskpane">
                      <SourceLocation resid="Taskpane.Url.v11"/>
                      <SupportsNoItemContext>true</SupportsNoItemContext>
                    </Action>
                  </Control>
                </Group>
              </OfficeTab>
            </ExtensionPoint>

            <!-- Compose button (required in V1_1 — V1_0 is ignored when V1_1 is active) -->
            <ExtensionPoint xsi:type="MessageComposeCommandSurface">
              <OfficeTab id="TabDefault">
                <Group id="msgComposeGroup.v11">
                  <Label resid="GroupLabel.v11"/>
                  <Control xsi:type="Button" id="msgComposeOpenPaneButton.v11">
                    <Label resid="TaskpaneButton.Label.v11"/>
                    <Supertip>
                      <Title resid="TaskpaneButton.Label.v11"/>
                      <Description resid="Btn.TooltipCompose.v11"/>
                    </Supertip>
                    <Icon>
                      <bt:Image size="16" resid="Icon.16x16.v11"/>
                      <bt:Image size="32" resid="Icon.32x32.v11"/>
                      <bt:Image size="80" resid="Icon.80x80.v11"/>
                    </Icon>
                    <Action xsi:type="ShowTaskpane">
                      <SourceLocation resid="Taskpane.Url.v11"/>
                    </Action>
                  </Control>
                </Group>
              </OfficeTab>
            </ExtensionPoint>

            <!-- Auto-open on new compose -->
            <ExtensionPoint xsi:type="LaunchEvent">
              <LaunchEvents>
                <LaunchEvent Type="OnNewMessageCompose" FunctionName="onNewMessageCompose"/>
              </LaunchEvents>
              <SourceLocation resid="LaunchEvents.Html"/>
            </ExtensionPoint>


          </DesktopFormFactor>
        </Host>
      </Hosts>

      <Resources>
        <bt:Images>
          <bt:Image id="Icon.16x16.v11" DefaultValue="https://mailcopilotextension.com/assets/16.png"/>
          <bt:Image id="Icon.32x32.v11" DefaultValue="https://mailcopilotextension.com/assets/32.png"/>
          <bt:Image id="Icon.80x80.v11" DefaultValue="https://mailcopilotextension.com/assets/80.png"/>
        </bt:Images>
        <bt:Urls>
          <bt:Url id="Taskpane.Url.v11"  DefaultValue="https://mailcopilotextension.com/outlook-addin/taskpane.html"/>
          <bt:Url id="LaunchEvents.Html" DefaultValue="https://mailcopilotextension.com/outlook-addin/launchEvents.html"/>
          <bt:Url id="LaunchEvents.JS"   DefaultValue="https://mailcopilotextension.com/outlook-addin/launchEvents.js"/>
        </bt:Urls>
        <bt:ShortStrings>
          <bt:String id="GroupLabel.v11"          DefaultValue="MailCopilot"/>
          <bt:String id="TaskpaneButton.Label.v11" DefaultValue="MailCopilot"/>
        </bt:ShortStrings>
        <bt:LongStrings>
          <bt:String id="TaskpaneButton.Tooltip.v11"        DefaultValue="Open MailCopilot to generate an AI reply for this email"/>
          <bt:String id="Btn.TooltipCompose.v11" DefaultValue="Open MailCopilot to draft a new email with AI"/>
        </bt:LongStrings>
      </Resources>

      <!--
        WebApplicationInfo enables Office SSO (Office.auth.getAccessToken).
        Must appear AFTER Resources in the V1_1 schema.
        The Azure AD app must have:
          - Application ID URI: api://mailcopilotextension.com/5dbd3bed-5632-4b8e-ba98-fddd550195bc
          - Scope "access_as_user" exposed under that URI
          - Office client apps pre-authorised: d3590ed6-... 57fb890c-... 08e18876-...
      -->
      <WebApplicationInfo>
        <Id>5dbd3bed-5632-4b8e-ba98-fddd550195bc</Id>
        <Resource>api://mailcopilotextension.com/5dbd3bed-5632-4b8e-ba98-fddd550195bc</Resource>
        <Scopes>
          <Scope>openid</Scope>
          <Scope>profile</Scope>
          <Scope>email</Scope>
        </Scopes>
      </WebApplicationInfo>

    </VersionOverrides>

  </VersionOverrides>

</OfficeApp>