<?xml version="1.0" encoding="UTF-8"?>
<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:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides"
  xsi:type="TaskPaneApp">

  <!-- Production: powerpoint.priviq.ai | Dev: localhost:3000

       WARUM EIN DRITTES MANIFEST UND NICHT EIN GEMEINSAMES:

       Ein Manifest kann mehrere <Host>-Elemente tragen — für Excel, Word und
       PowerPoint zusammen wäre das aber eine Falle. Microsoft Learn
       ("Understand the logic of API requirement configuration") ist
       ausdrücklich: Anforderungssätze zweier verschiedener Anwendungen im
       BASIS-Requirements-Block deaktivieren das Add-in in ALLEN
       Office-Anwendungen. Das Excel-Manifest hat genau so einen Basis-Block
       (Excel-Anforderungssatz 1.13, nötig für insertWorksheetsFromBase64), das
       Word-Manifest einen für Word.

       Drei Manifeste umgehen das vollständig und entkoppeln zugleich die
       Freigabezyklen: eine PowerPoint-Version zu heben zwingt niemanden, das
       Excel- oder Word-Add-in im M365 Admin Center neu zu verteilen. -->

  <!-- STABIL HALTEN. Excel ist …0001, Word ist …0002, PowerPoint ist …0003.
       Die Id ist der Primärschlüssel jeder Installation: sie zu ändern
       behandelt Office als völlig neue App und bricht jede bestehende
       Installation. Bei Aktualisierungen NUR <Version> erhöhen. -->
  <Id>a1b2c3d4-e5f6-7890-abcd-ef1234560003</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>Priviq AI GmbH</ProviderName>
  <DefaultLocale>de-DE</DefaultLocale>
  <DisplayName DefaultValue="Priviq PowerPoint Agent">
    <Override Locale="en-US" Value="Priviq PowerPoint Agent" />
  </DisplayName>
  <Description DefaultValue="KI-gestützte Präsentationsarbeit — DSGVO-konform, gehostet in Deutschland">
    <Override Locale="en-US" Value="AI-powered presentation work — GDPR-compliant, hosted in Germany" />
  </Description>
  <IconUrl DefaultValue="https://powerpoint.priviq.ai/assets/priviq-logo-32.png" />
  <HighResolutionIconUrl DefaultValue="https://powerpoint.priviq.ai/assets/priviq-logo-64.png" />
  <SupportUrl DefaultValue="https://priviq.ai/support">
    <Override Locale="en-US" Value="https://priviq.ai/en/support" />
  </SupportUrl>

  <!-- agent.priviq.ai bedient sowohl die Agent-API als auch den Supabase-Proxy
       unter /supabase/*, ist also die einzige Backend-Herkunft des Panes. -->
  <AppDomains>
    <AppDomain>https://powerpoint.priviq.ai</AppDomain>
    <AppDomain>https://agent.priviq.ai</AppDomain>
  </AppDomains>

  <Hosts>
    <Host Name="Presentation" />
  </Hosts>

  <!-- PowerPointApi 1.4 ist die Untergrenze, die die Werkzeuge tatsächlich
       brauchen:
         · shape.textFrame / textRange.text  (Formtext lesen UND schreiben)
         · shape.name und shape.type         (die Anker von set_shape_text)
         · shapes.addTextBox                 (add_text_box)
       Alle drei sind ab 1.4 verfügbar; slides.add und slide.layout.name
       kommen schon aus 1.3. Höher zu gehen wäre teuer erkauft: 1.8 brächte
       slide.moveTo (Folien umsortieren), würde aber Hosts ausschliessen, auf
       denen alles andere einwandfrei liefe. Die Lücke ist stattdessen im
       insert_slide-Executor offen benannt und wird zur Laufzeit geprüft. -->
  <Requirements>
    <Sets DefaultMinVersion="1.1">
      <Set Name="PowerPointApi" MinVersion="1.4" />
    </Sets>
  </Requirements>

  <DefaultSettings>
    <SourceLocation DefaultValue="https://powerpoint.priviq.ai/taskpane.html" />
  </DefaultSettings>

  <Permissions>ReadWriteDocument</Permissions>

  <VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Hosts>
      <!-- xsi:type="Presentation" ist die VersionOverrides-Schreibweise für
           PowerPoint; im Basis-Manifest heisst derselbe Host
           Name="Presentation". -->
      <Host xsi:type="Presentation">
        <DesktopFormFactor>
          <GetStarted>
            <Title resid="GetStarted.Title" />
            <Description resid="GetStarted.Description" />
            <LearnMoreUrl resid="GetStarted.LearnMoreUrl" />
          </GetStarted>

          <ExtensionPoint xsi:type="PrimaryCommandSurface">
            <OfficeTab id="TabHome">
              <Group id="PriviqGroup">
                <Label resid="PriviqGroup.Label" />
                <Icon>
                  <bt:Image size="16" resid="Icon.16x16" />
                  <bt:Image size="32" resid="Icon.32x32" />
                  <bt:Image size="80" resid="Icon.80x80" />
                </Icon>

                <!-- Taskpane Button -->
                <Control xsi:type="Button" id="TaskpaneButton">
                  <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">
                    <TaskpaneId>PriviqTaskpane</TaskpaneId>
                    <SourceLocation resid="Taskpane.Url" />
                  </Action>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>

    <Resources>
      <bt:Images>
        <bt:Image id="Icon.16x16" DefaultValue="https://powerpoint.priviq.ai/assets/priviq-logo-16.png" />
        <bt:Image id="Icon.32x32" DefaultValue="https://powerpoint.priviq.ai/assets/priviq-logo-32.png" />
        <bt:Image id="Icon.80x80" DefaultValue="https://powerpoint.priviq.ai/assets/priviq-logo-80.png" />
      </bt:Images>
      <bt:Urls>
        <bt:Url id="Taskpane.Url" DefaultValue="https://powerpoint.priviq.ai/taskpane.html">
          <bt:Override Locale="en-US" Value="https://powerpoint.priviq.ai/taskpane.html" />
        </bt:Url>
        <bt:Url id="GetStarted.LearnMoreUrl" DefaultValue="https://priviq.ai">
          <bt:Override Locale="en-US" Value="https://priviq.ai/en/" />
        </bt:Url>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="PriviqGroup.Label" DefaultValue="Priviq AI">
          <bt:Override Locale="en-US" Value="Priviq AI" />
        </bt:String>
        <bt:String id="TaskpaneButton.Label" DefaultValue="PowerPoint-Agent">
          <bt:Override Locale="en-US" Value="PowerPoint Agent" />
        </bt:String>
        <bt:String id="GetStarted.Title" DefaultValue="Priviq PowerPoint Agent">
          <bt:Override Locale="en-US" Value="Priviq PowerPoint Agent" />
        </bt:String>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="TaskpaneButton.Tooltip" DefaultValue="Öffne den Priviq PowerPoint Agent für die Arbeit an deiner Präsentation">
          <bt:Override Locale="en-US" Value="Open the Priviq PowerPoint Agent to work on your presentation" />
        </bt:String>
        <bt:String id="GetStarted.Description" DefaultValue="Baue Foliengerüste auf, halte Titel und Textbausteine konsistent und arbeite an Ergebnisberichten — mit KI-Unterstützung.">
          <bt:Override Locale="en-US" Value="Build slide outlines, keep titles and standard text consistent, and work on result decks with AI assistance." />
        </bt:String>
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
</OfficeApp>
