omp-fabric 1.25.7 → 1.25.9
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/CHANGELOG.md +24 -0
- package/README.md +1 -1
- package/dist/audit/projection.d.ts.map +1 -1
- package/dist/chunks/{chunk-HAH64YUG.js → chunk-2C5YN36Y.js} +2 -2
- package/dist/chunks/chunk-2C5YN36Y.js.map +7 -0
- package/dist/chunks/{chunk-3BS4RMF4.js → chunk-AZBJNZS4.js} +2 -2
- package/dist/chunks/{chunk-EZRC24CX.js → chunk-BMSAIMFB.js} +2 -2
- package/dist/chunks/{chunk-63VIZJGS.js → chunk-BWLZ6VDQ.js} +2 -2
- package/dist/chunks/{chunk-BQG4LFAC.js → chunk-D55BFSFK.js} +2 -2
- package/dist/chunks/{chunk-WUPYPFAC.js → chunk-E3KTE736.js} +3 -3
- package/dist/chunks/{chunk-JBKYNJFN.js → chunk-FL4A542C.js} +2 -1
- package/dist/chunks/chunk-FL4A542C.js.map +7 -0
- package/dist/chunks/{chunk-REHGQCXU.js → chunk-J2BDKPO4.js} +4 -4
- package/dist/chunks/{chunk-3KORI7FQ.js → chunk-KLWNXXEI.js} +2 -2
- package/dist/chunks/{chunk-XLINRLLP.js → chunk-PIW2DEO2.js} +4 -4
- package/dist/chunks/{chunk-H3KRHDDF.js → chunk-QJKOPPW2.js} +2 -2
- package/dist/chunks/{chunk-MR5C7U5H.js → chunk-UKB5RJDP.js} +3 -3
- package/dist/chunks/chunk-UKB5RJDP.js.map +7 -0
- package/dist/chunks/{chunk-GPJV2FSP.js → chunk-WX6C7N3W.js} +2 -2
- package/dist/chunks/{chunk-ABBGHQVX.js → chunk-YAI5SCIE.js} +2 -2
- package/dist/chunks/{chunk-G3ELO3QC.js → chunk-Z6TTRT6Q.js} +2 -2
- package/dist/compaction/hook.js +3 -3
- package/dist/compaction/lcm-runtime.js +4 -4
- package/dist/core/action-registry.js +2 -2
- package/dist/core/system-guidance.d.ts +3 -0
- package/dist/core/system-guidance.d.ts.map +1 -1
- package/dist/entropy/index.js +5 -5
- package/dist/fabric-runtime-state.js +67 -28
- package/dist/fabric-runtime-state.js.map +2 -2
- package/dist/host-compatibility.d.ts +1 -1
- package/dist/index.js +19 -14
- package/dist/index.js.map +2 -2
- package/dist/memory/discovery.js +4 -4
- package/dist/memory/normalize.js +3 -3
- package/dist/memory/search.js +4 -4
- package/dist/providers/memory-provider.js +6 -6
- package/dist/providers/omp-tools-provider.d.ts.map +1 -1
- package/dist/residency/host.js +6 -6
- package/dist/residency/omp-entry.js +6 -6
- package/dist/runtime/core-override-guest-types.js +1 -1
- package/dist/runtime/guest-types.d.ts +2 -2
- package/dist/runtime/guest-types.d.ts.map +1 -1
- package/dist/runtime/guest-types.js +1 -1
- package/dist/runtime/node-process-runtime.js +1 -1
- package/dist/runtime/quickjs-runtime.d.ts +1 -1
- package/dist/runtime/quickjs-runtime.d.ts.map +1 -1
- package/dist/runtime/quickjs-runtime.js +1 -1
- package/dist/speculation/guest-args.d.ts.map +1 -1
- package/dist/speculation/scanner.js +2 -1
- package/dist/speculation/scanner.js.map +2 -2
- package/docs/audit-trace.md +1 -1
- package/docs/configuration.md +1 -1
- package/package.json +4 -4
- package/skills/fabric-exec/SKILL.md +4 -4
- package/dist/chunks/chunk-HAH64YUG.js.map +0 -7
- package/dist/chunks/chunk-JBKYNJFN.js.map +0 -7
- package/dist/chunks/chunk-MR5C7U5H.js.map +0 -7
- /package/dist/chunks/{chunk-3BS4RMF4.js.map → chunk-AZBJNZS4.js.map} +0 -0
- /package/dist/chunks/{chunk-EZRC24CX.js.map → chunk-BMSAIMFB.js.map} +0 -0
- /package/dist/chunks/{chunk-63VIZJGS.js.map → chunk-BWLZ6VDQ.js.map} +0 -0
- /package/dist/chunks/{chunk-BQG4LFAC.js.map → chunk-D55BFSFK.js.map} +0 -0
- /package/dist/chunks/{chunk-WUPYPFAC.js.map → chunk-E3KTE736.js.map} +0 -0
- /package/dist/chunks/{chunk-REHGQCXU.js.map → chunk-J2BDKPO4.js.map} +0 -0
- /package/dist/chunks/{chunk-3KORI7FQ.js.map → chunk-KLWNXXEI.js.map} +0 -0
- /package/dist/chunks/{chunk-XLINRLLP.js.map → chunk-PIW2DEO2.js.map} +0 -0
- /package/dist/chunks/{chunk-H3KRHDDF.js.map → chunk-QJKOPPW2.js.map} +0 -0
- /package/dist/chunks/{chunk-GPJV2FSP.js.map → chunk-WX6C7N3W.js.map} +0 -0
- /package/dist/chunks/{chunk-ABBGHQVX.js.map → chunk-YAI5SCIE.js.map} +0 -0
- /package/dist/chunks/{chunk-G3ELO3QC.js.map → chunk-Z6TTRT6Q.js.map} +0 -0
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
MemoryProvider,
|
|
12
12
|
actionArgNormalizer,
|
|
13
13
|
uniqueDeclaredKeyForSpelling
|
|
14
|
-
} from "./chunks/chunk-
|
|
15
|
-
import "./chunks/chunk-
|
|
14
|
+
} from "./chunks/chunk-J2BDKPO4.js";
|
|
15
|
+
import "./chunks/chunk-BWLZ6VDQ.js";
|
|
16
16
|
import "./chunks/chunk-U5FYOMG5.js";
|
|
17
17
|
import {
|
|
18
18
|
ApprovalController,
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
repairFabricGuestCode,
|
|
34
34
|
resolveFabricIdentity,
|
|
35
35
|
runFabricHandoffAtBoundary
|
|
36
|
-
} from "./chunks/chunk-
|
|
36
|
+
} from "./chunks/chunk-PIW2DEO2.js";
|
|
37
37
|
import "./chunks/chunk-7VIQNUPS.js";
|
|
38
38
|
import {
|
|
39
39
|
AgentTranscriptReader,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
repairActionName,
|
|
51
51
|
setActiveCompiledSurface,
|
|
52
52
|
setActiveRepairCompiler
|
|
53
|
-
} from "./chunks/chunk-
|
|
53
|
+
} from "./chunks/chunk-KLWNXXEI.js";
|
|
54
54
|
import {
|
|
55
55
|
formatFabricEffectConflict
|
|
56
56
|
} from "./chunks/chunk-LMAVZN7J.js";
|
|
@@ -63,8 +63,8 @@ import {
|
|
|
63
63
|
withExclusiveFileLockAsync
|
|
64
64
|
} from "./chunks/chunk-YWEXP724.js";
|
|
65
65
|
import "./chunks/chunk-4A4MVZQW.js";
|
|
66
|
-
import "./chunks/chunk-
|
|
67
|
-
import "./chunks/chunk-
|
|
66
|
+
import "./chunks/chunk-WX6C7N3W.js";
|
|
67
|
+
import "./chunks/chunk-Z6TTRT6Q.js";
|
|
68
68
|
import {
|
|
69
69
|
FABRIC_COMPONENT_DISCOVER_EVENT,
|
|
70
70
|
FABRIC_PROVIDER_DISCOVER_EVENT,
|
|
@@ -94,7 +94,7 @@ import {
|
|
|
94
94
|
resolveAgentCwd,
|
|
95
95
|
resolveOmpBinary,
|
|
96
96
|
validateAgentCwdRequest
|
|
97
|
-
} from "./chunks/chunk-
|
|
97
|
+
} from "./chunks/chunk-YAI5SCIE.js";
|
|
98
98
|
import "./chunks/chunk-VPPIJRNZ.js";
|
|
99
99
|
import {
|
|
100
100
|
executeFile,
|
|
@@ -104,7 +104,7 @@ import {
|
|
|
104
104
|
import "./chunks/chunk-CT2AJ2UI.js";
|
|
105
105
|
import {
|
|
106
106
|
checkedHandoffCompaction
|
|
107
|
-
} from "./chunks/chunk-
|
|
107
|
+
} from "./chunks/chunk-QJKOPPW2.js";
|
|
108
108
|
import {
|
|
109
109
|
DEFAULT_FABRIC_CONFIG,
|
|
110
110
|
FUZZY_RESOLUTION_MARKERS,
|
|
@@ -154,7 +154,7 @@ import {
|
|
|
154
154
|
import {
|
|
155
155
|
estimateTokens,
|
|
156
156
|
fabricExecTitleHintCached
|
|
157
|
-
} from "./chunks/chunk-
|
|
157
|
+
} from "./chunks/chunk-D55BFSFK.js";
|
|
158
158
|
import "./chunks/chunk-3J7BKUNG.js";
|
|
159
159
|
import {
|
|
160
160
|
MAX_COMPACTION_INSTRUCTIONS_CHARS,
|
|
@@ -164,12 +164,12 @@ import {
|
|
|
164
164
|
encodeCompactionRequest
|
|
165
165
|
} from "./chunks/chunk-QSRTEINF.js";
|
|
166
166
|
import "./chunks/chunk-UAP6IQIR.js";
|
|
167
|
-
import "./chunks/chunk-
|
|
167
|
+
import "./chunks/chunk-AZBJNZS4.js";
|
|
168
168
|
import {
|
|
169
169
|
FabricExecutionTraceRecorder,
|
|
170
170
|
FabricTraceSafeError,
|
|
171
171
|
executionOutcomeFromError
|
|
172
|
-
} from "./chunks/chunk-
|
|
172
|
+
} from "./chunks/chunk-FL4A542C.js";
|
|
173
173
|
import {
|
|
174
174
|
OMP_GUEST_TOOL_NAMES,
|
|
175
175
|
OMP_GUEST_TOOL_NAME_SET,
|
|
@@ -10773,6 +10773,10 @@ var GREP_SKIP_PROPERTY = {
|
|
|
10773
10773
|
type: "number",
|
|
10774
10774
|
description: "Files to skip before collecting results \u2014 paginate when a search hit the file limit"
|
|
10775
10775
|
};
|
|
10776
|
+
var GREP_LIMIT_PROPERTY = {
|
|
10777
|
+
type: "number",
|
|
10778
|
+
description: "Cap on total surfaced matches \u2014 applied on top of the per-file and file-window caps, never above them"
|
|
10779
|
+
};
|
|
10776
10780
|
var GITIGNORE_PROPERTY = {
|
|
10777
10781
|
type: "boolean",
|
|
10778
10782
|
description: "Respect gitignore rules; pass false to search ignored files such as build output or .env"
|
|
@@ -10793,7 +10797,7 @@ var withExtraProperties = (document, extras) => {
|
|
|
10793
10797
|
if (Object.keys(additions).length === 0) return document;
|
|
10794
10798
|
return { ...schema, properties: { ...properties, ...additions } };
|
|
10795
10799
|
};
|
|
10796
|
-
var
|
|
10800
|
+
var withGrepOptionSchema = (document) => withExtraProperties(document, { skip: GREP_SKIP_PROPERTY, limit: GREP_LIMIT_PROPERTY, gitignore: GITIGNORE_PROPERTY });
|
|
10797
10801
|
var withFindFilterSchema = (document) => withExtraProperties(document, { gitignore: GITIGNORE_PROPERTY, hidden: HIDDEN_PROPERTY });
|
|
10798
10802
|
var grepSession = (cwd, context) => ({
|
|
10799
10803
|
cwd,
|
|
@@ -10804,12 +10808,12 @@ var grepSession = (cwd, context) => ({
|
|
|
10804
10808
|
context === void 0 ? void 0 : { "grep.contextBefore": Math.max(0, Math.floor(context)), "grep.contextAfter": Math.max(0, Math.floor(context)) }
|
|
10805
10809
|
)
|
|
10806
10810
|
});
|
|
10807
|
-
var
|
|
10811
|
+
var createGrepDefinitionWithOptions = (cwd) => {
|
|
10808
10812
|
const legacy = createGrepToolDefinition(cwd);
|
|
10809
10813
|
const defaultTool = new GrepTool(grepSession(cwd));
|
|
10810
10814
|
return {
|
|
10811
10815
|
...legacy,
|
|
10812
|
-
parameters:
|
|
10816
|
+
parameters: withGrepOptionSchema(legacy.parameters),
|
|
10813
10817
|
execute: (toolCallId, params, signal, onUpdate, context) => {
|
|
10814
10818
|
const record2 = asRecord(params) ?? {};
|
|
10815
10819
|
const rawPattern = typeof record2.pattern === "string" ? record2.pattern : "";
|
|
@@ -10817,7 +10821,8 @@ var createGrepDefinitionWithSkip = (cwd) => {
|
|
|
10817
10821
|
const glob = typeof record2.glob === "string" ? record2.glob : void 0;
|
|
10818
10822
|
const contextLines = typeof record2.context === "number" ? record2.context : void 0;
|
|
10819
10823
|
const skip = typeof record2.skip === "number" ? record2.skip : void 0;
|
|
10820
|
-
const
|
|
10824
|
+
const limit = typeof record2.limit === "number" ? record2.limit : void 0;
|
|
10825
|
+
const tool = contextLines === void 0 && limit === void 0 ? defaultTool : new GrepTool(grepSession(cwd, contextLines), limit === void 0 ? void 0 : { totalMatchLimit: limit });
|
|
10821
10826
|
return tool.execute(
|
|
10822
10827
|
toolCallId,
|
|
10823
10828
|
{
|
|
@@ -10977,6 +10982,7 @@ var readTruncationMeta = (details) => {
|
|
|
10977
10982
|
};
|
|
10978
10983
|
var UNREADABLE_READ_NOTE = /^\[Cannot read (?:binary file '|\.[^\s:]+ file: )/;
|
|
10979
10984
|
var REPEAT_READ_HINT_PATTERN = /\n\n\[You have received this identical output \d+ times\. Re-reading '[\s\S]*?' will not change it — use a narrower selector \(path:A-B\), or proceed with the edit\.\]$/;
|
|
10985
|
+
var stripGrepPageCursor = (text) => text.replace(/\n*Showing files \d+-\d+ of [^\n]*\. Use skip=\d+ for the next page, or narrow paths\/pattern\.\n?/, "\n");
|
|
10980
10986
|
var stripRepeatReadHint = (text) => text.endsWith("]") ? text.replace(REPEAT_READ_HINT_PATTERN, "") : text;
|
|
10981
10987
|
var dropLeadingLines = (text, count) => {
|
|
10982
10988
|
if (count <= 0) return text;
|
|
@@ -11036,8 +11042,19 @@ var unreadableReadMessage = (note, readPath) => {
|
|
|
11036
11042
|
const remedy = target ? ` Read the bytes with omp.read("${target}:raw").` : "";
|
|
11037
11043
|
return `omp.read returned no text content: ${note.trim()}${remedy}`;
|
|
11038
11044
|
};
|
|
11039
|
-
var
|
|
11045
|
+
var artifactFailureClause = (artifactError) => typeof artifactError === "string" ? `the host failed to save it (artifact ${artifactError} failed)` : "the host failed to save it";
|
|
11046
|
+
var oversizedArtifactBytes = (artifactPath, maxChars) => {
|
|
11040
11047
|
if (!artifactPath || maxChars <= 0) return void 0;
|
|
11048
|
+
try {
|
|
11049
|
+
const { size } = statSync4(artifactPath);
|
|
11050
|
+
return size > maxChars ? size : void 0;
|
|
11051
|
+
} catch {
|
|
11052
|
+
return void 0;
|
|
11053
|
+
}
|
|
11054
|
+
};
|
|
11055
|
+
var restoreBashOutput = (artifactPath, maxChars, delivered, artifactElidedBytes, artifactError) => {
|
|
11056
|
+
if (!artifactPath || maxChars <= 0) return void 0;
|
|
11057
|
+
if (artifactError !== void 0) return void 0;
|
|
11041
11058
|
if (artifactElidedBytes !== void 0 && artifactElidedBytes > 0) return void 0;
|
|
11042
11059
|
let size;
|
|
11043
11060
|
try {
|
|
@@ -11067,15 +11084,24 @@ var withoutColumnLimit = (detailRecord, metaRecord) => {
|
|
|
11067
11084
|
const { meta: _meta, ...remainingDetails } = detailRecord;
|
|
11068
11085
|
return remainingDetails;
|
|
11069
11086
|
};
|
|
11070
|
-
var grepTruncationSignal = (details) => {
|
|
11087
|
+
var grepTruncationSignal = (details, requestedLimit) => {
|
|
11071
11088
|
const record2 = asRecord(details);
|
|
11072
11089
|
if (!record2 || record2.truncated !== true) return void 0;
|
|
11073
|
-
const
|
|
11090
|
+
const reached = finiteNumber2(record2.perFileLimitReached);
|
|
11091
|
+
const askedFor = requestedLimit === void 0 ? void 0 : Math.max(1, Math.floor(requestedLimit));
|
|
11092
|
+
const totalLimit = reached !== void 0 && reached === askedFor ? reached : void 0;
|
|
11093
|
+
const perFile = totalLimit === void 0 ? reached : void 0;
|
|
11074
11094
|
const maxColumn = finiteNumber2(asRecord(asRecord(asRecord(record2.meta)?.limits)?.columnTruncated)?.maxColumn);
|
|
11075
11095
|
const fileCount = finiteNumber2(record2.fileCount);
|
|
11076
11096
|
const reasons = [];
|
|
11077
11097
|
const notes = [];
|
|
11078
11098
|
let continuation = null;
|
|
11099
|
+
if (totalLimit !== void 0) {
|
|
11100
|
+
reasons.push("matchLimit");
|
|
11101
|
+
notes.push(
|
|
11102
|
+
`Only the first ${totalLimit} matches are returned because limit=${totalLimit}; raise limit or narrow the pattern.`
|
|
11103
|
+
);
|
|
11104
|
+
}
|
|
11079
11105
|
if (perFile !== void 0) {
|
|
11080
11106
|
reasons.push("matchLimit");
|
|
11081
11107
|
notes.push(
|
|
@@ -11101,6 +11127,7 @@ var grepTruncationSignal = (details) => {
|
|
|
11101
11127
|
reasons,
|
|
11102
11128
|
...finiteNumber2(record2.matchCount) === void 0 ? {} : { matchCount: record2.matchCount },
|
|
11103
11129
|
...fileCount === void 0 ? {} : { fileCount },
|
|
11130
|
+
...totalLimit === void 0 ? {} : { matchLimit: totalLimit },
|
|
11104
11131
|
...perFile === void 0 ? {} : { perFileMatchLimit: perFile },
|
|
11105
11132
|
...maxColumn === void 0 ? {} : { maxColumn },
|
|
11106
11133
|
continue: continuation,
|
|
@@ -11205,8 +11232,10 @@ var normalizeResult = (name, result, artifactPaths, appendReadNewline = true, ex
|
|
|
11205
11232
|
return readSignal?.signal ? appendTruncationMarker(body, readSignal.signal) : body;
|
|
11206
11233
|
}
|
|
11207
11234
|
if (name === "grep") {
|
|
11208
|
-
const signal = grepTruncationSignal(result.details);
|
|
11209
|
-
|
|
11235
|
+
const signal = grepTruncationSignal(result.details, extras?.grepLimit);
|
|
11236
|
+
if (!signal) return text;
|
|
11237
|
+
const body = signal.matchLimit === void 0 ? text : stripGrepPageCursor(text);
|
|
11238
|
+
return appendTruncationMarker(body, signal);
|
|
11210
11239
|
}
|
|
11211
11240
|
if (name === "find") {
|
|
11212
11241
|
const signal = findTruncationSignal(result.details);
|
|
@@ -11226,7 +11255,8 @@ var normalizeResult = (name, result, artifactPaths, appendReadNewline = true, ex
|
|
|
11226
11255
|
if (truncation && typeof truncation === "object" && !Array.isArray(truncation)) {
|
|
11227
11256
|
const truncationRecord = truncation;
|
|
11228
11257
|
const artifactId = truncationRecord.artifactId;
|
|
11229
|
-
const
|
|
11258
|
+
const artifactError = metaRecord?.artifactError;
|
|
11259
|
+
const fullOutputPath = artifactError !== void 0 ? void 0 : typeof artifactId === "string" ? artifactPaths?.get(artifactId) ?? extras?.bashArtifactPath : extras?.bashArtifactPath;
|
|
11230
11260
|
const artifactElidedBytes = finiteNumber2(truncationRecord.artifactElidedBytes);
|
|
11231
11261
|
details = {
|
|
11232
11262
|
...detailRecord,
|
|
@@ -11246,7 +11276,7 @@ var normalizeResult = (name, result, artifactPaths, appendReadNewline = true, ex
|
|
|
11246
11276
|
...columnCap === void 0 ? {} : { maxColumn: columnCap },
|
|
11247
11277
|
fullOutputPath: fullOutputPath ?? null,
|
|
11248
11278
|
continue: null,
|
|
11249
|
-
note: fullOutputPath ? artifactElidedBytes === void 0 ? `Output exceeded the host bash result budget; the complete stream is on disk at ${fullOutputPath}.` : `Output exceeded the host bash result budget, and the on-disk artifact at ${fullOutputPath} is itself capped: ${artifactElidedBytes} bytes were dropped from its middle. Only the artifact's head and tail survive; set the host's \`tools.artifactMaxBytes\` to \`0\` for an uncapped file.` : "Output exceeded the host bash result budget and no full-output artifact was retained."
|
|
11279
|
+
note: artifactError !== void 0 ? `Output exceeded the host bash result budget and ${artifactFailureClause(artifactError)}, so the full output is unrecoverable.` : fullOutputPath ? artifactElidedBytes === void 0 ? `Output exceeded the host bash result budget; the complete stream is on disk at ${fullOutputPath}.` : `Output exceeded the host bash result budget, and the on-disk artifact at ${fullOutputPath} is itself capped: ${artifactElidedBytes} bytes were dropped from its middle. Only the artifact's head and tail survive; set the host's \`tools.artifactMaxBytes\` to \`0\` for an uncapped file.` : "Output exceeded the host bash result budget and no full-output artifact was retained."
|
|
11250
11280
|
});
|
|
11251
11281
|
}
|
|
11252
11282
|
} else {
|
|
@@ -11255,26 +11285,31 @@ var normalizeResult = (name, result, artifactPaths, appendReadNewline = true, ex
|
|
|
11255
11285
|
const columnElidedBytes = finiteNumber2(
|
|
11256
11286
|
asRecord(asRecord(metaRecord?.limits)?.columnTruncated)?.artifactElidedBytes
|
|
11257
11287
|
);
|
|
11288
|
+
const artifactError = metaRecord?.artifactError;
|
|
11289
|
+
const maxChars = extras?.maxResultChars ?? 0;
|
|
11258
11290
|
const restored = restoreBashOutput(
|
|
11259
11291
|
extras?.bashArtifactPath,
|
|
11260
|
-
|
|
11292
|
+
maxChars,
|
|
11261
11293
|
text,
|
|
11262
|
-
columnElidedBytes
|
|
11294
|
+
columnElidedBytes,
|
|
11295
|
+
artifactError
|
|
11263
11296
|
);
|
|
11264
11297
|
if (restored === void 0) {
|
|
11298
|
+
const fullOutputPath = artifactError === void 0 ? extras?.bashArtifactPath : void 0;
|
|
11299
|
+
const oversizedBytes = columnElidedBytes === void 0 ? oversizedArtifactBytes(fullOutputPath, maxChars) : void 0;
|
|
11265
11300
|
details = {
|
|
11266
11301
|
...detailRecord,
|
|
11267
11302
|
columnTruncated: { maxColumn: columnCap, restored: false },
|
|
11268
|
-
...
|
|
11303
|
+
...fullOutputPath ? { fullOutputPath } : {}
|
|
11269
11304
|
};
|
|
11270
11305
|
output = appendTruncationMarker(text, {
|
|
11271
11306
|
tool: name,
|
|
11272
11307
|
partial: true,
|
|
11273
11308
|
reasons: ["columnLimit"],
|
|
11274
11309
|
maxColumn: columnCap,
|
|
11275
|
-
fullOutputPath:
|
|
11310
|
+
fullOutputPath: fullOutputPath ?? null,
|
|
11276
11311
|
continue: null,
|
|
11277
|
-
note: columnElidedBytes !== void 0 && columnElidedBytes > 0 ? `Output lines were cut at ${columnCap} bytes by the host bash executor, and the artifact is itself capped: ${columnElidedBytes} bytes were dropped from its middle, so the full output is unrecoverable. Set the host's \`tools.artifactMaxBytes\` to \`0\` for an uncapped file.` : `Output lines were cut at ${columnCap} bytes by the host bash executor, which reads global settings and ignores this session's tools.outputMaxColumns.`
|
|
11312
|
+
note: artifactError !== void 0 ? `Output lines were cut at ${columnCap} bytes by the host bash executor and ${artifactFailureClause(artifactError)}, so the full output is unrecoverable.` : columnElidedBytes !== void 0 && columnElidedBytes > 0 ? `Output lines were cut at ${columnCap} bytes by the host bash executor, and the artifact is itself capped: ${columnElidedBytes} bytes were dropped from its middle, so the full output is unrecoverable. Set the host's \`tools.artifactMaxBytes\` to \`0\` for an uncapped file.` : oversizedBytes !== void 0 && fullOutputPath ? `Output lines were cut at ${columnCap} bytes by the host bash executor; the complete output is on disk at ${fullOutputPath}, ${oversizedBytes} bytes that exceed this session's \`executor.maxNestedResultChars\` (${maxChars}), so it was not inlined here.` : `Output lines were cut at ${columnCap} bytes by the host bash executor, which reads global settings and ignores this session's tools.outputMaxColumns.`
|
|
11278
11313
|
});
|
|
11279
11314
|
} else {
|
|
11280
11315
|
output = restored;
|
|
@@ -11321,7 +11356,7 @@ var OmpToolsProvider = class _OmpToolsProvider {
|
|
|
11321
11356
|
bash: createNativeBashToolDefinition(cwd, this.#artifacts, this.#identity, this.#autoBackground),
|
|
11322
11357
|
edit: createNativeReplaceEditToolDefinition(cwd, this.#identity),
|
|
11323
11358
|
write: createPreviewWriteToolDefinition(cwd, createNativeSession(cwd, { identity: this.#identity })),
|
|
11324
|
-
grep:
|
|
11359
|
+
grep: createGrepDefinitionWithOptions(cwd),
|
|
11325
11360
|
find: createFindDefinitionWithFilters(cwd),
|
|
11326
11361
|
ls: createLsToolDefinition(cwd),
|
|
11327
11362
|
wait: createNativeWaitToolDefinition(cwd, this.#identity, this.#autoBackground)
|
|
@@ -11550,6 +11585,10 @@ var OmpToolsProvider = class _OmpToolsProvider {
|
|
|
11550
11585
|
// provider boundary; replacement is idempotent when middleware already ran.
|
|
11551
11586
|
async #normalizeResult(name, result, args, context, appendReadNewline = true, artifacts) {
|
|
11552
11587
|
const extras = {};
|
|
11588
|
+
if (name === "grep") {
|
|
11589
|
+
const limit = finiteNumber2(args.limit);
|
|
11590
|
+
if (limit !== void 0) extras.grepLimit = limit;
|
|
11591
|
+
}
|
|
11553
11592
|
if (isOmpShellToolName(name)) {
|
|
11554
11593
|
const artifactPath = artifacts?.at(-1);
|
|
11555
11594
|
if (artifactPath !== void 0) extras.bashArtifactPath = artifactPath;
|