@octocodeai/octocode-core 16.2.1 → 16.4.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.
Files changed (36) hide show
  1. package/README.md +22 -0
  2. package/dist/cli.d.ts +9 -0
  3. package/dist/cli.js +1 -0
  4. package/dist/data/compressed.js +1 -1
  5. package/dist/index.d.ts +1 -3
  6. package/dist/index.js +1 -1
  7. package/dist/mcp.d.ts +18 -0
  8. package/dist/mcp.js +1 -0
  9. package/dist/resources/global.d.ts +16 -2
  10. package/dist/resources/global.js +1 -1
  11. package/dist/resources/tools/_toolkit.d.ts +39 -7
  12. package/dist/resources/tools/_toolkit.js +1 -1
  13. package/dist/resources/tools/ghCloneRepo.js +1 -1
  14. package/dist/resources/tools/ghGetFileContent.js +1 -1
  15. package/dist/resources/tools/ghHistoryResearch.js +1 -1
  16. package/dist/resources/tools/ghSearchCode.js +1 -1
  17. package/dist/resources/tools/ghSearchRepos.js +1 -1
  18. package/dist/resources/tools/ghViewRepoStructure.js +1 -1
  19. package/dist/resources/tools/localBinaryInspect.js +1 -1
  20. package/dist/resources/tools/localFindFiles.d.ts +1 -1
  21. package/dist/resources/tools/localFindFiles.js +1 -1
  22. package/dist/resources/tools/localGetFileContent.js +1 -1
  23. package/dist/resources/tools/localSearchCode.d.ts +1 -1
  24. package/dist/resources/tools/localSearchCode.js +1 -1
  25. package/dist/resources/tools/localViewStructure.js +1 -1
  26. package/dist/resources/tools/lspGetSemantics.d.ts +1 -1
  27. package/dist/resources/tools/lspGetSemantics.js +1 -1
  28. package/dist/resources/tools/npmSearch.js +1 -1
  29. package/dist/schemas/runtime.d.ts +1 -1
  30. package/dist/schemas.d.ts +490 -0
  31. package/dist/schemas.js +1 -0
  32. package/dist/types/index.d.ts +60 -7
  33. package/package.json +13 -9
  34. package/dist/data/default.json +0 -353
  35. package/dist/schemas/index.d.ts +0 -13
  36. package/dist/schemas/index.js +0 -1
@@ -0,0 +1,490 @@
1
+ import type { z } from "zod";
2
+ import { GitHubCodeSearchQuerySchema } from "./resources/tools/ghSearchCode.js";
3
+ import { FileContentQuerySchema } from "./resources/tools/ghGetFileContent.js";
4
+ import { GitHubViewRepoStructureQuerySchema } from "./resources/tools/ghViewRepoStructure.js";
5
+ import { GitHubReposSearchSingleQuerySchema } from "./resources/tools/ghSearchRepos.js";
6
+ import { GitHubPullRequestSearchQuerySchema } from "./resources/tools/ghHistoryResearch.js";
7
+ import { NpmPackageQuerySchema } from "./resources/tools/npmSearch.js";
8
+ import { CloneRepoQuerySchema, BulkCloneRepoSchema } from "./resources/tools/ghCloneRepo.js";
9
+ import { RipgrepQuerySchema } from "./resources/tools/localSearchCode.js";
10
+ import { ViewStructureQuerySchema } from "./resources/tools/localViewStructure.js";
11
+ import { FindFilesQuerySchema } from "./resources/tools/localFindFiles.js";
12
+ import { FetchContentQuerySchema } from "./resources/tools/localGetFileContent.js";
13
+ import { LspGetSemanticsQuerySchema, LSPGotoDefinitionQuerySchema, LSPFindReferencesQuerySchema, LSPCallHierarchyQuerySchema } from "./resources/tools/lspGetSemantics.js";
14
+ import { LocalBinaryInspectQuerySchema } from "./resources/tools/localBinaryInspect.js";
15
+ export { baseSchema, baseSchemaDescriptions, toolNames, } from "./resources/global.js";
16
+ export type { BaseSchemaShape } from "./resources/global.js";
17
+ export { MAX_CONTEXT_LINES, MAX_PAGE_NUMBER, MAX_CHAR_OFFSET, MAX_CHAR_LENGTH, MAX_LINE_NUMBER, MAX_ORDER_HINT, MAX_LOCAL_DEPTH, MAX_FIND_DEPTH, MAX_LOCAL_LIMIT, MAX_LOCAL_ITEMS_PER_PAGE, MAX_GITHUB_SEARCH_LIMIT, DEFAULT_GITHUB_SEARCH_LIMIT, MAX_GITHUB_STRUCTURE_ITEMS_PER_PAGE, DEFAULT_GITHUB_STRUCTURE_ITEMS_PER_PAGE, MAX_PR_ITEMS_PER_PAGE, DEFAULT_PR_ITEMS_PER_PAGE, MAX_MATCH_CONTENT_LENGTH, DEFAULT_MATCH_CONTENT_LENGTH, MAX_MATCH_COUNT, MAX_SEARCH_ITEMS_PER_PAGE, MAX_LSP_DEPTH, MAX_LSP_ITEMS_PER_PAGE, MAX_GITHUB_STRUCTURE_DEPTH, MAX_BINARY_ENTRIES, DEFAULT_BINARY_ENTRIES, MAX_BINARY_ENTRIES_PER_PAGE, MAX_BINARY_CONTEXT_LINES, DEFAULT_BINARY_CONTEXT_LINES, MAX_STRINGS_MIN_LENGTH, DEFAULT_STRINGS_MIN_LENGTH, } from "./resources/tools/_toolkit.js";
18
+ export { GitHubCodeSearchQuerySchema, FileContentQuerySchema, GitHubViewRepoStructureQuerySchema, GitHubReposSearchSingleQuerySchema, GitHubPullRequestSearchQuerySchema, NpmPackageQuerySchema, CloneRepoQuerySchema, BulkCloneRepoSchema, RipgrepQuerySchema, ViewStructureQuerySchema, FindFilesQuerySchema, FetchContentQuerySchema, LspGetSemanticsQuerySchema, LSPGotoDefinitionQuerySchema, LSPFindReferencesQuerySchema, LSPCallHierarchyQuerySchema, LocalBinaryInspectQuerySchema, };
19
+ export declare const toolSchemas: {
20
+ readonly ghSearchCode: z.ZodObject<{
21
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
22
+ owner: z.ZodOptional<z.ZodString>;
23
+ repo: z.ZodOptional<z.ZodString>;
24
+ extension: z.ZodOptional<z.ZodString>;
25
+ filename: z.ZodOptional<z.ZodString>;
26
+ path: z.ZodOptional<z.ZodString>;
27
+ language: z.ZodOptional<z.ZodString>;
28
+ match: z.ZodDefault<z.ZodEnum<{
29
+ file: "file";
30
+ path: "path";
31
+ }>>;
32
+ limit: z.ZodDefault<z.ZodNumber>;
33
+ page: z.ZodDefault<z.ZodNumber>;
34
+ concise: z.ZodOptional<z.ZodBoolean>;
35
+ id: z.ZodOptional<z.ZodString>;
36
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
37
+ researchGoal: z.ZodOptional<z.ZodString>;
38
+ reasoning: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>;
40
+ readonly ghGetFileContent: z.ZodObject<{
41
+ owner: z.ZodString;
42
+ repo: z.ZodString;
43
+ branch: z.ZodOptional<z.ZodString>;
44
+ path: z.ZodString;
45
+ startLine: z.ZodOptional<z.ZodNumber>;
46
+ endLine: z.ZodOptional<z.ZodNumber>;
47
+ fullContent: z.ZodOptional<z.ZodBoolean>;
48
+ matchString: z.ZodOptional<z.ZodString>;
49
+ matchStringIsRegex: z.ZodOptional<z.ZodBoolean>;
50
+ matchStringCaseSensitive: z.ZodOptional<z.ZodBoolean>;
51
+ forceRefresh: z.ZodOptional<z.ZodBoolean>;
52
+ type: z.ZodDefault<z.ZodEnum<{
53
+ file: "file";
54
+ directory: "directory";
55
+ }>>;
56
+ contextLines: z.ZodDefault<z.ZodNumber>;
57
+ charOffset: z.ZodOptional<z.ZodNumber>;
58
+ charLength: z.ZodOptional<z.ZodNumber>;
59
+ minify: z.ZodDefault<z.ZodEnum<{
60
+ none: "none";
61
+ standard: "standard";
62
+ symbols: "symbols";
63
+ }>>;
64
+ id: z.ZodOptional<z.ZodString>;
65
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
66
+ researchGoal: z.ZodOptional<z.ZodString>;
67
+ reasoning: z.ZodOptional<z.ZodString>;
68
+ }, z.core.$strip>;
69
+ readonly ghViewRepoStructure: z.ZodObject<{
70
+ owner: z.ZodString;
71
+ repo: z.ZodString;
72
+ branch: z.ZodOptional<z.ZodString>;
73
+ path: z.ZodOptional<z.ZodString>;
74
+ maxDepth: z.ZodOptional<z.ZodNumber>;
75
+ page: z.ZodDefault<z.ZodNumber>;
76
+ itemsPerPage: z.ZodDefault<z.ZodNumber>;
77
+ includeSizes: z.ZodOptional<z.ZodBoolean>;
78
+ id: z.ZodOptional<z.ZodString>;
79
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
80
+ researchGoal: z.ZodOptional<z.ZodString>;
81
+ reasoning: z.ZodOptional<z.ZodString>;
82
+ }, z.core.$strip>;
83
+ readonly ghSearchRepos: z.ZodObject<{
84
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
85
+ topicsToSearch: z.ZodOptional<z.ZodArray<z.ZodString>>;
86
+ language: z.ZodOptional<z.ZodString>;
87
+ owner: z.ZodOptional<z.ZodString>;
88
+ stars: z.ZodOptional<z.ZodString>;
89
+ size: z.ZodOptional<z.ZodString>;
90
+ created: z.ZodOptional<z.ZodString>;
91
+ updated: z.ZodOptional<z.ZodString>;
92
+ match: z.ZodOptional<z.ZodArray<z.ZodEnum<{
93
+ description: "description";
94
+ name: "name";
95
+ readme: "readme";
96
+ }>>>;
97
+ sort: z.ZodDefault<z.ZodEnum<{
98
+ stars: "stars";
99
+ updated: "updated";
100
+ forks: "forks";
101
+ "help-wanted-issues": "help-wanted-issues";
102
+ "best-match": "best-match";
103
+ }>>;
104
+ limit: z.ZodDefault<z.ZodNumber>;
105
+ page: z.ZodDefault<z.ZodNumber>;
106
+ archived: z.ZodOptional<z.ZodBoolean>;
107
+ visibility: z.ZodOptional<z.ZodEnum<{
108
+ public: "public";
109
+ private: "private";
110
+ }>>;
111
+ forks: z.ZodOptional<z.ZodString>;
112
+ license: z.ZodOptional<z.ZodString>;
113
+ goodFirstIssues: z.ZodOptional<z.ZodString>;
114
+ concise: z.ZodOptional<z.ZodBoolean>;
115
+ id: z.ZodOptional<z.ZodString>;
116
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
117
+ researchGoal: z.ZodOptional<z.ZodString>;
118
+ reasoning: z.ZodOptional<z.ZodString>;
119
+ }, z.core.$strip>;
120
+ readonly ghHistoryResearch: z.ZodObject<{
121
+ type: z.ZodDefault<z.ZodEnum<{
122
+ prs: "prs";
123
+ commits: "commits";
124
+ }>>;
125
+ since: z.ZodOptional<z.ZodString>;
126
+ until: z.ZodOptional<z.ZodString>;
127
+ path: z.ZodOptional<z.ZodString>;
128
+ branch: z.ZodOptional<z.ZodString>;
129
+ perPage: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
130
+ includeDiff: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
131
+ keywordsToSearch: z.ZodOptional<z.ZodArray<z.ZodString>>;
132
+ query: z.ZodOptional<z.ZodString>;
133
+ prNumber: z.ZodOptional<z.ZodNumber>;
134
+ owner: z.ZodOptional<z.ZodString>;
135
+ repo: z.ZodOptional<z.ZodString>;
136
+ concise: z.ZodOptional<z.ZodBoolean>;
137
+ state: z.ZodOptional<z.ZodEnum<{
138
+ open: "open";
139
+ closed: "closed";
140
+ merged: "merged";
141
+ }>>;
142
+ assignee: z.ZodOptional<z.ZodString>;
143
+ author: z.ZodOptional<z.ZodString>;
144
+ commenter: z.ZodOptional<z.ZodString>;
145
+ involves: z.ZodOptional<z.ZodString>;
146
+ mentions: z.ZodOptional<z.ZodString>;
147
+ "review-requested": z.ZodOptional<z.ZodString>;
148
+ "reviewed-by": z.ZodOptional<z.ZodString>;
149
+ label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
150
+ milestone: z.ZodOptional<z.ZodString>;
151
+ language: z.ZodOptional<z.ZodString>;
152
+ checks: z.ZodOptional<z.ZodEnum<{
153
+ success: "success";
154
+ failure: "failure";
155
+ pending: "pending";
156
+ }>>;
157
+ review: z.ZodOptional<z.ZodEnum<{
158
+ none: "none";
159
+ approved: "approved";
160
+ changes_requested: "changes_requested";
161
+ required: "required";
162
+ }>>;
163
+ locked: z.ZodOptional<z.ZodBoolean>;
164
+ visibility: z.ZodOptional<z.ZodEnum<{
165
+ public: "public";
166
+ private: "private";
167
+ }>>;
168
+ "team-mentions": z.ZodOptional<z.ZodString>;
169
+ project: z.ZodOptional<z.ZodString>;
170
+ "no-label": z.ZodOptional<z.ZodBoolean>;
171
+ "no-milestone": z.ZodOptional<z.ZodBoolean>;
172
+ "no-project": z.ZodOptional<z.ZodBoolean>;
173
+ "no-assignee": z.ZodOptional<z.ZodBoolean>;
174
+ head: z.ZodOptional<z.ZodString>;
175
+ base: z.ZodOptional<z.ZodString>;
176
+ created: z.ZodOptional<z.ZodString>;
177
+ updated: z.ZodOptional<z.ZodString>;
178
+ closed: z.ZodOptional<z.ZodString>;
179
+ "merged-at": z.ZodOptional<z.ZodString>;
180
+ comments: z.ZodOptional<z.ZodString>;
181
+ reactions: z.ZodOptional<z.ZodString>;
182
+ interactions: z.ZodOptional<z.ZodString>;
183
+ draft: z.ZodOptional<z.ZodBoolean>;
184
+ match: z.ZodOptional<z.ZodArray<z.ZodEnum<{
185
+ comments: "comments";
186
+ title: "title";
187
+ body: "body";
188
+ }>>>;
189
+ sort: z.ZodOptional<z.ZodEnum<{
190
+ created: "created";
191
+ updated: "updated";
192
+ "best-match": "best-match";
193
+ comments: "comments";
194
+ reactions: "reactions";
195
+ }>>;
196
+ order: z.ZodOptional<z.ZodEnum<{
197
+ asc: "asc";
198
+ desc: "desc";
199
+ }>>;
200
+ limit: z.ZodDefault<z.ZodNumber>;
201
+ page: z.ZodDefault<z.ZodNumber>;
202
+ archived: z.ZodOptional<z.ZodBoolean>;
203
+ filePage: z.ZodOptional<z.ZodNumber>;
204
+ commentPage: z.ZodOptional<z.ZodNumber>;
205
+ commitPage: z.ZodOptional<z.ZodNumber>;
206
+ itemsPerPage: z.ZodDefault<z.ZodNumber>;
207
+ reviewMode: z.ZodOptional<z.ZodLiteral<"full">>;
208
+ content: z.ZodOptional<z.ZodObject<{
209
+ metadata: z.ZodOptional<z.ZodBoolean>;
210
+ body: z.ZodOptional<z.ZodBoolean>;
211
+ changedFiles: z.ZodOptional<z.ZodBoolean>;
212
+ patches: z.ZodOptional<z.ZodObject<{
213
+ mode: z.ZodDefault<z.ZodEnum<{
214
+ none: "none";
215
+ selected: "selected";
216
+ all: "all";
217
+ }>>;
218
+ files: z.ZodOptional<z.ZodArray<z.ZodString>>;
219
+ ranges: z.ZodOptional<z.ZodArray<z.ZodObject<{
220
+ file: z.ZodString;
221
+ additions: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
222
+ deletions: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
223
+ }, z.core.$strip>>>;
224
+ }, z.core.$strip>>;
225
+ comments: z.ZodOptional<z.ZodObject<{
226
+ discussion: z.ZodOptional<z.ZodBoolean>;
227
+ reviewInline: z.ZodOptional<z.ZodBoolean>;
228
+ includeBots: z.ZodDefault<z.ZodBoolean>;
229
+ file: z.ZodOptional<z.ZodString>;
230
+ }, z.core.$strip>>;
231
+ reviews: z.ZodOptional<z.ZodBoolean>;
232
+ commits: z.ZodOptional<z.ZodObject<{
233
+ list: z.ZodOptional<z.ZodBoolean>;
234
+ includeFiles: z.ZodOptional<z.ZodBoolean>;
235
+ }, z.core.$strip>>;
236
+ }, z.core.$strip>>;
237
+ matchString: z.ZodOptional<z.ZodString>;
238
+ commentBodyOffset: z.ZodOptional<z.ZodNumber>;
239
+ charOffset: z.ZodOptional<z.ZodNumber>;
240
+ charLength: z.ZodOptional<z.ZodNumber>;
241
+ minify: z.ZodDefault<z.ZodEnum<{
242
+ none: "none";
243
+ standard: "standard";
244
+ }>>;
245
+ id: z.ZodOptional<z.ZodString>;
246
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
247
+ researchGoal: z.ZodOptional<z.ZodString>;
248
+ reasoning: z.ZodOptional<z.ZodString>;
249
+ }, z.core.$strip>;
250
+ readonly npmSearch: z.ZodObject<{
251
+ packageName: z.ZodString;
252
+ page: z.ZodDefault<z.ZodNumber>;
253
+ id: z.ZodOptional<z.ZodString>;
254
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
255
+ researchGoal: z.ZodOptional<z.ZodString>;
256
+ reasoning: z.ZodOptional<z.ZodString>;
257
+ }, z.core.$strip>;
258
+ readonly ghCloneRepo: z.ZodObject<{
259
+ owner: z.ZodString;
260
+ repo: z.ZodString;
261
+ branch: z.ZodOptional<z.ZodString>;
262
+ sparsePath: z.ZodOptional<z.ZodString>;
263
+ forceRefresh: z.ZodOptional<z.ZodBoolean>;
264
+ id: z.ZodOptional<z.ZodString>;
265
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
266
+ researchGoal: z.ZodOptional<z.ZodString>;
267
+ reasoning: z.ZodOptional<z.ZodString>;
268
+ }, z.core.$strip>;
269
+ readonly localSearchCode: z.ZodObject<{
270
+ keywords: z.ZodOptional<z.ZodString>;
271
+ path: z.ZodString;
272
+ mode: z.ZodDefault<z.ZodEnum<{
273
+ paginated: "paginated";
274
+ discovery: "discovery";
275
+ detailed: "detailed";
276
+ structural: "structural";
277
+ }>>;
278
+ pattern: z.ZodOptional<z.ZodString>;
279
+ rule: z.ZodOptional<z.ZodString>;
280
+ fixedString: z.ZodOptional<z.ZodBoolean>;
281
+ perlRegex: z.ZodOptional<z.ZodBoolean>;
282
+ caseInsensitive: z.ZodOptional<z.ZodBoolean>;
283
+ caseSensitive: z.ZodOptional<z.ZodBoolean>;
284
+ wholeWord: z.ZodOptional<z.ZodBoolean>;
285
+ invertMatch: z.ZodOptional<z.ZodBoolean>;
286
+ include: z.ZodOptional<z.ZodArray<z.ZodString>>;
287
+ exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
288
+ excludeDir: z.ZodOptional<z.ZodArray<z.ZodString>>;
289
+ noIgnore: z.ZodOptional<z.ZodBoolean>;
290
+ hidden: z.ZodOptional<z.ZodBoolean>;
291
+ filesOnly: z.ZodOptional<z.ZodBoolean>;
292
+ filesWithoutMatch: z.ZodOptional<z.ZodBoolean>;
293
+ contextLines: z.ZodOptional<z.ZodNumber>;
294
+ matchContentLength: z.ZodDefault<z.ZodNumber>;
295
+ maxMatchesPerFile: z.ZodOptional<z.ZodNumber>;
296
+ maxFiles: z.ZodOptional<z.ZodNumber>;
297
+ multiline: z.ZodOptional<z.ZodBoolean>;
298
+ multilineDotall: z.ZodOptional<z.ZodBoolean>;
299
+ sort: z.ZodDefault<z.ZodEnum<{
300
+ path: "path";
301
+ created: "created";
302
+ modified: "modified";
303
+ accessed: "accessed";
304
+ }>>;
305
+ sortReverse: z.ZodOptional<z.ZodBoolean>;
306
+ langType: z.ZodOptional<z.ZodString>;
307
+ countLinesPerFile: z.ZodOptional<z.ZodBoolean>;
308
+ countMatchesPerFile: z.ZodOptional<z.ZodBoolean>;
309
+ matchPage: z.ZodOptional<z.ZodNumber>;
310
+ itemsPerPage: z.ZodOptional<z.ZodNumber>;
311
+ page: z.ZodDefault<z.ZodNumber>;
312
+ id: z.ZodOptional<z.ZodString>;
313
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
314
+ researchGoal: z.ZodOptional<z.ZodString>;
315
+ reasoning: z.ZodOptional<z.ZodString>;
316
+ }, z.core.$strip>;
317
+ readonly localViewStructure: z.ZodObject<{
318
+ path: z.ZodString;
319
+ details: z.ZodOptional<z.ZodBoolean>;
320
+ hidden: z.ZodOptional<z.ZodBoolean>;
321
+ sortBy: z.ZodDefault<z.ZodEnum<{
322
+ extension: "extension";
323
+ size: "size";
324
+ name: "name";
325
+ time: "time";
326
+ }>>;
327
+ reverse: z.ZodOptional<z.ZodBoolean>;
328
+ pattern: z.ZodOptional<z.ZodString>;
329
+ directoriesOnly: z.ZodOptional<z.ZodBoolean>;
330
+ filesOnly: z.ZodOptional<z.ZodBoolean>;
331
+ recursive: z.ZodOptional<z.ZodBoolean>;
332
+ extensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
333
+ maxDepth: z.ZodOptional<z.ZodNumber>;
334
+ limit: z.ZodOptional<z.ZodNumber>;
335
+ showFileLastModified: z.ZodOptional<z.ZodBoolean>;
336
+ page: z.ZodDefault<z.ZodNumber>;
337
+ itemsPerPage: z.ZodOptional<z.ZodNumber>;
338
+ id: z.ZodOptional<z.ZodString>;
339
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
340
+ researchGoal: z.ZodOptional<z.ZodString>;
341
+ reasoning: z.ZodOptional<z.ZodString>;
342
+ }, z.core.$strip>;
343
+ readonly localFindFiles: z.ZodObject<{
344
+ path: z.ZodString;
345
+ maxDepth: z.ZodOptional<z.ZodNumber>;
346
+ minDepth: z.ZodOptional<z.ZodNumber>;
347
+ names: z.ZodOptional<z.ZodArray<z.ZodString>>;
348
+ pathPattern: z.ZodOptional<z.ZodString>;
349
+ regex: z.ZodOptional<z.ZodString>;
350
+ empty: z.ZodOptional<z.ZodBoolean>;
351
+ modifiedWithin: z.ZodOptional<z.ZodString>;
352
+ modifiedBefore: z.ZodOptional<z.ZodString>;
353
+ accessedWithin: z.ZodOptional<z.ZodString>;
354
+ sizeGreater: z.ZodOptional<z.ZodString>;
355
+ sizeLess: z.ZodOptional<z.ZodString>;
356
+ permissions: z.ZodOptional<z.ZodString>;
357
+ executable: z.ZodOptional<z.ZodBoolean>;
358
+ readable: z.ZodOptional<z.ZodBoolean>;
359
+ writable: z.ZodOptional<z.ZodBoolean>;
360
+ excludeDir: z.ZodOptional<z.ZodArray<z.ZodString>>;
361
+ limit: z.ZodOptional<z.ZodNumber>;
362
+ details: z.ZodOptional<z.ZodBoolean>;
363
+ showFileLastModified: z.ZodOptional<z.ZodBoolean>;
364
+ sortBy: z.ZodDefault<z.ZodEnum<{
365
+ path: "path";
366
+ size: "size";
367
+ name: "name";
368
+ modified: "modified";
369
+ }>>;
370
+ entryType: z.ZodOptional<z.ZodEnum<{
371
+ f: "f";
372
+ d: "d";
373
+ }>>;
374
+ page: z.ZodDefault<z.ZodNumber>;
375
+ itemsPerPage: z.ZodOptional<z.ZodNumber>;
376
+ id: z.ZodOptional<z.ZodString>;
377
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
378
+ researchGoal: z.ZodOptional<z.ZodString>;
379
+ reasoning: z.ZodOptional<z.ZodString>;
380
+ }, z.core.$strip>;
381
+ readonly localGetFileContent: z.ZodObject<{
382
+ path: z.ZodString;
383
+ fullContent: z.ZodOptional<z.ZodBoolean>;
384
+ matchString: z.ZodOptional<z.ZodString>;
385
+ matchStringIsRegex: z.ZodOptional<z.ZodBoolean>;
386
+ matchStringCaseSensitive: z.ZodOptional<z.ZodBoolean>;
387
+ startLine: z.ZodOptional<z.ZodNumber>;
388
+ endLine: z.ZodOptional<z.ZodNumber>;
389
+ contextLines: z.ZodDefault<z.ZodNumber>;
390
+ charOffset: z.ZodOptional<z.ZodNumber>;
391
+ charLength: z.ZodOptional<z.ZodNumber>;
392
+ minify: z.ZodDefault<z.ZodEnum<{
393
+ none: "none";
394
+ standard: "standard";
395
+ symbols: "symbols";
396
+ }>>;
397
+ id: z.ZodOptional<z.ZodString>;
398
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
399
+ researchGoal: z.ZodOptional<z.ZodString>;
400
+ reasoning: z.ZodOptional<z.ZodString>;
401
+ }, z.core.$strip>;
402
+ readonly lspGetSemantics: z.ZodObject<{
403
+ uri: z.ZodString;
404
+ type: z.ZodDefault<z.ZodEnum<{
405
+ definition: "definition";
406
+ references: "references";
407
+ callers: "callers";
408
+ callees: "callees";
409
+ callHierarchy: "callHierarchy";
410
+ hover: "hover";
411
+ documentSymbols: "documentSymbols";
412
+ typeDefinition: "typeDefinition";
413
+ implementation: "implementation";
414
+ }>>;
415
+ symbolName: z.ZodOptional<z.ZodString>;
416
+ lineHint: z.ZodOptional<z.ZodNumber>;
417
+ orderHint: z.ZodDefault<z.ZodNumber>;
418
+ depth: z.ZodOptional<z.ZodNumber>;
419
+ includeDeclaration: z.ZodDefault<z.ZodBoolean>;
420
+ groupByFile: z.ZodOptional<z.ZodBoolean>;
421
+ page: z.ZodDefault<z.ZodNumber>;
422
+ itemsPerPage: z.ZodOptional<z.ZodNumber>;
423
+ contextLines: z.ZodOptional<z.ZodNumber>;
424
+ format: z.ZodDefault<z.ZodEnum<{
425
+ structured: "structured";
426
+ compact: "compact";
427
+ }>>;
428
+ workspaceRoot: z.ZodOptional<z.ZodString>;
429
+ id: z.ZodOptional<z.ZodString>;
430
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
431
+ researchGoal: z.ZodOptional<z.ZodString>;
432
+ reasoning: z.ZodOptional<z.ZodString>;
433
+ }, z.core.$strip>;
434
+ readonly localBinaryInspect: z.ZodObject<{
435
+ path: z.ZodString;
436
+ mode: z.ZodEnum<{
437
+ list: "list";
438
+ identify: "identify";
439
+ extract: "extract";
440
+ decompress: "decompress";
441
+ strings: "strings";
442
+ unpack: "unpack";
443
+ }>;
444
+ verbose: z.ZodOptional<z.ZodBoolean>;
445
+ maxEntries: z.ZodDefault<z.ZodNumber>;
446
+ entriesPerPage: z.ZodOptional<z.ZodNumber>;
447
+ entryPageNumber: z.ZodDefault<z.ZodNumber>;
448
+ archiveFile: z.ZodOptional<z.ZodString>;
449
+ matchString: z.ZodOptional<z.ZodString>;
450
+ matchStringContextLines: z.ZodDefault<z.ZodNumber>;
451
+ charOffset: z.ZodOptional<z.ZodNumber>;
452
+ charLength: z.ZodOptional<z.ZodNumber>;
453
+ format: z.ZodDefault<z.ZodEnum<{
454
+ auto: "auto";
455
+ gzip: "gzip";
456
+ bzip2: "bzip2";
457
+ xz: "xz";
458
+ lzma: "lzma";
459
+ zstd: "zstd";
460
+ lz4: "lz4";
461
+ brotli: "brotli";
462
+ lzfse: "lzfse";
463
+ }>>;
464
+ minLength: z.ZodDefault<z.ZodNumber>;
465
+ includeOffsets: z.ZodOptional<z.ZodBoolean>;
466
+ id: z.ZodOptional<z.ZodString>;
467
+ mainResearchGoal: z.ZodOptional<z.ZodString>;
468
+ researchGoal: z.ZodOptional<z.ZodString>;
469
+ reasoning: z.ZodOptional<z.ZodString>;
470
+ }, z.core.$strip>;
471
+ };
472
+ /** Look up the Zod query schema for a canonical tool name. */
473
+ export declare function findToolSchema(name: string): z.ZodTypeAny | undefined;
474
+ export type GitHubCodeSearchQuery = z.infer<typeof GitHubCodeSearchQuerySchema>;
475
+ export type FileContentQuery = z.infer<typeof FileContentQuerySchema>;
476
+ export type GitHubViewRepoStructureQuery = z.infer<typeof GitHubViewRepoStructureQuerySchema>;
477
+ export type GitHubReposSearchSingleQuery = z.infer<typeof GitHubReposSearchSingleQuerySchema>;
478
+ export type GitHubPullRequestSearchQuery = z.infer<typeof GitHubPullRequestSearchQuerySchema>;
479
+ export type NpmPackageQuery = z.infer<typeof NpmPackageQuerySchema>;
480
+ export type CloneRepoQuery = z.infer<typeof CloneRepoQuerySchema>;
481
+ export type BulkCloneRepoQuery = z.infer<typeof BulkCloneRepoSchema>;
482
+ export type RipgrepQuery = z.infer<typeof RipgrepQuerySchema>;
483
+ export type ViewStructureQuery = z.infer<typeof ViewStructureQuerySchema>;
484
+ export type FindFilesQuery = z.infer<typeof FindFilesQuerySchema>;
485
+ export type FetchContentQuery = z.infer<typeof FetchContentQuerySchema>;
486
+ export type LspGetSemanticsQuery = z.infer<typeof LspGetSemanticsQuerySchema>;
487
+ export type LSPGotoDefinitionQuery = z.infer<typeof LSPGotoDefinitionQuerySchema>;
488
+ export type LSPFindReferencesQuery = z.infer<typeof LSPFindReferencesQuerySchema>;
489
+ export type LSPCallHierarchyQuery = z.infer<typeof LSPCallHierarchyQuerySchema>;
490
+ export type LocalBinaryInspectQuery = z.infer<typeof LocalBinaryInspectQuerySchema>;
@@ -0,0 +1 @@
1
+ import{GitHubCodeSearchQuerySchema as o}from"./resources/tools/ghSearchCode.js";import{FileContentQuerySchema as e}from"./resources/tools/ghGetFileContent.js";import{GitHubViewRepoStructureQuerySchema as r}from"./resources/tools/ghViewRepoStructure.js";import{GitHubReposSearchSingleQuerySchema as _}from"./resources/tools/ghSearchRepos.js";import{GitHubPullRequestSearchQuerySchema as s}from"./resources/tools/ghHistoryResearch.js";import{NpmPackageQuerySchema as t}from"./resources/tools/npmSearch.js";import{CloneRepoQuerySchema as E,BulkCloneRepoSchema as T}from"./resources/tools/ghCloneRepo.js";import{RipgrepQuerySchema as A}from"./resources/tools/localSearchCode.js";import{ViewStructureQuerySchema as c}from"./resources/tools/localViewStructure.js";import{FindFilesQuerySchema as l}from"./resources/tools/localFindFiles.js";import{FetchContentQuerySchema as S}from"./resources/tools/localGetFileContent.js";import{LspGetSemanticsQuerySchema as R,LSPGotoDefinitionQuerySchema as M,LSPFindReferencesQuerySchema as m,LSPCallHierarchyQuerySchema as I}from"./resources/tools/lspGetSemantics.js";import{LocalBinaryInspectQuerySchema as i}from"./resources/tools/localBinaryInspect.js";export{baseSchema,baseSchemaDescriptions,toolNames}from"./resources/global.js";export{MAX_CONTEXT_LINES,MAX_PAGE_NUMBER,MAX_CHAR_OFFSET,MAX_CHAR_LENGTH,MAX_LINE_NUMBER,MAX_ORDER_HINT,MAX_LOCAL_DEPTH,MAX_FIND_DEPTH,MAX_LOCAL_LIMIT,MAX_LOCAL_ITEMS_PER_PAGE,MAX_GITHUB_SEARCH_LIMIT,DEFAULT_GITHUB_SEARCH_LIMIT,MAX_GITHUB_STRUCTURE_ITEMS_PER_PAGE,DEFAULT_GITHUB_STRUCTURE_ITEMS_PER_PAGE,MAX_PR_ITEMS_PER_PAGE,DEFAULT_PR_ITEMS_PER_PAGE,MAX_MATCH_CONTENT_LENGTH,DEFAULT_MATCH_CONTENT_LENGTH,MAX_MATCH_COUNT,MAX_SEARCH_ITEMS_PER_PAGE,MAX_LSP_DEPTH,MAX_LSP_ITEMS_PER_PAGE,MAX_GITHUB_STRUCTURE_DEPTH,MAX_BINARY_ENTRIES,DEFAULT_BINARY_ENTRIES,MAX_BINARY_ENTRIES_PER_PAGE,MAX_BINARY_CONTEXT_LINES,DEFAULT_BINARY_CONTEXT_LINES,MAX_STRINGS_MIN_LENGTH,DEFAULT_STRINGS_MIN_LENGTH}from"./resources/tools/_toolkit.js";export{o as GitHubCodeSearchQuerySchema,e as FileContentQuerySchema,r as GitHubViewRepoStructureQuerySchema,_ as GitHubReposSearchSingleQuerySchema,s as GitHubPullRequestSearchQuerySchema,t as NpmPackageQuerySchema,E as CloneRepoQuerySchema,T as BulkCloneRepoSchema,A as RipgrepQuerySchema,c as ViewStructureQuerySchema,l as FindFilesQuerySchema,S as FetchContentQuerySchema,R as LspGetSemanticsQuerySchema,M as LSPGotoDefinitionQuerySchema,m as LSPFindReferencesQuerySchema,I as LSPCallHierarchyQuerySchema,i as LocalBinaryInspectQuerySchema};export const toolSchemas={ghSearchCode:o,ghGetFileContent:e,ghViewRepoStructure:r,ghSearchRepos:_,ghHistoryResearch:s,npmSearch:t,ghCloneRepo:E,localSearchCode:A,localViewStructure:c,localFindFiles:l,localGetFileContent:S,lspGetSemantics:R,localBinaryInspect:i};export function findToolSchema(o){return toolSchemas[o]}
@@ -1,15 +1,15 @@
1
1
  export interface ToolNames {
2
- GITHUB_FETCH_CONTENT: "ghGetFileContent";
3
2
  GITHUB_SEARCH_CODE: "ghSearchCode";
4
- GITHUB_SEARCH_PULL_REQUESTS: "ghHistoryResearch";
5
- GITHUB_SEARCH_REPOSITORIES: "ghSearchRepos";
3
+ GITHUB_FETCH_CONTENT: "ghGetFileContent";
6
4
  GITHUB_VIEW_REPO_STRUCTURE: "ghViewRepoStructure";
5
+ GITHUB_SEARCH_REPOSITORIES: "ghSearchRepos";
6
+ GITHUB_SEARCH_PULL_REQUESTS: "ghHistoryResearch";
7
7
  PACKAGE_SEARCH: "npmSearch";
8
8
  GITHUB_CLONE_REPO: "ghCloneRepo";
9
9
  LOCAL_RIPGREP: "localSearchCode";
10
- LOCAL_FETCH_CONTENT: "localGetFileContent";
11
- LOCAL_FIND_FILES: "localFindFiles";
12
10
  LOCAL_VIEW_STRUCTURE: "localViewStructure";
11
+ LOCAL_FIND_FILES: "localFindFiles";
12
+ LOCAL_FETCH_CONTENT: "localGetFileContent";
13
13
  LSP_GET_SEMANTIC_CONTENT: "lspGetSemantics";
14
14
  LOCAL_BINARY_INSPECT: "localBinaryInspect";
15
15
  }
@@ -19,8 +19,30 @@ export interface ToolHints {
19
19
  export interface ToolSchema {
20
20
  readonly [param: string]: string;
21
21
  }
22
+ /**
23
+ * The backing data source a tool operates against. Drives grouping in the
24
+ * agent-facing toolset: GitHub repo/PR/commit tools, npm registry lookup, and
25
+ * local-filesystem tools.
26
+ */
27
+ export type ToolType = "Github" | "Local" | "NPM";
22
28
  export interface ToolSpec {
23
29
  readonly name: string;
30
+ /** The data source this tool operates against. */
31
+ readonly type: ToolType;
32
+ /** One-line summary of what the tool does, for agents scanning the toolset. */
33
+ readonly shortDescription: string;
34
+ /**
35
+ * How to drive the tool: mode/option selection, output signals, cross-tool
36
+ * handoffs, and best practices. Per-parameter contracts live in `schema`, not
37
+ * here — keep this free of detail the schema already carries.
38
+ */
39
+ readonly instructions: string;
40
+ /**
41
+ * Client-facing description, composed as
42
+ * `"{type} | {shortDescription} | {instructions}"` by `defineTool`. Kept so
43
+ * consumers that only read `description` (e.g. the MCP tool registry) still
44
+ * get the full text. Do not author directly.
45
+ */
24
46
  readonly description: string;
25
47
  readonly schema: ToolSchema;
26
48
  readonly hints?: ToolHints;
@@ -28,6 +50,33 @@ export interface ToolSpec {
28
50
  export interface ToolMetadata extends ToolSpec {
29
51
  readonly hints: ToolHints;
30
52
  }
53
+ /**
54
+ * A single flag/option on a CLI command. `hasValue` distinguishes a value
55
+ * option (`--page <n>`) from a boolean switch (`--json`); `default` is the
56
+ * value applied when the option is omitted.
57
+ */
58
+ export interface CLIOption {
59
+ readonly name: string;
60
+ readonly description: string;
61
+ readonly hasValue?: boolean;
62
+ readonly default?: string | boolean;
63
+ }
64
+ /**
65
+ * Agent/user-facing content for one Octocode CLI command — the documentation
66
+ * layer (description, usage line, argument scheme, when-to-use guidance,
67
+ * examples, and option list), independent of the runtime handler that lives in
68
+ * the CLI package. Each command's spec is authored as its own file under
69
+ * `resources/cli/<command>.ts`, mirroring `resources/tools/<tool>.ts`.
70
+ */
71
+ export interface CLICommandSpec {
72
+ readonly name: string;
73
+ readonly description: string;
74
+ readonly usage?: string;
75
+ readonly scheme?: readonly string[];
76
+ readonly whenToUse?: readonly string[];
77
+ readonly examples?: readonly string[];
78
+ readonly options?: readonly CLIOption[];
79
+ }
31
80
  export interface BaseSchema {
32
81
  readonly id: string;
33
82
  readonly mainResearchGoal: string;
@@ -36,15 +85,19 @@ export interface BaseSchema {
36
85
  readonly verbose?: string;
37
86
  }
38
87
  export interface OctocodeConfig {
39
- readonly instructions: string;
88
+ /** Top-level agent system prompt shipped with the config. */
89
+ readonly systemPrompt: string;
40
90
  readonly toolNames: ToolNames;
41
91
  readonly baseSchema: BaseSchema;
42
92
  readonly tools: Record<ToolNames[keyof ToolNames], ToolSpec | ToolMetadata>;
93
+ /** Agent/user-facing content for the smart CLI commands. */
94
+ readonly cli?: readonly CLICommandSpec[];
43
95
  readonly baseHints?: Readonly<Record<string, readonly string[]>>;
44
96
  readonly genericErrorHints?: readonly string[];
45
97
  }
46
98
  export interface CompleteMetadata {
47
- readonly instructions: string;
99
+ /** Top-level agent system prompt shipped with the config. */
100
+ readonly systemPrompt: string;
48
101
  readonly toolNames: ToolNames;
49
102
  readonly baseSchema: BaseSchema;
50
103
  readonly tools: Record<string, ToolSpec | ToolMetadata>;
package/package.json CHANGED
@@ -1,19 +1,24 @@
1
1
  {
2
2
  "name": "@octocodeai/octocode-core",
3
- "version": "16.2.1",
4
- "description": "Core config, prompts, tools, and schemas for Octocode MCP",
3
+ "version": "16.4.0",
4
+ "description": "Compressed MCP tool specs, CLI command specs, and Zod query schemas for Octocode (exposed via /mcp, /cli, and /schemas)",
5
5
  "type": "module",
6
- "main": "dist/index.js",
7
- "module": "dist/index.js",
8
- "types": "dist/index.d.ts",
9
6
  "exports": {
10
7
  ".": {
11
8
  "import": "./dist/index.js",
12
9
  "types": "./dist/index.d.ts"
13
10
  },
11
+ "./cli": {
12
+ "import": "./dist/cli.js",
13
+ "types": "./dist/cli.d.ts"
14
+ },
15
+ "./mcp": {
16
+ "import": "./dist/mcp.js",
17
+ "types": "./dist/mcp.d.ts"
18
+ },
14
19
  "./schemas": {
15
- "import": "./dist/schemas/index.js",
16
- "types": "./dist/schemas/index.d.ts"
20
+ "import": "./dist/schemas.js",
21
+ "types": "./dist/schemas.d.ts"
17
22
  },
18
23
  "./schemas/outputs": {
19
24
  "import": "./dist/schemas/outputs.js",
@@ -35,7 +40,6 @@
35
40
  "files": [
36
41
  "dist/**/*.js",
37
42
  "dist/**/*.d.ts",
38
- "dist/**/*.json",
39
43
  "README.md"
40
44
  ],
41
45
  "publishConfig": {
@@ -48,7 +52,7 @@
48
52
  "build": "rm -rf dist && yarn generate && node scripts/compress-config.mjs && tsc && node scripts/minify-dist.mjs",
49
53
  "lint": "eslint src/**/*.ts",
50
54
  "lint:fix": "eslint src/**/*.ts --fix",
51
- "typecheck": "yarn compress && tsc --noEmit",
55
+ "typecheck": "yarn compress && tsc --noEmit -p tsconfig.typecheck.json",
52
56
  "test": "yarn compress && vitest run",
53
57
  "test:watch": "yarn compress && vitest --watch",
54
58
  "prepublishOnly": "yarn lint && yarn typecheck && yarn test && yarn build"