import type { Context } from '@deepseek-ai/cordis'; import { WebRuntime } from '@deepseek-ai/dsh-web'; import type { WebRuntimeConfig, WebSearchRequest, WebSearchResult, WebSearchProvider, WebFetchProvider, WebFetchRequest, WebFetchResult } from '@deepseek-ai/dsh-web'; /** Parent dispatch captured from the exact WebRuntime instance serving this call. */ export type NativeSearch = (request: WebSearchRequest, signal?: AbortSignal) => Promise; /** Exact-id dispatch over providers registered through the routed facade. */ export type ProviderSearch = (providerId: string, request: WebSearchRequest, signal?: AbortSignal) => Promise; /** Captured facade registration; no provider implementation object crosses the Client boundary. */ export interface CapturedSearchProvider { readonly id: string; readonly signal: AbortSignal; current(): boolean; /** Identity proof for a router-owned provider, never an inference from its id. */ owns(provider: WebSearchProvider): boolean; search(request: WebSearchRequest, signal?: AbortSignal): Promise; } /** Resolve one registered id synchronously before the routing operation starts awaiting. */ export type CaptureSearchProvider = (providerId: string) => CapturedSearchProvider | undefined; /** Host-owned router; credentials and provider implementation objects stay inside the facade. */ export interface GitHubCopilotSearchRouter { search(request: WebSearchRequest, signal: AbortSignal | undefined, delegate: NativeSearch, selectProvider?: ProviderSearch, captureSearchProvider?: CaptureSearchProvider): Promise; } declare module '@deepseek-ai/cordis' { interface Context { githubCopilotSearchRouter: GitHubCopilotSearchRouter; } } /** * Plugin-owned WebRuntime facade. The bundle isolates, but does not reconfigure, * the original official service. Normal search, fetch and registrations delegate * through its public APIs. A second private official WebRuntime supplies the same * validation/source cap for the Copilot branch. No Core prototypes or private * registries are read or changed. */ export default class CopilotRoutedWeb extends WebRuntime { static inject: string[]; private readonly bounded; private readonly lifetime; private readonly pending; private readonly mirroredSearchProviders; constructor(ctx: Context, config?: WebRuntimeConfig); private disposedError; private searchWithProvider; private captureSearchProvider; registerSearchProvider(provider: WebSearchProvider): () => void; registerFetchProvider(provider: WebFetchProvider): () => void; fetch(request: WebFetchRequest, signal?: AbortSignal): Promise; search(request: WebSearchRequest, signal?: AbortSignal): Promise; } //# sourceMappingURL=routed-web.d.ts.map