<?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">

  <Id>d420d2ae-ff0d-4598-a530-20f20c612f8a</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>rooom AG</ProviderName>
  <DefaultLocale>de-DE</DefaultLocale>
  <DisplayName DefaultValue="SovrGPT für Excel" />
  <Description DefaultValue="Souveräner KI-Assistent in der Excel-Seitenleiste: Formeln, Blätter, Tabellen und Diagramme auf Zuruf — jede Änderung vorher zur Freigabe, mit eigenem Rückgängig. Modelle laufen in der EU." />
  <IconUrl DefaultValue="https://sovrgpt.com/xl/icon/32.png" />
  <HighResolutionIconUrl DefaultValue="https://sovrgpt.com/xl/icon/80.png" />
  <SupportUrl DefaultValue="https://sovrgpt.com/docs" />

  <!-- Ohne diesen Eintrag behandelt Office jede Navigation auf unsere eigene
       Domain als externen Sprung und öffnet sie im Browser statt im Pane.

       🔴 ACHTUNG (Clickjacking-Schutz, 2026-09-16): das heisst NICHT mehr,
       dass eine solche Navigation im Pane auch ankommt. Jede App-Seite ausser
       /xl und /xl/commands sendet "X-Frame-Options: DENY" und
       "Content-Security-Policy: frame-ancestors 'none'" — die Quelle steht in
       lib/next-header-rules.ts als APP_NO_FRAME_SOURCE. Der Aufgabenbereich IST
       im Web ein iframe; eine In-Pane-Navigation auf /chat, /settings oder
       /login liefert dort also ein leeres Pane, ohne Fehlermeldung und ohne
       Serverspur.

       Der Eintrag bleibt richtig (er hält Office davon ab, eigene Links nach
       aussen zu geben), aber er ist KEINE Erlaubnis, im Pane zu navigieren.
       Links aus dem Pane gehen über einen Anker mit target="_blank" in ein
       echtes Browserfenster. Ein Wächter in tests/frame-ancestors.test.ts hält
       den ganzen Modulgraphen von app/xl frei von next/link, useRouter und
       location-Zuweisungen.

       🔑 Wer hier einen dritten von Office eingerahmten Pfad ergänzt, muss ihn
       in APP_NO_FRAME_SOURCE mit ausnehmen — sonst bleibt er im Web weiss. Der
       Test liest die Rahmen-Pfade aus diesem Manifest und vergleicht sie mit
       der Ausnahmeliste. -->
  <AppDomains>
    <AppDomain>https://sovrgpt.com</AppDomain>
  </AppDomains>

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

  <!-- 🔑 Bewusst 1.1, der kleinste gemeinsame Nenner. Alles darüber wird zur
       LAUFZEIT geprüft (isSetSupported in app/xl/office-bridge.ts). Ein
       höherer Wert hier würde das Add-in auf Office 2019/2021 gar nicht erst
       laden lassen — statt dort mit weniger Komfort zu laufen. -->
  <Requirements>
    <Sets DefaultMinVersion="1.1">
      <Set Name="ExcelApi" MinVersion="1.1" />
    </Sets>
  </Requirements>

  <DefaultSettings>
    <SourceLocation DefaultValue="https://sovrgpt.com/xl" />
  </DefaultSettings>

  <!-- Das Add-in schreibt in die Mappe; weniger als ReadWriteDocument geht
       für diesen Zweck nicht. -->
  <Permissions>ReadWriteDocument</Permissions>

  <VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Hosts>
      <Host xsi:type="Workbook">
        <DesktopFormFactor>
          <FunctionFile resid="Commands.Url" />
          <ExtensionPoint xsi:type="PrimaryCommandSurface">
            <OfficeTab id="TabHome">
              <Group id="SovrGptGroup">
                <Label resid="Group.Label" />
                <Icon>
                  <bt:Image size="16" resid="Icon.16" />
                  <bt:Image size="32" resid="Icon.32" />
                  <bt:Image size="80" resid="Icon.80" />
                </Icon>
                <Control xsi:type="Button" id="SovrGptTaskpaneButton">
                  <Label resid="Taskpane.Label" />
                  <Supertip>
                    <Title resid="Taskpane.Label" />
                    <Description resid="Taskpane.Tooltip" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16" />
                    <bt:Image size="32" resid="Icon.32" />
                    <bt:Image size="80" resid="Icon.80" />
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <TaskpaneId>SovrGptTaskpane</TaskpaneId>
                    <SourceLocation resid="Taskpane.Url" />
                  </Action>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>

    <Resources>
      <bt:Images>
        <bt:Image id="Icon.16" DefaultValue="https://sovrgpt.com/xl/icon/16.png" />
        <bt:Image id="Icon.32" DefaultValue="https://sovrgpt.com/xl/icon/32.png" />
        <bt:Image id="Icon.80" DefaultValue="https://sovrgpt.com/xl/icon/80.png" />
      </bt:Images>
      <bt:Urls>
        <bt:Url id="Taskpane.Url" DefaultValue="https://sovrgpt.com/xl" />
        <bt:Url id="Commands.Url" DefaultValue="https://sovrgpt.com/xl/commands" />
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="Group.Label" DefaultValue="SovrGPT" />
        <bt:String id="Taskpane.Label" DefaultValue="Assistent öffnen" />
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="Taskpane.Tooltip" DefaultValue="Öffnet die SovrGPT-Seitenleiste. Beschreibe, was mit der Mappe passieren soll — du siehst jede Änderung, bevor sie geschrieben wird." />
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
</OfficeApp>
