@jarkkojs/readseek-api 0.9.15 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -1,218 +1,14 @@
1
- import type { DigestFacet, VisionAnalysisMode, VisionLevel, VisionMode } from "./contract.ts";
2
- export interface ReadSeekHashline {
3
- line: number;
4
- hash: string;
5
- text: string;
6
- }
7
- export interface ReadSeekReadOutput {
8
- file: string;
9
- language: string;
10
- line_count: number;
11
- file_hash: string;
12
- start_line: number;
13
- end_line: number;
14
- hashlines: ReadSeekHashline[];
15
- }
16
- export interface ReadSeekSymbol {
17
- kind: string;
18
- name: string;
19
- qualified_name?: string;
20
- start_line: number;
21
- end_line: number;
22
- start_hash?: string;
23
- end_hash?: string;
24
- start_anchor?: string;
25
- end_anchor?: string;
26
- }
27
- export interface ReadSeekMapOutput {
28
- file: string;
29
- language: string;
30
- line_count: number;
31
- file_hash: string;
32
- symbols: ReadSeekSymbol[];
33
- }
34
- export interface ReadSeekSearchCapture {
35
- name: string;
36
- start_line: number;
37
- end_line: number;
38
- start_hash: string;
39
- end_hash: string;
40
- hashlines: ReadSeekHashline[];
41
- }
42
- export interface ReadSeekSearchMatch {
43
- pattern_index: number;
44
- start_line: number;
45
- end_line: number;
46
- start_hash: string;
47
- end_hash: string;
48
- hashlines: ReadSeekHashline[];
49
- captures: ReadSeekSearchCapture[];
50
- }
51
- export interface ReadSeekSearchFileOutput {
52
- file: string;
53
- language: string;
54
- file_hash: string;
55
- matches: ReadSeekSearchMatch[];
56
- }
57
- export interface ReadSeekReference {
58
- file: string;
59
- line: number;
60
- column: number;
61
- line_hash: string;
62
- text: string;
63
- enclosingSymbol?: string;
64
- }
65
- export interface ReadSeekDiagnostic {
66
- kind: "error" | "missing";
67
- start_line: number;
68
- end_line: number;
69
- }
70
- export interface ReadSeekCheckOutput {
71
- file_hash?: string;
72
- errorCount: number;
73
- missingCount: number;
74
- diagnostics: ReadSeekDiagnostic[];
75
- }
76
- export type ReadSeekOcrText = string;
77
- export interface ReadSeekDetectedObject {
78
- label: string;
79
- bbox: [number, number, number, number];
80
- }
1
+ import { type DefLocation, type EditOutput, type IdentifyOutput, type ReadSeekCheckOutput, type ReadSeekDetection, type ReadSeekDocumentCache, type ReadSeekImageDetection, type ReadSeekMapOutput, type ReadSeekPreparedImage, type ReadSeekReadOutput, type ReadSeekReference, type ReadSeekSearchOutput, type RenameOutput } from "./client-output.ts";
2
+ import type { GitScope, InspectFacet, VisionAnalysisMode, VisionLevel, VisionMode } from "./contract.ts";
3
+ export type { DefLocation, EditOutput, IdentifierOutput, IdentifyOutput, ReadSeekCheckOutput, ReadSeekDetectedObject, ReadSeekDetection, ReadSeekDiagnostic, ReadSeekDocumentCache, ReadSeekHashline, ReadSeekImageDetection, ReadSeekMapNode, ReadSeekMapOutput, ReadSeekOcrText, ReadSeekPreparedImage, ReadSeekReadOutput, ReadSeekReference, ReadSeekSearchCapture, ReadSeekSearchFileOutput, ReadSeekSearchMatch, ReadSeekSearchOutput, ReadSeekSymbol, RenameConflict, RenameEdit, RenameFileOutput, RenameOutput, } from "./client-output.ts";
81
4
  export type ReadSeekImageMode = VisionAnalysisMode;
82
- export interface ReadSeekPreparedImage {
83
- mime: string;
84
- encoding: "base64";
85
- data: string;
86
- }
87
- export interface ReadSeekDocumentCache {
88
- content_hash: string;
89
- state: "built" | "reused";
90
- }
91
- export type ReadSeekDetection = {
92
- kind: "source";
93
- type: string;
94
- file: string;
95
- language: string;
96
- engine?: string;
97
- supported: boolean;
98
- mime?: string;
99
- syntax?: string;
100
- } | {
101
- kind: "image";
102
- type: string;
103
- file: string;
104
- mime?: string;
105
- format: string;
106
- width: number;
107
- height: number;
108
- animated: boolean;
109
- encoding?: "base64";
110
- data?: string;
111
- ocr?: ReadSeekOcrText;
112
- caption?: string;
113
- objects?: ReadSeekDetectedObject[];
114
- } | {
115
- kind: "text";
116
- type: string;
117
- file: string;
118
- mime?: string;
119
- } | {
120
- kind: "pdf";
121
- type: "application/pdf";
122
- file: string;
123
- mime?: string;
124
- format: "pdf";
125
- pages: number;
126
- };
127
- export type ReadSeekImageDetection = Extract<ReadSeekDetection, {
128
- kind: "image";
129
- }>;
130
- export interface IdentifierOutput {
131
- text: string;
132
- start_column: number;
133
- end_column: number;
134
- start_byte: number;
135
- end_byte: number;
136
- }
137
- export interface IdentifyOutput {
138
- file: string;
139
- language: string;
140
- engine?: string;
141
- line_count: number;
142
- file_hash: string;
143
- line: number;
144
- column: number;
145
- line_hash: string;
146
- identifier?: IdentifierOutput;
147
- symbol?: {
148
- name: string;
149
- kind: string;
150
- qualified_name: string;
151
- start_line: number;
152
- end_line: number;
153
- };
154
- }
155
- export interface EditOutput {
156
- file: string;
157
- before_hash: string;
158
- file_hash: string;
159
- plan_hash: string;
160
- applied: boolean;
161
- changed: boolean;
162
- edit_count: number;
163
- before_content?: string;
164
- content?: string;
165
- }
166
- export interface RenameConflict {
167
- line: number;
168
- column: number;
169
- reason: string;
170
- }
171
- export interface RenameEdit {
172
- line: number;
173
- start_column: number;
174
- end_column: number;
175
- start_byte: number;
176
- end_byte: number;
177
- occurrence: string;
178
- line_hash: string;
179
- text: string;
180
- }
181
- export interface RenameFileOutput {
182
- file: string;
183
- language: string;
184
- engine?: string;
185
- file_hash: string;
186
- conflicts: RenameConflict[];
187
- edits: RenameEdit[];
188
- }
189
- export interface RenameOutput {
190
- file: string;
191
- language: string;
192
- engine?: string;
193
- file_hash: string;
194
- old_name: string;
195
- new_name: string;
196
- applied: boolean;
197
- conflicts: RenameConflict[];
198
- edits: RenameEdit[];
199
- others: RenameFileOutput[];
200
- }
201
- export interface DefLocation {
202
- file: string;
203
- line: number;
204
- column: number;
205
- line_hash: string;
206
- text: string;
207
- kind?: string;
208
- name?: string;
209
- qualified_name?: string;
210
- }
211
- export interface ReadSeekDigestOptions {
212
- select?: DigestFacet | DigestFacet[];
213
- at?: string;
5
+ export interface ReadSeekInspectOptions {
6
+ select?: InspectFacet | InspectFacet[];
7
+ selector?: string;
8
+ query?: string;
214
9
  end?: number;
215
10
  limit?: number;
11
+ depth?: number;
216
12
  language?: string;
217
13
  visionMode?: VisionMode;
218
14
  visionLevel?: VisionLevel;
@@ -223,14 +19,21 @@ export interface ReadSeekDigestOptions {
223
19
  /** Route through the runner's vision path (serialized, long timeout). */
224
20
  vision?: boolean;
225
21
  }
226
- export interface ReadSeekDigestOutput {
227
- metadata: ReadSeekDetection;
22
+ export interface ReadSeekInspectOutput {
23
+ metadata?: ReadSeekDetection;
228
24
  cache?: ReadSeekDocumentCache;
229
25
  content?: unknown;
230
26
  map?: ReadSeekMapOutput;
231
27
  diagnostics?: ReadSeekCheckOutput;
232
28
  identity?: IdentifyOutput;
233
29
  }
30
+ export interface ReadSeekExtractOptions {
31
+ stdin?: string;
32
+ stdinName?: string;
33
+ signal?: AbortSignal;
34
+ timeoutMs?: number;
35
+ cancelable?: boolean;
36
+ }
234
37
  export interface ReadSeekFailure {
235
38
  code: "readseek-not-installed" | "readseek-execution-error";
236
39
  message: string;
@@ -252,20 +55,18 @@ export interface ReadSeekRunOptions {
252
55
  }
253
56
  /**
254
57
  * Host-supplied spawn seam: resolve the binary and run it, returning stdout as
255
- * text or parsed JSON. The plugin owns binary resolution, cache-dir decoration,
58
+ * text or decoded KDL. The plugin owns binary resolution, cache-dir decoration,
256
59
  * cwd, timeout settings, and any vision serialization queue; the client owns
257
60
  * argv construction and output parsing.
258
61
  */
259
62
  export interface ReadSeekRunner {
260
63
  text(args: readonly string[], options?: ReadSeekRunOptions): Promise<string>;
261
- json(args: readonly string[], options?: ReadSeekRunOptions): Promise<unknown>;
64
+ kdl(args: readonly string[], options?: ReadSeekRunOptions): Promise<unknown>;
262
65
  }
263
66
  interface ReadSeekSearchOptions {
264
67
  language?: string;
265
68
  limit?: number;
266
- cached?: boolean;
267
- others?: boolean;
268
- ignored?: boolean;
69
+ gitScope?: GitScope;
269
70
  signal?: AbortSignal;
270
71
  }
271
72
  interface ReadSeekRefsOptions {
@@ -274,17 +75,13 @@ interface ReadSeekRefsOptions {
274
75
  line?: number;
275
76
  column?: number;
276
77
  language?: string;
277
- cached?: boolean;
278
- others?: boolean;
279
- ignored?: boolean;
78
+ gitScope?: GitScope;
280
79
  signal?: AbortSignal;
281
80
  }
282
81
  interface DefOptions {
283
82
  name: string;
284
83
  language?: string;
285
- cached?: boolean;
286
- others?: boolean;
287
- ignored?: boolean;
84
+ gitScope?: GitScope;
288
85
  signal?: AbortSignal;
289
86
  }
290
87
  interface EditOptions {
@@ -301,33 +98,21 @@ interface RenameOptions {
301
98
  column?: number;
302
99
  workspace?: string;
303
100
  apply?: boolean;
101
+ planHash?: string;
304
102
  language?: string;
305
- cached?: boolean;
306
- others?: boolean;
307
- ignored?: boolean;
103
+ gitScope?: GitScope;
308
104
  signal?: AbortSignal;
309
105
  }
310
106
  interface IdentifyOptions {
311
- line?: number;
107
+ line: number;
312
108
  column?: number;
313
109
  language?: string;
314
110
  signal?: AbortSignal;
315
111
  }
316
- export interface ReadSeekViewOptions {
317
- node?: string;
318
- page?: number;
319
- kind?: string;
320
- depth?: number;
321
- outline?: boolean;
322
- visionMode?: ReadSeekImageMode;
323
- visionLevel?: VisionLevel;
324
- signal?: AbortSignal;
325
- }
326
112
  export interface ReadSeekClient {
327
- view(filePath: string, options?: ReadSeekViewOptions): Promise<string>;
328
- digestRaw(target: string, options?: ReadSeekDigestOptions): Promise<unknown>;
329
- digest(target: string, options?: ReadSeekDigestOptions): Promise<ReadSeekDigestOutput>;
330
- digestContent(filePath: string, options?: {
113
+ inspect(target: string, options?: ReadSeekInspectOptions): Promise<unknown>;
114
+ inspectText(target: string, options?: ReadSeekInspectOptions): Promise<string>;
115
+ inspectContent(filePath: string, options?: {
331
116
  startLine?: number;
332
117
  endLine?: number;
333
118
  visionMode?: "none" | ReadSeekImageMode;
@@ -339,19 +124,20 @@ export interface ReadSeekClient {
339
124
  text?: ReadSeekReadOutput;
340
125
  image?: ReadSeekImageDetection;
341
126
  }>;
127
+ extract(target: string, selector: string, output: string, options?: ReadSeekExtractOptions): Promise<void>;
342
128
  image(filePath: string, modes: ReadSeekImageMode[], options?: {
343
129
  signal?: AbortSignal;
344
130
  }): Promise<ReadSeekDetection>;
345
131
  preparedImage(filePath: string, options?: {
346
132
  signal?: AbortSignal;
347
133
  }): Promise<ReadSeekPreparedImage>;
348
- search(target: string, pattern: string, options?: ReadSeekSearchOptions): Promise<ReadSeekSearchFileOutput[]>;
134
+ search(target: string, pattern: string, options?: ReadSeekSearchOptions): Promise<ReadSeekSearchOutput>;
349
135
  refs(target: string, options?: ReadSeekRefsOptions): Promise<ReadSeekReference[]>;
350
136
  def(target: string, options: DefOptions): Promise<DefLocation[]>;
351
137
  check(filePath: string, content: string, options?: {
352
138
  signal?: AbortSignal;
353
139
  }): Promise<ReadSeekCheckOutput>;
354
- identify(filePath: string, content: string, options?: IdentifyOptions): Promise<IdentifyOutput>;
140
+ identify(filePath: string, content: string, options: IdentifyOptions): Promise<IdentifyOutput>;
355
141
  detect(filePath: string, options?: {
356
142
  signal?: AbortSignal;
357
143
  }): Promise<ReadSeekDetection>;
@@ -359,4 +145,3 @@ export interface ReadSeekClient {
359
145
  rename(filePath: string, options: RenameOptions): Promise<RenameOutput>;
360
146
  }
361
147
  export declare function createReadSeekClient(runner: ReadSeekRunner): ReadSeekClient;
362
- export {};
@@ -1,18 +1,16 @@
1
- export declare const DIGEST_FACETS: readonly ["metadata", "content", "map", "diagnostics", "identity"];
2
- export type DigestFacet = (typeof DIGEST_FACETS)[number];
1
+ export declare const INSPECT_FACETS: readonly ["metadata", "content", "map", "diagnostics", "identity"];
2
+ export type InspectFacet = (typeof INSPECT_FACETS)[number];
3
3
  export declare const VISION_MODES: readonly ["none", "all", "ocr", "caption", "objects"];
4
4
  export type VisionMode = (typeof VISION_MODES)[number];
5
5
  export declare const VISION_ANALYSIS_MODES: readonly ["all", "ocr", "caption", "objects"];
6
6
  export type VisionAnalysisMode = (typeof VISION_ANALYSIS_MODES)[number];
7
7
  export declare const VISION_LEVELS: readonly ["low", "medium", "high"];
8
8
  export type VisionLevel = (typeof VISION_LEVELS)[number];
9
- export declare const DOCUMENT_NODE_KINDS: readonly ["artifact", "footer", "header", "heading", "marginal_label", "page", "page_number", "paragraph", "section", "structural_section"];
10
- export type DocumentNodeKind = (typeof DOCUMENT_NODE_KINDS)[number];
11
9
  export declare const EDIT_VARIANTS: readonly ["set_line", "replace_lines", "insert_after", "replace", "replace_symbol"];
12
10
  export type EditVariant = (typeof EDIT_VARIANTS)[number];
13
- export declare const GIT_SELECTION_FLAGS: readonly ["cached", "others", "ignored"];
14
- export type GitSelectionFlag = (typeof GIT_SELECTION_FLAGS)[number];
15
- export declare const TOOL_NAMES: readonly ["digest", "edit", "write", "grep", "view", "search", "def", "refs", "rename"];
11
+ export declare const GIT_SCOPES: readonly ["tracked", "untracked", "ignored", "all"];
12
+ export type GitScope = (typeof GIT_SCOPES)[number];
13
+ export declare const TOOL_NAMES: readonly ["inspect", "edit", "write", "grep", "extract", "search", "def", "refs", "rename"];
16
14
  export type ToolName = (typeof TOOL_NAMES)[number];
17
15
  export declare const PARAM_DESCRIPTIONS: {
18
16
  readonly path: "Absolute or relative file path";
@@ -30,27 +28,24 @@ export declare const PARAM_DESCRIPTIONS: {
30
28
  readonly line: "One-based cursor line; required with scope";
31
29
  readonly renameLine: "One-based cursor line of the symbol to rename";
32
30
  readonly column: "One-based cursor byte column for disambiguation";
33
- readonly cached: "In a Git repository, search tracked/indexed files";
34
- readonly others: "In a Git repository, search untracked files";
35
- readonly ignored: "With others=true, include ignored untracked files";
31
+ readonly gitScope: "In a Git repository, which files to search: tracked, untracked, ignored (untracked plus ignored), or all. Defaults to tracked plus untracked.";
36
32
  readonly select: "Facets: metadata, content, map, diagnostics, identity (default content)";
37
33
  readonly selectComma: "Comma-separated facets: metadata, content, map, diagnostics, identity";
38
- readonly at: "Location: line:N[:COLUMN], hash:HASH[:COLUMN], or symbol:NAME";
34
+ readonly selector: "Positional selector: line:N[:COLUMN], hash:H[:COLUMN], symbol:NAME, page:N, node:ID, or asset:ID. Columns require the identity facet, which in turn rejects symbol selectors";
35
+ readonly assetSelector: "Document asset selector in the form asset:ID";
36
+ readonly query: "KDL selection query, @path, or '-' for standard input";
37
+ readonly stdinName: "File name hint when the target is '-'";
39
38
  readonly end: "Last line to include";
40
39
  readonly limit: "Maximum number of lines to include";
40
+ readonly inspectDepth: "Maximum structural depth for map output; defaults to 1 in agent tools";
41
41
  readonly offset: "One-based starting line";
42
42
  readonly readLimit: "Maximum lines to return";
43
43
  readonly symbolRead: "Symbol name to read";
44
44
  readonly bundle: "Include related symbols from the same file; requires symbol";
45
45
  readonly image: "Standalone image mode: none, all, ocr, caption, objects. Required for standalone images.";
46
- readonly visionModeDigest: "Standalone image mode: none, all, caption, objects, or ocr";
47
- readonly visionModeView: "Analyze selected assets: all, ocr, caption, or objects";
46
+ readonly visionModeInspect: "Standalone image mode: none, all, caption, objects, or ocr";
48
47
  readonly visionLevel: "Vision inference level: low (default), medium, or high";
49
- readonly node: "Node ID to use as the view root";
50
- readonly page: "One-based source page";
51
- readonly kind: "Node kind filter";
52
- readonly depth: "Maximum depth below selected roots";
53
- readonly outline: "Return outline nodes only";
48
+ readonly output: "Destination file for extracted binary data; stdout is not supported";
54
49
  readonly edits: "Use set_line, replace_lines, insert_after, replace_symbol, or replace";
55
50
  readonly editVariant: "Exactly one nested edit variant";
56
51
  readonly setLine: "Replace one line: {\"set_line\":{\"anchor\":\"LINE:HASH\",\"new_text\":\"...\"}}";
@@ -87,11 +82,11 @@ export declare const PARAM_DESCRIPTIONS: {
87
82
  readonly scopeContext: "Context lines within each symbol";
88
83
  };
89
84
  export declare const TOOL_DESCRIPTIONS: {
90
- readonly digest: "Digest source content and images into the native CLI envelope. Returns metadata plus requested facets unchanged from `readseek digest`. Use it before edits to obtain fresh `LINE:HASH` anchors; use for structural maps, diagnostics, and cursor identity.";
85
+ readonly inspect: "Inspect source content, images, and documents through the native CLI envelope. Use it before edits to obtain fresh `LINE:HASH` anchors; use shallow maps for structural overviews, diagnostics for syntax checks, and identity for cursor context.";
91
86
  readonly edit: "Edit existing text files with fresh `LINE:HASH` anchors. Read or search first when no fresh anchors are available. Each `edits[]` item must use exactly one nested object: `{\"set_line\":{\"anchor\":\"LINE:HASH\",\"new_text\":\"...\"}}`, `{\"replace_lines\":{\"start_anchor\":\"LINE:HASH\",\"end_anchor\":\"LINE:HASH\",\"new_text\":\"...\"}}`, `{\"insert_after\":{\"anchor\":\"LINE:HASH\",\"new_text\":\"...\"}}`, `{\"replace_symbol\":{\"symbol\":\"name\",\"new_body\":\"...\"}}`, or `{\"replace\":{\"old_text\":\"...\",\"new_text\":\"...\"}}`.";
92
87
  readonly write: "Create or replace a complete text file and return `LINE:HASH` anchors. Use `edit` for small changes to an existing file.";
93
88
  readonly grep: "Search text or regex in files and return edit-ready `LINE:HASH` anchors. Use for identifiers, strings, configuration, errors, comments, and documentation.";
94
- readonly view: "Digest a document's structure or selected content. Start with the overview, then narrow by page, node, kind, or depth instead of reading the whole document. PDF is the first supported document format.";
89
+ readonly extract: "Extract a selected document asset into a destination file. Use an `asset:ID` selector discovered through `inspect`; extracted binary data is never returned on stdout.";
95
90
  readonly search: "Search code by AST structure using ast-grep-style patterns. Results include line hashes usable as `LINE:HASH` anchors. Use `grep` for identifiers, strings, comments, configuration, documentation, or other plain text and regex.";
96
91
  readonly def: "Go to a symbol definition or declaration by name. Accepts qualified or unqualified names; use this instead of text search for functions, methods, classes, types, and other declarations.";
97
92
  readonly refs: "Find references or usages of an identifier by name or cursor binding. Results include enclosing symbols and line hashes usable as `LINE:HASH` anchors. Without cursor scope, results are identifier-name matches; with scope, they follow one binding and exclude shadows. Use text search for literals, and use this before renaming or deleting a symbol.";
@@ -0,0 +1 @@
1
+ export declare function serializeEditPlan(edits: unknown): string;
@@ -1,2 +1 @@
1
1
  export declare function cleanReadSeekErrorText(stderr: string): string;
2
- export declare function parseReadSeekJson(stdout: string): unknown;
package/dist/index.d.ts CHANGED
@@ -1,12 +1,14 @@
1
- export { DIGEST_FACETS, DOCUMENT_NODE_KINDS, EDIT_VARIANTS, GIT_SELECTION_FLAGS, PARAM_DESCRIPTIONS, TOOL_CONTRACTS, getToolContract, TOOL_DESCRIPTIONS, TOOL_NAMES, renderToolDescription, VISION_ANALYSIS_MODES, VISION_LEVELS, VISION_MODES, type DigestFacet, type DocumentNodeKind, type EditVariant, type GitSelectionFlag, type JsonSchema, type ToolContract, type ToolName, type VisionAnalysisMode, type VisionLevel, type VisionMode, } from "./contract.ts";
1
+ export { INSPECT_FACETS, EDIT_VARIANTS, GIT_SCOPES, PARAM_DESCRIPTIONS, TOOL_CONTRACTS, getToolContract, TOOL_DESCRIPTIONS, TOOL_NAMES, renderToolDescription, VISION_ANALYSIS_MODES, VISION_LEVELS, VISION_MODES, type InspectFacet, type EditVariant, type GitScope, type JsonSchema, type ToolContract, type ToolName, type VisionAnalysisMode, type VisionLevel, type VisionMode, } from "./contract.ts";
2
2
  export { BUILTIN_FALLBACKS, REPLACEABLE_TOOLS, TOOL_COMPACT_GUIDELINES, fallbackToolDescriptionMap, preferredToolDescriptionMap, renderCompactGuidelines, renderFallbackToolDescription, renderPreferredToolDescription, renderToolRoutingPolicy, resolveToolName, rewriteBacktickedToolNames, type ReplaceableTool, type ToolAliasMap, type ToolRoutingPolicyOptions, } from "./policy.ts";
3
- export { coerceBoolean, coerceNonNegativeInt, coerceObviousBase10Int, coerceOptionalString, coercePositiveInt, validateExactlyOneEditVariant, validateGitSelection, validateRefsNameVsScope, validateVisionLevelVsMode, type CoercedIntResult, type EditItem, type EditObject, type GitSelectionInput, type InsertAfterEdit, type RefsScopeInput, type ReplaceEdit, type ReplaceLinesEdit, type ReplaceSymbolEdit, type SetLineEdit, type ValidationResult, type VisionInput, } from "./validation.ts";
3
+ export { coerceBoolean, coerceNonNegativeInt, coerceObviousBase10Int, coerceOptionalString, coercePositiveInt, validateExactlyOneEditVariant, validateRefsNameVsScope, validateVisionLevelVsMode, type CoercedIntResult, type EditItem, type EditObject, type InsertAfterEdit, type RefsScopeInput, type ReplaceEdit, type ReplaceLinesEdit, type ReplaceSymbolEdit, type SetLineEdit, type ValidationResult, type VisionInput, } from "./validation.ts";
4
+ export { serializeEditPlan } from "./edit-plan.ts";
4
5
  export { HASH_LEN, parseLineAnchor, tryParseLineAnchor, type LineAnchor, } from "./hashline.ts";
5
- export { appendApplyAndPlanHash, appendGitSelectionArgs, buildDefArgs, buildDigestArgs, buildEditArgs, buildLineLocation, buildRefsArgs, buildRenameArgs, buildSearchArgs, buildViewArgs, type ApplyPlanHashInput, type ApplyPlanHashOrder, type DefArgsInput, type DigestArgsInput, type EditArgsInput, type RefsArgsInput, type RenameArgsInput, type SearchArgsInput, type ViewArgsInput, } from "./argv.ts";
6
+ export { appendApplyAndPlanHash, appendGitScopeArgs, type GitScopeInput, buildDefArgs, buildExtractArgs, buildInspectArgs, DEFAULT_INSPECT_MAP_DEPTH, buildEditArgs, buildLineLocation, buildRefsArgs, buildRenameArgs, buildSearchArgs, type ApplyPlanHashInput, type ApplyPlanHashOrder, type DefArgsInput, type ExtractArgsInput, type InspectArgsInput, type EditArgsInput, type RefsArgsInput, type RenameArgsInput, type SearchArgsInput, } from "./argv.ts";
6
7
  export { READSEEK_BINARY_ENV, READSEEK_PLATFORM_PACKAGES, readSeekBinaryName, readSeekPlatformKey, resolveReadSeekBinaryFromPackages, resolveReadSeekBinaryOverride, resolveReadSeekCacheDir, type ModuleResolver, type ReadSeekCacheOptions, } from "./platform.ts";
7
8
  export { canonicalPathKey, expandUserPath, isSubPath, resolveScopedPath, resolveToCwd, } from "./path.ts";
8
- export { cleanReadSeekErrorText, parseReadSeekJson, } from "./json.ts";
9
- export { DEFAULT_MAX_OUTPUT_BYTES, DEFAULT_READSEEK_TIMEOUT_MS, ensureSuccessfulStdout, failureFromProcessResult, parseSuccessfulJson, resolveProcessLimits, type ProcessRunOptions, type ProcessRunResult, } from "./process.ts";
10
- export { runReadSeekNode, runReadSeekNodeJson, runReadSeekNodeText, } from "./process-node.ts";
11
- export { runReadSeekBun, runReadSeekBunJson, runReadSeekBunText, } from "./process-bun.ts";
12
- export { classifyReadSeekFailure, createReadSeekClient, type DefLocation, type EditOutput, type IdentifierOutput, type IdentifyOutput, type ReadSeekCheckOutput, type ReadSeekClient, type ReadSeekDetection, type ReadSeekDetectedObject, type ReadSeekDiagnostic, type ReadSeekDigestOptions, type ReadSeekDigestOutput, type ReadSeekDocumentCache, type ReadSeekFailure, type ReadSeekHashline, type ReadSeekImageDetection, type ReadSeekImageMode, type ReadSeekMapOutput, type ReadSeekOcrText, type ReadSeekPreparedImage, type ReadSeekReadOutput, type ReadSeekReference, type ReadSeekRunOptions, type ReadSeekRunner, type RenameConflict, type RenameEdit, type RenameFileOutput, type RenameOutput, type ReadSeekSearchCapture, type ReadSeekSearchFileOutput, type ReadSeekSearchMatch, type ReadSeekSymbol, type ReadSeekViewOptions, } from "./client.ts";
9
+ export { cleanReadSeekErrorText } from "./error.ts";
10
+ export { parseReadSeekKdl } from "./output-kdl.ts";
11
+ export { DEFAULT_MAX_OUTPUT_BYTES, DEFAULT_READSEEK_TIMEOUT_MS, ensureSuccessfulStdout, failureFromProcessResult, parseSuccessfulKdl, readSeekProcessEnvironment, resolveProcessLimits, type ProcessRunOptions, type ProcessRunResult, } from "./process.ts";
12
+ export { runReadSeekNode, runReadSeekNodeKdl, runReadSeekNodeText, } from "./process-node.ts";
13
+ export { runReadSeekBun, runReadSeekBunKdl, runReadSeekBunText, } from "./process-bun.ts";
14
+ export { classifyReadSeekFailure, createReadSeekClient, type DefLocation, type EditOutput, type IdentifierOutput, type IdentifyOutput, type ReadSeekCheckOutput, type ReadSeekClient, type ReadSeekDetection, type ReadSeekDetectedObject, type ReadSeekDiagnostic, type ReadSeekExtractOptions, type ReadSeekInspectOptions, type ReadSeekInspectOutput, type ReadSeekDocumentCache, type ReadSeekFailure, type ReadSeekHashline, type ReadSeekImageDetection, type ReadSeekImageMode, type ReadSeekMapOutput, type ReadSeekMapNode, type ReadSeekOcrText, type ReadSeekPreparedImage, type ReadSeekReadOutput, type ReadSeekReference, type ReadSeekRunOptions, type ReadSeekRunner, type RenameConflict, type RenameEdit, type RenameFileOutput, type RenameOutput, type ReadSeekSearchCapture, type ReadSeekSearchFileOutput, type ReadSeekSearchMatch, type ReadSeekSymbol, } from "./client.ts";