Capsium TypeScript API
    Preparing search index...

    Interface CapsiumPackage

    interface CapsiumPackage {
        authentication?: {
            authentication: {
                basicAuth?: { enabled: boolean; passwdFile: string; realm?: string };
                oauth2?: {
                    authorizationUrl: string;
                    clientId: string;
                    enabled: boolean;
                    provider?: string;
                    redirectPath: string;
                    scopes?: string[];
                    tokenUrl: string;
                    userinfoUrl?: string;
                };
            };
        };
        files: ReadonlyMap<string, Uint8Array<ArrayBufferLike>>;
        manifest: {
            resources: Record<
                string,
                { type: string; version?: string; visibility?: "exported"
                | "private" },
            >;
        };
        metadata: {
            author?: string;
            dependencies?: Record<string, string>;
            description: string;
            guid: string;
            license?: string;
            modules?: string[];
            name: string;
            readOnly?: boolean;
            repository?: { type: string; url: string };
            uuid: string;
            version: string;
        };
        routes: {
            index?: string;
            routes: (
                | {
                    headers?: Record<string, string>;
                    headersFile?: string;
                    path: string;
                    remap?: string;
                    requestHeaders?: Record<string, string>;
                    resource: string;
                    responseHeaders?: Record<string, string>;
                    responseRewrite?: { body?: string; headers?: Record<string, string> };
                    visibility?: "exported" | "private";
                }
                | {
                    accessControl?: {
                        authenticationRequired?: boolean;
                        roles?: string[];
                        [key: string]: unknown;
                    };
                    dataset: string;
                    path: string;
                }
                | {
                    handler: string;
                    method: string;
                    path: string;
                    remap?: string;
                    requestHeaders?: Record<string, string>;
                    responseHeaders?: Record<string, string>;
                    responseRewrite?: { body?: string; headers?: Record<string, string> };
                    visibility?: "exported" | "private";
                    [key: string]: unknown;
                }
            )[];
        };
        security?: {
            security: {
                digitalSignatures?: { publicKey: string; signatureFile: string };
                integrityChecks: {
                    checksumAlgorithm: "SHA-256";
                    checksums: Record<string, string>;
                };
            };
        };
        storage?: {
            storage: {
                dataSets: Record<
                    string,
                    | { schemaFile?: string; schemaType?: string; source: string }
                    | { databaseFile: string; table: string },
                >;
                layers?: {
                    path: string;
                    visibility?: "exported" | "private";
                    writable?: boolean;
                }[];
            };
        };
    }
    Index
    authentication?: {
        authentication: {
            basicAuth?: { enabled: boolean; passwdFile: string; realm?: string };
            oauth2?: {
                authorizationUrl: string;
                clientId: string;
                enabled: boolean;
                provider?: string;
                redirectPath: string;
                scopes?: string[];
                tokenUrl: string;
                userinfoUrl?: string;
            };
        };
    }
    files: ReadonlyMap<string, Uint8Array<ArrayBufferLike>>

    Raw package bytes keyed by package-relative POSIX path.

    manifest: {
        resources: Record<
            string,
            { type: string; version?: string; visibility?: "exported"
            | "private" },
        >;
    }
    metadata: {
        author?: string;
        dependencies?: Record<string, string>;
        description: string;
        guid: string;
        license?: string;
        modules?: string[];
        name: string;
        readOnly?: boolean;
        repository?: { type: string; url: string };
        uuid: string;
        version: string;
    }

    Type Declaration

    • Optionalauthor?: string
    • Optionaldependencies?: Record<string, string>

      Object form: package guid -> semver range.

    • description: string
    • guid: string
    • Optionallicense?: string
    • Optionalmodules?: string[]

      Claimed optional modules (kebab-case identifiers, e.g. "signatures").

    • name: string
    • OptionalreadOnly?: boolean
    • Optionalrepository?: { type: string; url: string }
    • uuid: string
    • version: string
    routes: {
        index?: string;
        routes: (
            | {
                headers?: Record<string, string>;
                headersFile?: string;
                path: string;
                remap?: string;
                requestHeaders?: Record<string, string>;
                resource: string;
                responseHeaders?: Record<string, string>;
                responseRewrite?: { body?: string; headers?: Record<string, string> };
                visibility?: "exported" | "private";
            }
            | {
                accessControl?: {
                    authenticationRequired?: boolean;
                    roles?: string[];
                    [key: string]: unknown;
                };
                dataset: string;
                path: string;
            }
            | {
                handler: string;
                method: string;
                path: string;
                remap?: string;
                requestHeaders?: Record<string, string>;
                responseHeaders?: Record<string, string>;
                responseRewrite?: { body?: string; headers?: Record<string, string> };
                visibility?: "exported" | "private";
                [key: string]: unknown;
            }
        )[];
    }
    security?: {
        security: {
            digitalSignatures?: { publicKey: string; signatureFile: string };
            integrityChecks: {
                checksumAlgorithm: "SHA-256";
                checksums: Record<string, string>;
            };
        };
    }
    storage?: {
        storage: {
            dataSets: Record<
                string,
                | { schemaFile?: string; schemaType?: string; source: string }
                | { databaseFile: string; table: string },
            >;
            layers?: {
                path: string;
                visibility?: "exported" | "private";
                writable?: boolean;
            }[];
        };
    }