import { type EditableArtifactAgentWorkspaceFilePort, type EditableArtifactDurableExportService } from "@opengeni/core/editable-artifacts"; import { completeFileUpload, prepareGeneratedWorkspaceFile, type Database } from "@opengeni/db"; import { type ObjectStorage } from "@opengeni/storage"; export type EditableArtifactWorkspaceFileAdapterDependencies = Readonly<{ db: Database; objectStorage: ObjectStorage; durableExports: EditableArtifactDurableExportService; now?: () => Date; prepareFile?: typeof prepareGeneratedWorkspaceFile; completeFile?: typeof completeFileUpload; }>; /** * Promotes one immutable materialization into the normal workspace-file domain. * The returned file ID is the only artifact export handle exposed to agents. */ export declare class EditableArtifactWorkspaceFileAdapter implements EditableArtifactAgentWorkspaceFilePort { private readonly dependencies; private readonly now; private readonly prepareFile; private readonly completeFile; constructor(dependencies: EditableArtifactWorkspaceFileAdapterDependencies); ensureMaterializationFile(input: Parameters[0]): ReturnType; }