/** * Fulltext CLI commands: attach, get, detach * * Uses ILibrary interface for unified operations across local and server modes. */ import type { Config, FulltextConfig } from "../../config/schema.js"; import type { FulltextSource } from "../../config/schema.js"; import type { IdentifierType } from "../../core/library-interface.js"; import type { FulltextType } from "../../features/fulltext/index.js"; import { type FulltextAttachResult, type FulltextConvertResult, type FulltextDetachResult, type FulltextDiscoverResult, type FulltextFetchResult, type FulltextGetResult, type FulltextOpenResult } from "../../features/operations/fulltext/index.js"; import { type ExecutionContext } from "../execution-context.js"; /** * Options for fulltext attach command */ export interface FulltextAttachOptions { identifier: string; filePath?: string; type?: FulltextType; move?: boolean; force?: boolean; idType?: IdentifierType; fulltextDirectory: string; stdinContent?: Buffer; } /** * Options for fulltext get command */ export interface FulltextGetOptions { identifier: string; type?: FulltextType; preferredType?: FulltextType; stdout?: boolean; idType?: IdentifierType; fulltextDirectory: string; } /** * Options for fulltext detach command */ export interface FulltextDetachOptions { identifier: string; type?: FulltextType; removeFiles?: boolean; force?: boolean; idType?: IdentifierType; fulltextDirectory: string; } /** * Options for fulltext open command */ export interface FulltextOpenOptions { identifier: string; type?: FulltextType; preferredType?: FulltextType; idType?: IdentifierType; fulltextDirectory: string; } /** * Options for fulltext discover command */ export interface FulltextDiscoverOptions { identifier: string; idType?: IdentifierType; } /** * Options for fulltext fetch command */ export interface FulltextFetchOptions { identifier: string; idType?: IdentifierType; source?: FulltextSource; force?: boolean; fulltextDirectory: string; } /** * Options for fulltext convert command */ export interface FulltextConvertOptions { identifier: string; idType?: IdentifierType; fulltextDirectory: string; from?: "xml" | "pdf"; converter?: string; force?: boolean; fulltextConfig?: FulltextConfig; } export type { FulltextAttachResult, FulltextConvertResult, FulltextDetachResult, FulltextDiscoverResult, FulltextFetchResult, FulltextGetResult, FulltextOpenResult, }; /** * Execute fulltext attach command */ export declare function executeFulltextAttach(options: FulltextAttachOptions, context: ExecutionContext): Promise; /** * Execute fulltext get command */ export declare function executeFulltextGet(options: FulltextGetOptions, context: ExecutionContext): Promise; /** * Execute fulltext detach command */ export declare function executeFulltextDetach(options: FulltextDetachOptions, context: ExecutionContext): Promise; /** * Execute fulltext open command */ export declare function executeFulltextOpen(options: FulltextOpenOptions, context: ExecutionContext): Promise; /** * Execute fulltext discover command */ export declare function executeFulltextDiscover(options: FulltextDiscoverOptions, context: ExecutionContext, config: Config): Promise; /** * Execute fulltext fetch command */ export declare function executeFulltextFetch(options: FulltextFetchOptions, context: ExecutionContext, config: Config): Promise; /** * Execute fulltext convert command */ export declare function executeFulltextConvert(options: FulltextConvertOptions, context: ExecutionContext): Promise; /** * Format fulltext attach output */ export declare function formatFulltextAttachOutput(result: FulltextAttachResult): string; /** * Format fulltext get output */ export declare function formatFulltextGetOutput(result: FulltextGetResult): string; /** * Format fulltext detach output */ export declare function formatFulltextDetachOutput(result: FulltextDetachResult): string; /** * Format fulltext open output */ export declare function formatFulltextOpenOutput(result: FulltextOpenResult): string; /** * Format fulltext discover output */ export declare function formatFulltextDiscoverOutput(result: FulltextDiscoverResult, identifier: string): string; /** * Format fulltext fetch output */ export declare function formatFulltextFetchOutput(result: FulltextFetchResult): string; /** * Format fulltext convert output */ export declare function formatFulltextConvertOutput(result: FulltextConvertResult): string; /** * Get exit code for fulltext command result */ export declare function getFulltextExitCode(result: FulltextAttachResult | FulltextGetResult | FulltextDetachResult | FulltextOpenResult | FulltextDiscoverResult | FulltextFetchResult | FulltextConvertResult): number; /** * Options for fulltext attach action */ export interface FulltextAttachActionOptions { pdf?: string | boolean; markdown?: string | boolean; move?: boolean; force?: boolean; uuid?: boolean; } /** * Handle 'fulltext attach' command action. */ export declare function handleFulltextAttachAction(identifierArg: string | undefined, filePathArg: string | undefined, options: FulltextAttachActionOptions, globalOpts: Record): Promise; export interface FulltextGetIdResult { id: string; result: FulltextGetResult; } export declare function formatMultiFulltextGetOutput(results: FulltextGetIdResult[]): { stdout: string; stderr: string; }; export declare function formatFulltextGetJsonOutput(results: FulltextGetIdResult[]): string; /** Options for fulltext get action */ export interface FulltextGetActionOptions { pdf?: boolean; markdown?: boolean; prefer?: "pdf" | "markdown"; stdout?: boolean; uuid?: boolean; output?: "json" | "text"; } export declare function handleFulltextGetAction(identifierArgs: string[], options: FulltextGetActionOptions, globalOpts: Record): Promise; /** * Options for fulltext detach action */ export interface FulltextDetachActionOptions { pdf?: boolean; markdown?: boolean; removeFiles?: boolean; force?: boolean; uuid?: boolean; } /** * Handle 'fulltext detach' command action. */ export declare function handleFulltextDetachAction(identifierArg: string | undefined, options: FulltextDetachActionOptions, globalOpts: Record): Promise; /** * Options for fulltext open action */ export interface FulltextOpenActionOptions { pdf?: boolean; markdown?: boolean; prefer?: "pdf" | "markdown"; uuid?: boolean; } /** * Handle 'fulltext open' command action. */ export declare function handleFulltextOpenAction(identifierArg: string | undefined, options: FulltextOpenActionOptions, globalOpts: Record): Promise; /** * Options for fulltext discover action */ export interface FulltextDiscoverActionOptions { uuid?: boolean; } /** * Handle 'fulltext discover' command action. */ export declare function handleFulltextDiscoverAction(identifierArg: string | undefined, options: FulltextDiscoverActionOptions, globalOpts: Record): Promise; /** * Options for fulltext fetch action */ export interface FulltextFetchActionOptions { source?: string; force?: boolean; uuid?: boolean; } /** * Handle 'fulltext fetch' command action. */ export declare function handleFulltextFetchAction(identifierArg: string | undefined, options: FulltextFetchActionOptions, globalOpts: Record): Promise; /** * Options for fulltext convert action */ export interface FulltextConvertActionOptions { uuid?: boolean; from?: "xml" | "pdf"; converter?: string; force?: boolean; } /** * Handle 'fulltext convert' command action. */ export declare function handleFulltextConvertAction(identifierArg: string | undefined, options: FulltextConvertActionOptions, globalOpts: Record): Promise; //# sourceMappingURL=fulltext.d.ts.map