ENGLISH·COURSE API
    Preparing search index...
    • Reads and validates the location manifest at filePath.

      Parameters

      • filePath: string

        Path to content-locations.json

      Returns
          | {
              version: 1;
              stores: Record<
                  string,
                  | { driver: "local"; baseUrl: string; pathPrefix: string }
                  | {
                      driver: "s3";
                      bucket: string;
                      region: string;
                      endpoint?: string;
                      forcePathStyle: boolean;
                      pathPrefix: string;
                      visibility: "public" | "signed";
                      publicUrl?: string;
                      signedUrlTtlSeconds?: number;
                  }
                  | {
                      driver: "gcs";
                      bucket: string;
                      apiEndpoint?: string;
                      pathPrefix: string;
                      visibility: "public"
                      | "signed";
                      publicUrl?: string;
                      signedUrlTtlSeconds?: number;
                  },
              >;
              default: string;
              routes: { prefix: string; store: string }[];
              overrides: Record<string, string>;
              assets: Record<string, { store?: string; objectPath?: string }>;
          }
          | null

      The parsed manifest, or null when the file does not exist

      • {
            version: 1;
            stores: Record<
                string,
                | { driver: "local"; baseUrl: string; pathPrefix: string }
                | {
                    driver: "s3";
                    bucket: string;
                    region: string;
                    endpoint?: string;
                    forcePathStyle: boolean;
                    pathPrefix: string;
                    visibility: "public" | "signed";
                    publicUrl?: string;
                    signedUrlTtlSeconds?: number;
                }
                | {
                    driver: "gcs";
                    bucket: string;
                    apiEndpoint?: string;
                    pathPrefix: string;
                    visibility: "public"
                    | "signed";
                    publicUrl?: string;
                    signedUrlTtlSeconds?: number;
                },
            >;
            default: string;
            routes: { prefix: string; store: string }[];
            overrides: Record<string, string>;
            assets: Record<string, { store?: string; objectPath?: string }>;
        }
        • version: 1
        • stores: Record<
              string,
              | { driver: "local"; baseUrl: string; pathPrefix: string }
              | {
                  driver: "s3";
                  bucket: string;
                  region: string;
                  endpoint?: string;
                  forcePathStyle: boolean;
                  pathPrefix: string;
                  visibility: "public" | "signed";
                  publicUrl?: string;
                  signedUrlTtlSeconds?: number;
              }
              | {
                  driver: "gcs";
                  bucket: string;
                  apiEndpoint?: string;
                  pathPrefix: string;
                  visibility: "public"
                  | "signed";
                  publicUrl?: string;
                  signedUrlTtlSeconds?: number;
              },
          >
        • default: string

          Store that answers for a key matching no override and no route.

        • routes: { prefix: string; store: string }[]
        • overrides: Record<string, string>

          Exact key → store name, for single assets that escape their prefix.

        • assets: Record<string, { store?: string; objectPath?: string }>

          Exact key → declared placement. Outranks every other layer.

      • null

      Absence and invalidity mean different things. No manifest is a deployment that has not been configured, and the caller falls back to singleLocalStoreManifest — the pre-manifest behaviour. A manifest that exists but does not validate is an authoring mistake, and aborts.

      if the manifest exists but is invalid