@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/LICENSE +176 -0
- package/README.md +16 -5
- package/bin/readseek.cjs +61 -0
- package/dist/argv.d.ts +31 -23
- package/dist/client-output.d.ts +425 -0
- package/dist/client.d.ts +31 -246
- package/dist/contract.d.ts +15 -20
- package/dist/edit-plan.d.ts +1 -0
- package/dist/{json.d.ts → error.d.ts} +0 -1
- package/dist/index.d.ts +10 -8
- package/dist/index.js +1064 -742
- package/dist/kdl.d.ts +7 -0
- package/dist/output-kdl.d.ts +1 -0
- package/dist/process-bun.d.ts +1 -1
- package/dist/process-node.d.ts +1 -1
- package/dist/process.d.ts +3 -1
- package/dist/validation.d.ts +0 -7
- package/package.json +17 -4
package/dist/client.d.ts
CHANGED
|
@@ -1,218 +1,14 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
3
|
-
|
|
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
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
|
227
|
-
metadata
|
|
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
|
|
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
|
-
|
|
64
|
+
kdl(args: readonly string[], options?: ReadSeekRunOptions): Promise<unknown>;
|
|
262
65
|
}
|
|
263
66
|
interface ReadSeekSearchOptions {
|
|
264
67
|
language?: string;
|
|
265
68
|
limit?: number;
|
|
266
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
306
|
-
others?: boolean;
|
|
307
|
-
ignored?: boolean;
|
|
103
|
+
gitScope?: GitScope;
|
|
308
104
|
signal?: AbortSignal;
|
|
309
105
|
}
|
|
310
106
|
interface IdentifyOptions {
|
|
311
|
-
line
|
|
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
|
-
|
|
328
|
-
|
|
329
|
-
|
|
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<
|
|
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
|
|
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 {};
|
package/dist/contract.d.ts
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
export type
|
|
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
|
|
14
|
-
export type
|
|
15
|
-
export declare const TOOL_NAMES: readonly ["
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
export {
|
|
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,
|
|
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,
|
|
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
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
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";
|