import { type ConnectorManager, type PreMintedCredential, type PreMintedSecretProvider } from "@skaile/workspaces/connectors"; import type { RunnerCapabilityHandlers } from "./runner-capabilities.js"; export interface SessionResourceHandlerDeps { /** The live unified connector manager, or null before the session is built. */ getResourceManager: () => ConnectorManager | null; /** The in-process pre-minted credential store, or undefined before init. */ getPreMintedSecrets: () => PreMintedSecretProvider | undefined; /** Re-emit `resources_available` so the frontend reflects the live change. */ emitResourcesAvailable: () => void; log: (msg: string) => void; /** * Absolute path to the session project directory. Required by * `attachConnectorInstance` for the materialized-asset lookup under * `/.skaile/assets/connector/`. */ getProjectDir?: () => string; } /** Attach-by-ref result — shape parity with the MCP `attachInstance` return. */ export type AttachResult = { ok: true; id: string; live: boolean; toolCount: number; } | { ok: false; code: string; message: string; }; export declare function toPreMinted(token: { token: string; expiresAt?: string | null; }): PreMintedCredential; export declare function buildSessionResourceHandlers(deps: SessionResourceHandlerDeps): Pick & { attachConnectorInstance: (name: string, preMintedToken?: { token: string; expiresAt?: string | null; }) => Promise; }; //# sourceMappingURL=session-resource-handlers.d.ts.map