omp-fabric 1.18.3 → 1.18.4
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
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.18.4
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Full code mode names the file-editing path. It hides OMP's native `edit` and `write` from the model by default — `effectiveToolCaptureConfig` strips every core name but `fabric_exec` from `keepVisible` — while the guidance mentioned `omp.edit`/`omp.write` only as return-shape examples, so a model that had lost its edit tool reached for `omp.bash` and tried to reshape TypeScript through `sed`, a heredoc and `node -e` across three consecutive turns before reverting its own work with `git checkout`. The clause states a preference rather than a prohibition, so shell-driven formatters and codemods stay allowed, which is what `prewalk.detectShellWrites` exists to catch; and it rides `fabricExecutionKernelGuidance` rather than the replaceable execution slot, so a custom execution profile registered with `placement: "replace"` cannot delete it. An `omp.write` / `omp.read` round-trip of a payload carrying backticks, `${}`, a backslash, an escaped quote, `\u00e9` and an emoji returns byte-identical at 223 of 223 characters, so the edit path itself was never the defect.
|
|
8
|
+
- The advisor no longer prescribes tools it has not seen. Its prompt receives the parent event and recent transcript but never the host's tool surface, and on the escaping failure above it emitted a blocker telling the main agent to use "the session's native `write` or `edit` tool directly on the file path" — advice full code mode makes impossible to follow. Both advisor prompts now require transcript evidence that a tool is callable before naming it, and state that the main agent's file tools are `omp.edit`/`omp.write` under full code mode. The copy in `fabric-ambient` is corrected alongside `fabric-advisor`, since both create the same `advisor` actor through the same setup program.
|
|
9
|
+
|
|
3
10
|
## 1.18.3
|
|
4
11
|
|
|
5
12
|
### Fixed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-guidance.d.ts","sourceRoot":"","sources":["../../src/core/system-guidance.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,6BAA6B,GAAI,cAAc,OAAO,KAAG,
|
|
1
|
+
{"version":3,"file":"system-guidance.d.ts","sourceRoot":"","sources":["../../src/core/system-guidance.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,6BAA6B,GAAI,cAAc,OAAO,KAAG,MAYzD,CAAC;AAEd,eAAO,MAAM,8BAA8B,GAAI,cAAc,OAAO,KAAG,MAGiR,CAAC;AAGzV,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAqCD,eAAO,MAAM,2BAA2B,GACtC,OAAO,aAAa,CAAC,yBAAyB,CAAC,EAC/C,eAAe,WAAW,CAAC,MAAM,CAAC,KACjC,MAAM,GAAG,SA8BX,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,KAAK,GAAG,OAAO,GAAG,SAAS,KAAG,MAAM,GAAG,SAQjF,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2166,7 +2166,8 @@ var fabricExecutionKernelGuidance = (fullCodeMode) => [
|
|
|
2166
2166
|
// Files the model has not opened (images in particular) must be read before
|
|
2167
2167
|
// use; this line rides the turn-stable kernel guidance so provider prefix
|
|
2168
2168
|
// caches stay warm.
|
|
2169
|
-
`Read every file the user provides (images, screenshots, code, text) with the ${fullCodeMode ? "`omp.read`" : "`read`"} tool before responding \u2014 never assume its contents
|
|
2169
|
+
`Read every file the user provides (images, screenshots, code, text) with the ${fullCodeMode ? "`omp.read`" : "`read`"} tool before responding \u2014 never assume its contents.`,
|
|
2170
|
+
...fullCodeMode ? ["Prefer `omp.edit`/`omp.write` for source edits over hand-assembled shell or Node string literals, where nested escaping breaks; running a formatter or codemod through `omp.bash` is a different case."] : []
|
|
2170
2171
|
].join(" ");
|
|
2171
2172
|
var defaultFabricExecutionGuidance = (fullCodeMode) => fullCodeMode ? "Examples and returns: `omp.read('/x')`, `omp.grep('TODO','src')` / `omp.grep({pattern:'TODO', path:'src', ignoreCase:true, context:2})`, `omp.find({pattern:'*.ts', path:'src', limit:20})`, and `omp.ls('src')` return strings; `omp.bash({cmd:'ls'})`, `omp.edit({path:'/x', old:'a', new:'b'})`, and `omp.write({path:'/y', text:'z'})` return `{ok, output, details}` (read `.output`); failed core calls reject, including shell tools on an ordinary nonzero exit; pass `settle: true` to `omp.bash` to get `{ ok: false, exitCode, output, error }` instead. Timeout, cancellation, approval, and security failures still reject.\n`tools` is discovery + generic calls only (`providers`/`catalog`/`list`/`search`/`describe`/`call`/`models`). Call known MCP tools as `mcp.<sanitized_server>.<sanitized_tool>(args)`, captured tools as `extensions.<tool>(args)`, and stable providers as `memory.*`, `state.*`, `schema.*`, or `compact.*`. Use `tools.call({ref,args})` for computed refs. `omp` is the core tools; `omp.<key>` reads a named `payloads` value (not a tool)." : "Call known actions through `mcp.<sanitized_server>.<sanitized_tool>(args)`, `memory.*`, `state.*`, `schema.*`, `components.*`, `compact.*`, `codemap.*`, `agents.*`, or `mesh.*`; use `tools.catalog`/`search`/`describe`/`list` for discovery and `tools.call({ref,args})` for computed refs. Other surfaces are opt-in via user-loaded skills.";
|
|
2172
2173
|
var manifestNameCache = /* @__PURE__ */ new Map();
|