import { type ImageContent } from "@earendil-works/pi-ai"; import type { ConversationMessage } from "./adapter.js"; import type { SessionViewTokenStoreLike } from "./commands/types.js"; import type { DockerContainerManager } from "./provisioner.js"; import { type RuntimePathContext, type SandboxConfig } from "./sandbox/index.js"; import type { VaultManager } from "./vault/index.js"; import { type ResolvedSessionScope } from "./sessions/store.js"; export type { PiAgentWrapper } from "./types.js"; import type { PiAgentWrapper } from "./types.js"; export declare function resolveTriggerAttribution(message: Pick): string | undefined; export declare function getUnresolvedSandboxPathContext(sandboxConfig: SandboxConfig, hostWorkspaceRoot: string): RuntimePathContext; export declare function buildPromptPayload(message: ConversationMessage, workspacePath: string, pathContext?: RuntimePathContext): { userMessage: string; imageAttachments: ImageContent[]; }; export declare function appendTriggerAttribution(text: string, triggerAttribution: string | undefined, sessionLink?: string): string; /** * Create a new PiAgentWrapper for a channel. * Sets up the session and subscribes to events once. * * Runner caching is handled by the caller (channelStates in main.ts). * This is a stateless factory function. */ export declare function createRunner(sandboxConfig: SandboxConfig, sessionKey: string, conversationId: string, conversationDir: string, workspaceDir: string, sessionScope: ResolvedSessionScope, vaultManager?: VaultManager, provisioner?: DockerContainerManager, sessionView?: { tokenStore: SessionViewTokenStoreLike; portalBaseUrl?: string; }): Promise; export declare function translateRuntimePathToHost(runtimePath: string, pathContext: RuntimePathContext): string; export declare function translateAttachPathToHost(filePath: string, pathContext: RuntimePathContext): string; //# sourceMappingURL=agent.d.ts.map