cleaker
Version:
Who am I here.
55 lines • 1.61 kB
TypeScript
import type { ParsedTarget } from './target';
export type PointerStatus = 'unresolved' | 'resolving' | 'connected' | 'stale' | 'timeout' | 'unauthorized' | 'error';
export interface RemotePointerIdentity {
constant: string;
prefix: string | null;
}
export interface RemotePointerIntent {
selector: string;
path: string;
mode: ParsedTarget['intent']['mode'];
}
export interface RemotePointerResolution {
status: PointerStatus;
namespaceRecordVerified: boolean;
sessionToken: string | null;
lastError: string | null;
}
export interface RemotePointerOperationalState {
latencyMs: number | null;
lastSync: number | null;
cacheTtl: number;
stale: boolean;
}
export interface RemotePointerTransport {
preferred: string[];
protocol: string | null;
resolvedEndpoint: string | null;
}
export interface RemotePointerPayload {
kind: 'remote';
target: ParsedTarget;
identity: RemotePointerIdentity;
intent: RemotePointerIntent;
resolution: RemotePointerResolution;
operationalState: RemotePointerOperationalState;
transport: RemotePointerTransport;
}
export interface RemotePointerDefinition {
__ptr: RemotePointerPayload;
resolve(options?: ResolvePointerOptions): Promise<ResolvePointerResult>;
}
export interface ResolvePointerOptions {
origin?: string;
host?: string;
headers?: Record<string, string>;
fetcher?: typeof fetch;
}
export interface ResolvePointerResult {
ok: boolean;
status: number;
endpoint: string;
elapsedMs: number;
data: unknown;
}
//# sourceMappingURL=pointer.d.ts.map