@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
53 lines • 2.29 kB
TypeScript
import { z } from 'zod';
export type S3BrowserOperation = 'GET' | 'PUT' | 'HEAD' | 'DELETE' | 'LIST' | 'COPY';
export interface S3BrowserSignOptions {
contentType?: string;
ttlSec?: number;
listPrefix?: string;
listDelimiter?: string;
listContinuationToken?: string;
copySource?: string;
}
export type S3BrowserPresignedUrlProvider = (path: string, operation: S3BrowserOperation, options?: S3BrowserSignOptions) => Promise<string>;
export interface S3HttpAgents {
httpAgent: unknown;
httpsAgent: unknown;
}
/**
* Runtime-supplied transport agents (Node proxy support). Called once per
* client so each client owns its own agents: every S3 op destroys its client
* when it finishes, and a shared agent pair would tear down sockets that
* concurrent ops are still using.
*/
export type S3HttpAgentProvider = () => S3HttpAgents;
export declare const S3Config: z.ZodObject<{
presignedUrlProvider: z.ZodOptional<import("../secrets.ts").SecretSchema<z.ZodCustom<S3BrowserPresignedUrlProvider, S3BrowserPresignedUrlProvider>>>;
httpAgentProvider: z.ZodOptional<import("../secrets.ts").SecretSchema<z.ZodCustom<S3HttpAgentProvider, S3HttpAgentProvider>>>;
defaultContentType: z.ZodOptional<z.ZodString>;
keyPrefix: z.ZodOptional<z.ZodString>;
timeout: z.ZodOptional<z.ZodNumber>;
bucket: z.ZodString;
region: z.ZodOptional<z.ZodString>;
endpoint: z.ZodOptional<z.ZodString>;
accessKeyId: z.ZodOptional<import("../secrets.ts").SecretSchema<z.ZodString>>;
secretAccessKey: z.ZodOptional<import("../secrets.ts").SecretSchema<z.ZodString>>;
sessionToken: z.ZodOptional<import("../secrets.ts").SecretSchema<z.ZodString>>;
forcePathStyle: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export interface S3Config {
bucket: string;
region?: string;
endpoint?: string;
accessKeyId?: string;
secretAccessKey?: string;
sessionToken?: string;
profile?: string;
forcePathStyle?: boolean;
timeout?: number;
presignedUrlProvider?: S3BrowserPresignedUrlProvider;
httpAgentProvider?: S3HttpAgentProvider;
defaultContentType?: string;
keyPrefix?: string;
}
export declare function normalizeKeyPrefix(v: string | undefined): string | undefined;
//# sourceMappingURL=config.d.ts.map