@opencow-ai/opencow-agent-sdk 0.4.15 → 0.4.16
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/cli.mjs +37 -26
- package/dist/client.js +28 -17
- package/dist/sdk.js +28 -17
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -94698,7 +94698,7 @@ function printStartupScreen() {
|
|
|
94698
94698
|
const sLen = ` ● ${sL} Ready — type /help to begin`.length;
|
|
94699
94699
|
out.push(boxRow(sRow, W2, sLen));
|
|
94700
94700
|
out.push(`${rgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET}`);
|
|
94701
|
-
out.push(` ${DIM}${rgb(...DIMCOL)}opencow ${RESET}${rgb(...ACCENT)}v${"0.4.
|
|
94701
|
+
out.push(` ${DIM}${rgb(...DIMCOL)}opencow ${RESET}${rgb(...ACCENT)}v${"0.4.16"}${RESET}`);
|
|
94702
94702
|
out.push("");
|
|
94703
94703
|
process.stdout.write(out.join(`
|
|
94704
94704
|
`) + `
|
|
@@ -244619,7 +244619,7 @@ function getAnthropicEnvMetadata() {
|
|
|
244619
244619
|
function getBuildAgeMinutes() {
|
|
244620
244620
|
if (false)
|
|
244621
244621
|
;
|
|
244622
|
-
const buildTime = new Date("2026-07-
|
|
244622
|
+
const buildTime = new Date("2026-07-08T06:56:56.372Z").getTime();
|
|
244623
244623
|
if (isNaN(buildTime))
|
|
244624
244624
|
return;
|
|
244625
244625
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -273433,7 +273433,7 @@ var init_GlobTool = __esm(() => {
|
|
|
273433
273433
|
} = lazyUI("Glob"));
|
|
273434
273434
|
inputSchema10 = lazySchema(() => exports_external.strictObject({
|
|
273435
273435
|
pattern: exports_external.preprocess((value) => typeof value === "string" && value.trim().length === 0 ? undefined : value, exports_external.string().default(DEFAULT_GLOB_PATTERN).describe('The glob pattern to match files against. Defaults to "*" when omitted.')),
|
|
273436
|
-
path: exports_external.string().optional().describe(
|
|
273436
|
+
path: exports_external.string().optional().describe("Optional directory path to search. Omit this field to use the current working directory.")
|
|
273437
273437
|
}));
|
|
273438
273438
|
outputSchema9 = lazySchema(() => exports_external.object({
|
|
273439
273439
|
durationMs: exports_external.number().describe("Time taken to execute the search in milliseconds"),
|
|
@@ -273567,6 +273567,18 @@ var init_GlobTool = __esm(() => {
|
|
|
273567
273567
|
});
|
|
273568
273568
|
|
|
273569
273569
|
// src/capabilities/tools/GrepTool/GrepTool.ts
|
|
273570
|
+
function grepBoolean(inner) {
|
|
273571
|
+
return exports_external.preprocess((value) => {
|
|
273572
|
+
if (typeof value === "string") {
|
|
273573
|
+
const normalized = value.trim().toLowerCase();
|
|
273574
|
+
if (normalized === "true")
|
|
273575
|
+
return true;
|
|
273576
|
+
if (normalized === "false")
|
|
273577
|
+
return false;
|
|
273578
|
+
}
|
|
273579
|
+
return value;
|
|
273580
|
+
}, inner);
|
|
273581
|
+
}
|
|
273570
273582
|
function applyHeadLimit(items, limit, offset = 0) {
|
|
273571
273583
|
if (limit === 0) {
|
|
273572
273584
|
return { items: items.slice(offset), appliedLimit: undefined };
|
|
@@ -273600,7 +273612,6 @@ var init_GrepTool = __esm(() => {
|
|
|
273600
273612
|
init_shellRuleMatching();
|
|
273601
273613
|
init_orphanedPluginFilter();
|
|
273602
273614
|
init_ripgrep();
|
|
273603
|
-
init_semanticBoolean();
|
|
273604
273615
|
init_semanticNumber();
|
|
273605
273616
|
init_stringUtils();
|
|
273606
273617
|
init_prompt3();
|
|
@@ -273613,19 +273624,19 @@ var init_GrepTool = __esm(() => {
|
|
|
273613
273624
|
} = lazyUI("Grep"));
|
|
273614
273625
|
inputSchema11 = lazySchema(() => exports_external.strictObject({
|
|
273615
273626
|
pattern: exports_external.preprocess((value) => typeof value === "string" && value.trim().length === 0 ? undefined : value, exports_external.string().default(DEFAULT_GREP_PATTERN).describe('The regular expression pattern to search for in file contents. Defaults to "." (match any non-empty line) when omitted.')),
|
|
273616
|
-
path: exports_external.string().optional().describe("File or directory to search
|
|
273617
|
-
glob: exports_external.string().optional().describe('Glob pattern to filter files (e.g. "*.js", "*.{ts,tsx}")
|
|
273618
|
-
output_mode: exports_external.enum(["content", "files_with_matches", "count"]).optional().describe('Output mode: "content" shows matching lines (supports
|
|
273619
|
-
"-B": semanticNumber(exports_external.number().optional()).describe('
|
|
273620
|
-
"-A": semanticNumber(exports_external.number().optional()).describe('
|
|
273621
|
-
"-C": semanticNumber(exports_external.number().optional()).describe("Alias for context."),
|
|
273622
|
-
context: semanticNumber(exports_external.number().optional()).describe('
|
|
273623
|
-
"-n":
|
|
273624
|
-
"-i":
|
|
273625
|
-
type: exports_external.string().optional().describe("File type
|
|
273626
|
-
head_limit: semanticNumber(exports_external.number().optional()).describe(
|
|
273627
|
-
offset: semanticNumber(exports_external.number().optional()).describe(
|
|
273628
|
-
multiline:
|
|
273627
|
+
path: exports_external.string().optional().describe("File or directory path to search. Defaults to current working directory."),
|
|
273628
|
+
glob: exports_external.string().optional().describe('Glob pattern to filter searched files (e.g. "*.js", "*.{ts,tsx}").'),
|
|
273629
|
+
output_mode: exports_external.enum(["content", "files_with_matches", "count"]).optional().describe('Output mode: "content" shows matching lines (supports context line fields, the -n boolean field, and head_limit), "files_with_matches" shows file paths (supports head_limit), "count" shows match counts (supports head_limit). Defaults to "files_with_matches".'),
|
|
273630
|
+
"-B": semanticNumber(exports_external.number().optional()).describe('JSON number field: lines to show before each match. Requires output_mode: "content", ignored otherwise.'),
|
|
273631
|
+
"-A": semanticNumber(exports_external.number().optional()).describe('JSON number field: lines to show after each match. Requires output_mode: "content", ignored otherwise.'),
|
|
273632
|
+
"-C": semanticNumber(exports_external.number().optional()).describe("JSON number field: lines to show before and after each match. Alias for context."),
|
|
273633
|
+
context: semanticNumber(exports_external.number().optional()).describe('JSON number field: lines to show before and after each match. Requires output_mode: "content", ignored otherwise.'),
|
|
273634
|
+
"-n": grepBoolean(exports_external.boolean().optional()).describe('JSON boolean field that controls whether output includes line numbers. Requires output_mode: "content", ignored otherwise. Defaults to true.'),
|
|
273635
|
+
"-i": grepBoolean(exports_external.boolean().optional()).describe("JSON boolean field that enables case-insensitive search."),
|
|
273636
|
+
type: exports_external.string().optional().describe("File type filter. Common values: js, py, rust, go, java, etc. More efficient than glob for standard file types."),
|
|
273637
|
+
head_limit: semanticNumber(exports_external.number().optional()).describe("JSON number field limiting returned lines or entries. Works across all output modes: content limits output lines, files_with_matches limits file paths, count limits count entries. Defaults to 250 when unspecified. Pass 0 for unlimited, sparingly."),
|
|
273638
|
+
offset: semanticNumber(exports_external.number().optional()).describe("JSON number field skipping the first N returned lines or entries before applying head_limit. Works across all output modes. Defaults to 0."),
|
|
273639
|
+
multiline: grepBoolean(exports_external.boolean().optional()).describe("JSON boolean field that enables multiline mode where . matches newlines and patterns can span lines. Default: false.")
|
|
273629
273640
|
}));
|
|
273630
273641
|
VCS_DIRECTORIES_TO_EXCLUDE2 = [
|
|
273631
273642
|
".git",
|
|
@@ -480075,7 +480086,7 @@ function buildPrimarySection() {
|
|
|
480075
480086
|
}, undefined, false, undefined, this);
|
|
480076
480087
|
return [{
|
|
480077
480088
|
label: "Version",
|
|
480078
|
-
value: "0.4.
|
|
480089
|
+
value: "0.4.16"
|
|
480079
480090
|
}, {
|
|
480080
480091
|
label: "Session name",
|
|
480081
480092
|
value: nameValue
|
|
@@ -536398,7 +536409,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
536398
536409
|
var call58 = async () => {
|
|
536399
536410
|
return {
|
|
536400
536411
|
type: "text",
|
|
536401
|
-
value: `${"99.0.0"} (built ${"2026-07-
|
|
536412
|
+
value: `${"99.0.0"} (built ${"2026-07-08T06:56:56.372Z"})`
|
|
536402
536413
|
};
|
|
536403
536414
|
}, version2, version_default;
|
|
536404
536415
|
var init_version = __esm(() => {
|
|
@@ -558508,7 +558519,7 @@ function WelcomeV2() {
|
|
|
558508
558519
|
dimColor: true,
|
|
558509
558520
|
children: [
|
|
558510
558521
|
"v",
|
|
558511
|
-
"0.4.
|
|
558522
|
+
"0.4.16",
|
|
558512
558523
|
" "
|
|
558513
558524
|
]
|
|
558514
558525
|
}, undefined, true, undefined, this)
|
|
@@ -558708,7 +558719,7 @@ function WelcomeV2() {
|
|
|
558708
558719
|
dimColor: true,
|
|
558709
558720
|
children: [
|
|
558710
558721
|
"v",
|
|
558711
|
-
"0.4.
|
|
558722
|
+
"0.4.16",
|
|
558712
558723
|
" "
|
|
558713
558724
|
]
|
|
558714
558725
|
}, undefined, true, undefined, this)
|
|
@@ -558934,7 +558945,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
558934
558945
|
dimColor: true,
|
|
558935
558946
|
children: [
|
|
558936
558947
|
"v",
|
|
558937
|
-
"0.4.
|
|
558948
|
+
"0.4.16",
|
|
558938
558949
|
" "
|
|
558939
558950
|
]
|
|
558940
558951
|
}, undefined, true, undefined, this);
|
|
@@ -559188,7 +559199,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
559188
559199
|
dimColor: true,
|
|
559189
559200
|
children: [
|
|
559190
559201
|
"v",
|
|
559191
|
-
"0.4.
|
|
559202
|
+
"0.4.16",
|
|
559192
559203
|
" "
|
|
559193
559204
|
]
|
|
559194
559205
|
}, undefined, true, undefined, this);
|
|
@@ -580063,7 +580074,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
580063
580074
|
pendingHookMessages
|
|
580064
580075
|
}, renderAndRun);
|
|
580065
580076
|
}
|
|
580066
|
-
}).version("0.4.
|
|
580077
|
+
}).version("0.4.16 (OpenCow)", "-v, --version", "Output the version number");
|
|
580067
580078
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
580068
580079
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
580069
580080
|
if (canUserConfigureAdvisor()) {
|
|
@@ -580709,7 +580720,7 @@ if (false) {}
|
|
|
580709
580720
|
async function main2() {
|
|
580710
580721
|
const args = process.argv.slice(2);
|
|
580711
580722
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
580712
|
-
console.log(`${"0.4.
|
|
580723
|
+
console.log(`${"0.4.16"} (OpenCow)`);
|
|
580713
580724
|
return;
|
|
580714
580725
|
}
|
|
580715
580726
|
if (args.includes("--provider")) {
|
|
@@ -580827,4 +580838,4 @@ async function main2() {
|
|
|
580827
580838
|
}
|
|
580828
580839
|
main2();
|
|
580829
580840
|
|
|
580830
|
-
//# debugId=
|
|
580841
|
+
//# debugId=79939475117F759764756E2164756E21
|
package/dist/client.js
CHANGED
|
@@ -254794,7 +254794,7 @@ var init_GlobTool = __esm(() => {
|
|
|
254794
254794
|
} = lazyUI("Glob"));
|
|
254795
254795
|
inputSchema9 = lazySchema(() => exports_external2.strictObject({
|
|
254796
254796
|
pattern: exports_external2.preprocess((value) => typeof value === "string" && value.trim().length === 0 ? undefined : value, exports_external2.string().default(DEFAULT_GLOB_PATTERN).describe('The glob pattern to match files against. Defaults to "*" when omitted.')),
|
|
254797
|
-
path: exports_external2.string().optional().describe(
|
|
254797
|
+
path: exports_external2.string().optional().describe("Optional directory path to search. Omit this field to use the current working directory.")
|
|
254798
254798
|
}));
|
|
254799
254799
|
outputSchema8 = lazySchema(() => exports_external2.object({
|
|
254800
254800
|
durationMs: exports_external2.number().describe("Time taken to execute the search in milliseconds"),
|
|
@@ -254943,6 +254943,18 @@ var init_semanticNumber = __esm(() => {
|
|
|
254943
254943
|
});
|
|
254944
254944
|
|
|
254945
254945
|
// src/capabilities/tools/GrepTool/GrepTool.ts
|
|
254946
|
+
function grepBoolean(inner) {
|
|
254947
|
+
return exports_external2.preprocess((value) => {
|
|
254948
|
+
if (typeof value === "string") {
|
|
254949
|
+
const normalized = value.trim().toLowerCase();
|
|
254950
|
+
if (normalized === "true")
|
|
254951
|
+
return true;
|
|
254952
|
+
if (normalized === "false")
|
|
254953
|
+
return false;
|
|
254954
|
+
}
|
|
254955
|
+
return value;
|
|
254956
|
+
}, inner);
|
|
254957
|
+
}
|
|
254946
254958
|
function applyHeadLimit(items, limit, offset = 0) {
|
|
254947
254959
|
if (limit === 0) {
|
|
254948
254960
|
return { items: items.slice(offset), appliedLimit: undefined };
|
|
@@ -254976,7 +254988,6 @@ var init_GrepTool = __esm(() => {
|
|
|
254976
254988
|
init_shellRuleMatching();
|
|
254977
254989
|
init_orphanedPluginFilter();
|
|
254978
254990
|
init_ripgrep();
|
|
254979
|
-
init_semanticBoolean();
|
|
254980
254991
|
init_semanticNumber();
|
|
254981
254992
|
init_stringUtils();
|
|
254982
254993
|
init_prompt4();
|
|
@@ -254989,19 +255000,19 @@ var init_GrepTool = __esm(() => {
|
|
|
254989
255000
|
} = lazyUI("Grep"));
|
|
254990
255001
|
inputSchema10 = lazySchema(() => exports_external2.strictObject({
|
|
254991
255002
|
pattern: exports_external2.preprocess((value) => typeof value === "string" && value.trim().length === 0 ? undefined : value, exports_external2.string().default(DEFAULT_GREP_PATTERN).describe('The regular expression pattern to search for in file contents. Defaults to "." (match any non-empty line) when omitted.')),
|
|
254992
|
-
path: exports_external2.string().optional().describe("File or directory to search
|
|
254993
|
-
glob: exports_external2.string().optional().describe('Glob pattern to filter files (e.g. "*.js", "*.{ts,tsx}")
|
|
254994
|
-
output_mode: exports_external2.enum(["content", "files_with_matches", "count"]).optional().describe('Output mode: "content" shows matching lines (supports
|
|
254995
|
-
"-B": semanticNumber(exports_external2.number().optional()).describe('
|
|
254996
|
-
"-A": semanticNumber(exports_external2.number().optional()).describe('
|
|
254997
|
-
"-C": semanticNumber(exports_external2.number().optional()).describe("Alias for context."),
|
|
254998
|
-
context: semanticNumber(exports_external2.number().optional()).describe('
|
|
254999
|
-
"-n":
|
|
255000
|
-
"-i":
|
|
255001
|
-
type: exports_external2.string().optional().describe("File type
|
|
255002
|
-
head_limit: semanticNumber(exports_external2.number().optional()).describe(
|
|
255003
|
-
offset: semanticNumber(exports_external2.number().optional()).describe(
|
|
255004
|
-
multiline:
|
|
255003
|
+
path: exports_external2.string().optional().describe("File or directory path to search. Defaults to current working directory."),
|
|
255004
|
+
glob: exports_external2.string().optional().describe('Glob pattern to filter searched files (e.g. "*.js", "*.{ts,tsx}").'),
|
|
255005
|
+
output_mode: exports_external2.enum(["content", "files_with_matches", "count"]).optional().describe('Output mode: "content" shows matching lines (supports context line fields, the -n boolean field, and head_limit), "files_with_matches" shows file paths (supports head_limit), "count" shows match counts (supports head_limit). Defaults to "files_with_matches".'),
|
|
255006
|
+
"-B": semanticNumber(exports_external2.number().optional()).describe('JSON number field: lines to show before each match. Requires output_mode: "content", ignored otherwise.'),
|
|
255007
|
+
"-A": semanticNumber(exports_external2.number().optional()).describe('JSON number field: lines to show after each match. Requires output_mode: "content", ignored otherwise.'),
|
|
255008
|
+
"-C": semanticNumber(exports_external2.number().optional()).describe("JSON number field: lines to show before and after each match. Alias for context."),
|
|
255009
|
+
context: semanticNumber(exports_external2.number().optional()).describe('JSON number field: lines to show before and after each match. Requires output_mode: "content", ignored otherwise.'),
|
|
255010
|
+
"-n": grepBoolean(exports_external2.boolean().optional()).describe('JSON boolean field that controls whether output includes line numbers. Requires output_mode: "content", ignored otherwise. Defaults to true.'),
|
|
255011
|
+
"-i": grepBoolean(exports_external2.boolean().optional()).describe("JSON boolean field that enables case-insensitive search."),
|
|
255012
|
+
type: exports_external2.string().optional().describe("File type filter. Common values: js, py, rust, go, java, etc. More efficient than glob for standard file types."),
|
|
255013
|
+
head_limit: semanticNumber(exports_external2.number().optional()).describe("JSON number field limiting returned lines or entries. Works across all output modes: content limits output lines, files_with_matches limits file paths, count limits count entries. Defaults to 250 when unspecified. Pass 0 for unlimited, sparingly."),
|
|
255014
|
+
offset: semanticNumber(exports_external2.number().optional()).describe("JSON number field skipping the first N returned lines or entries before applying head_limit. Works across all output modes. Defaults to 0."),
|
|
255015
|
+
multiline: grepBoolean(exports_external2.boolean().optional()).describe("JSON boolean field that enables multiline mode where . matches newlines and patterns can span lines. Default: false.")
|
|
255005
255016
|
}));
|
|
255006
255017
|
VCS_DIRECTORIES_TO_EXCLUDE = [
|
|
255007
255018
|
".git",
|
|
@@ -282893,7 +282904,7 @@ function getAnthropicEnvMetadata() {
|
|
|
282893
282904
|
function getBuildAgeMinutes() {
|
|
282894
282905
|
if (false)
|
|
282895
282906
|
;
|
|
282896
|
-
const buildTime = new Date("2026-07-
|
|
282907
|
+
const buildTime = new Date("2026-07-08T06:56:56.372Z").getTime();
|
|
282897
282908
|
if (isNaN(buildTime))
|
|
282898
282909
|
return;
|
|
282899
282910
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -336383,4 +336394,4 @@ export {
|
|
|
336383
336394
|
AbortError2 as AbortError
|
|
336384
336395
|
};
|
|
336385
336396
|
|
|
336386
|
-
//# debugId=
|
|
336397
|
+
//# debugId=116A1A82F0582B0D64756E2164756E21
|
package/dist/sdk.js
CHANGED
|
@@ -254794,7 +254794,7 @@ var init_GlobTool = __esm(() => {
|
|
|
254794
254794
|
} = lazyUI("Glob"));
|
|
254795
254795
|
inputSchema9 = lazySchema(() => exports_external2.strictObject({
|
|
254796
254796
|
pattern: exports_external2.preprocess((value) => typeof value === "string" && value.trim().length === 0 ? undefined : value, exports_external2.string().default(DEFAULT_GLOB_PATTERN).describe('The glob pattern to match files against. Defaults to "*" when omitted.')),
|
|
254797
|
-
path: exports_external2.string().optional().describe(
|
|
254797
|
+
path: exports_external2.string().optional().describe("Optional directory path to search. Omit this field to use the current working directory.")
|
|
254798
254798
|
}));
|
|
254799
254799
|
outputSchema8 = lazySchema(() => exports_external2.object({
|
|
254800
254800
|
durationMs: exports_external2.number().describe("Time taken to execute the search in milliseconds"),
|
|
@@ -254943,6 +254943,18 @@ var init_semanticNumber = __esm(() => {
|
|
|
254943
254943
|
});
|
|
254944
254944
|
|
|
254945
254945
|
// src/capabilities/tools/GrepTool/GrepTool.ts
|
|
254946
|
+
function grepBoolean(inner) {
|
|
254947
|
+
return exports_external2.preprocess((value) => {
|
|
254948
|
+
if (typeof value === "string") {
|
|
254949
|
+
const normalized = value.trim().toLowerCase();
|
|
254950
|
+
if (normalized === "true")
|
|
254951
|
+
return true;
|
|
254952
|
+
if (normalized === "false")
|
|
254953
|
+
return false;
|
|
254954
|
+
}
|
|
254955
|
+
return value;
|
|
254956
|
+
}, inner);
|
|
254957
|
+
}
|
|
254946
254958
|
function applyHeadLimit(items, limit, offset = 0) {
|
|
254947
254959
|
if (limit === 0) {
|
|
254948
254960
|
return { items: items.slice(offset), appliedLimit: undefined };
|
|
@@ -254976,7 +254988,6 @@ var init_GrepTool = __esm(() => {
|
|
|
254976
254988
|
init_shellRuleMatching();
|
|
254977
254989
|
init_orphanedPluginFilter();
|
|
254978
254990
|
init_ripgrep();
|
|
254979
|
-
init_semanticBoolean();
|
|
254980
254991
|
init_semanticNumber();
|
|
254981
254992
|
init_stringUtils();
|
|
254982
254993
|
init_prompt4();
|
|
@@ -254989,19 +255000,19 @@ var init_GrepTool = __esm(() => {
|
|
|
254989
255000
|
} = lazyUI("Grep"));
|
|
254990
255001
|
inputSchema10 = lazySchema(() => exports_external2.strictObject({
|
|
254991
255002
|
pattern: exports_external2.preprocess((value) => typeof value === "string" && value.trim().length === 0 ? undefined : value, exports_external2.string().default(DEFAULT_GREP_PATTERN).describe('The regular expression pattern to search for in file contents. Defaults to "." (match any non-empty line) when omitted.')),
|
|
254992
|
-
path: exports_external2.string().optional().describe("File or directory to search
|
|
254993
|
-
glob: exports_external2.string().optional().describe('Glob pattern to filter files (e.g. "*.js", "*.{ts,tsx}")
|
|
254994
|
-
output_mode: exports_external2.enum(["content", "files_with_matches", "count"]).optional().describe('Output mode: "content" shows matching lines (supports
|
|
254995
|
-
"-B": semanticNumber(exports_external2.number().optional()).describe('
|
|
254996
|
-
"-A": semanticNumber(exports_external2.number().optional()).describe('
|
|
254997
|
-
"-C": semanticNumber(exports_external2.number().optional()).describe("Alias for context."),
|
|
254998
|
-
context: semanticNumber(exports_external2.number().optional()).describe('
|
|
254999
|
-
"-n":
|
|
255000
|
-
"-i":
|
|
255001
|
-
type: exports_external2.string().optional().describe("File type
|
|
255002
|
-
head_limit: semanticNumber(exports_external2.number().optional()).describe(
|
|
255003
|
-
offset: semanticNumber(exports_external2.number().optional()).describe(
|
|
255004
|
-
multiline:
|
|
255003
|
+
path: exports_external2.string().optional().describe("File or directory path to search. Defaults to current working directory."),
|
|
255004
|
+
glob: exports_external2.string().optional().describe('Glob pattern to filter searched files (e.g. "*.js", "*.{ts,tsx}").'),
|
|
255005
|
+
output_mode: exports_external2.enum(["content", "files_with_matches", "count"]).optional().describe('Output mode: "content" shows matching lines (supports context line fields, the -n boolean field, and head_limit), "files_with_matches" shows file paths (supports head_limit), "count" shows match counts (supports head_limit). Defaults to "files_with_matches".'),
|
|
255006
|
+
"-B": semanticNumber(exports_external2.number().optional()).describe('JSON number field: lines to show before each match. Requires output_mode: "content", ignored otherwise.'),
|
|
255007
|
+
"-A": semanticNumber(exports_external2.number().optional()).describe('JSON number field: lines to show after each match. Requires output_mode: "content", ignored otherwise.'),
|
|
255008
|
+
"-C": semanticNumber(exports_external2.number().optional()).describe("JSON number field: lines to show before and after each match. Alias for context."),
|
|
255009
|
+
context: semanticNumber(exports_external2.number().optional()).describe('JSON number field: lines to show before and after each match. Requires output_mode: "content", ignored otherwise.'),
|
|
255010
|
+
"-n": grepBoolean(exports_external2.boolean().optional()).describe('JSON boolean field that controls whether output includes line numbers. Requires output_mode: "content", ignored otherwise. Defaults to true.'),
|
|
255011
|
+
"-i": grepBoolean(exports_external2.boolean().optional()).describe("JSON boolean field that enables case-insensitive search."),
|
|
255012
|
+
type: exports_external2.string().optional().describe("File type filter. Common values: js, py, rust, go, java, etc. More efficient than glob for standard file types."),
|
|
255013
|
+
head_limit: semanticNumber(exports_external2.number().optional()).describe("JSON number field limiting returned lines or entries. Works across all output modes: content limits output lines, files_with_matches limits file paths, count limits count entries. Defaults to 250 when unspecified. Pass 0 for unlimited, sparingly."),
|
|
255014
|
+
offset: semanticNumber(exports_external2.number().optional()).describe("JSON number field skipping the first N returned lines or entries before applying head_limit. Works across all output modes. Defaults to 0."),
|
|
255015
|
+
multiline: grepBoolean(exports_external2.boolean().optional()).describe("JSON boolean field that enables multiline mode where . matches newlines and patterns can span lines. Default: false.")
|
|
255005
255016
|
}));
|
|
255006
255017
|
VCS_DIRECTORIES_TO_EXCLUDE = [
|
|
255007
255018
|
".git",
|
|
@@ -282893,7 +282904,7 @@ function getAnthropicEnvMetadata() {
|
|
|
282893
282904
|
function getBuildAgeMinutes() {
|
|
282894
282905
|
if (false)
|
|
282895
282906
|
;
|
|
282896
|
-
const buildTime = new Date("2026-07-
|
|
282907
|
+
const buildTime = new Date("2026-07-08T06:56:56.372Z").getTime();
|
|
282897
282908
|
if (isNaN(buildTime))
|
|
282898
282909
|
return;
|
|
282899
282910
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -336383,4 +336394,4 @@ export {
|
|
|
336383
336394
|
AbortError2 as AbortError
|
|
336384
336395
|
};
|
|
336385
336396
|
|
|
336386
|
-
//# debugId=
|
|
336397
|
+
//# debugId=B9DA1355E8B3544864756E2164756E21
|
package/package.json
CHANGED