omp-fabric 1.25.4 → 1.25.6
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 +14 -0
- package/dist/fabric-exec-tool.d.ts.map +1 -1
- package/dist/index.js +10 -9
- package/dist/index.js.map +2 -2
- package/dist/ui/code-preview-shell.d.ts.map +1 -1
- package/docs/providers.md +1 -1
- package/package.json +1 -1
- package/skills/fabric-exec/SKILL.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.25.6
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- A finished `fabric_exec` card rendered its call and its result as two transcript blocks. The host emergency layout then kept every finished card active and collapsed the session to one line per turn, which is the flat `Fabric` / `Task` / `Wait` stream. The card now sets `mergeCallAndResult`, the result keeps `display.name`, and the border shell no longer substitutes an empty container for a finished result.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## 1.25.5
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- `docs/providers.md` now names the symptom of the one surviving `omp.wait()` failure mode. A session that gains an owner after its provider was built can start an async job it can never collect: a `bash` call naming a `cwd` runs `async: true`, the job is running, and the result still reaches the agent as a follow-up, while `omp.wait()` reports that nothing is running. Nothing errors, and the guidance a program author had was only the general instruction to start a new session. The behaviour is unchanged; the documentation now says how to recognise it.
|
|
15
|
+
- `skills/fabric-exec/SKILL.md` states its job-scope precondition once instead of twice in consecutive sentences.
|
|
16
|
+
|
|
3
17
|
## 1.25.4
|
|
4
18
|
|
|
5
19
|
### Fixed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fabric-exec-tool.d.ts","sourceRoot":"","sources":["../src/fabric-exec-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,cAAc,EAA2B,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"fabric-exec-tool.d.ts","sourceRoot":"","sources":["../src/fabric-exec-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,cAAc,EAA2B,MAAM,2BAA2B,CAAC;AAYhG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,KAAK,wBAAwB,EAG9B,MAAM,4BAA4B,CAAC;AASpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AASrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA8CjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AA6HxE,eAAO,MAAM,oBAAoB,GAC/B,OAAO,WAAW,EAClB,qBAAqB,mBAAmB,EACxC,iBAAiB,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAClD,gBAAe,wBAA+C,EAC9D,cAAc,2BAA2B,KACxC,cAAc,CAAC,GAAG,EAAE,GAAG,CA20BzB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -484,9 +484,9 @@ var withCodePreviewShell = (tool, options = {}) => {
|
|
|
484
484
|
const renderOptions = { ...options2, renderContext: context };
|
|
485
485
|
return originalRenderCall ? originalRenderCall.call(tool, args, renderOptions, theme) : new Text(theme.fg("toolTitle", theme.bold(tool.label || tool.name)), 0, 0);
|
|
486
486
|
};
|
|
487
|
-
const renderResult = (result, resultOptions, theme, context) => {
|
|
487
|
+
const renderResult = (result, resultOptions, theme, context, args) => {
|
|
488
488
|
const renderOptions = { ...resultOptions, renderContext: context };
|
|
489
|
-
return originalRenderResult ? originalRenderResult.call(tool, result, renderOptions, theme) : new Container();
|
|
489
|
+
return originalRenderResult ? originalRenderResult.call(tool, result, renderOptions, theme, args) : new Container();
|
|
490
490
|
};
|
|
491
491
|
return {
|
|
492
492
|
...tool,
|
|
@@ -537,7 +537,7 @@ var withCodePreviewShell = (tool, options = {}) => {
|
|
|
537
537
|
state.codePreviewBorderTheme = theme;
|
|
538
538
|
return shell;
|
|
539
539
|
},
|
|
540
|
-
renderResult(result, resultOptions, theme) {
|
|
540
|
+
renderResult(result, resultOptions, theme, args) {
|
|
541
541
|
const renderOptions = resultOptions ?? {};
|
|
542
542
|
const supplied = renderOptions.renderContext && typeof renderOptions.renderContext === "object" ? renderOptions.renderContext : renderOptions;
|
|
543
543
|
const context = buildRenderContext(
|
|
@@ -552,7 +552,7 @@ var withCodePreviewShell = (tool, options = {}) => {
|
|
|
552
552
|
return renderTimedResult(
|
|
553
553
|
context,
|
|
554
554
|
theme,
|
|
555
|
-
(next) => renderResult(result, resultOptions, theme, next),
|
|
555
|
+
(next) => renderResult(result, resultOptions, theme, next, args),
|
|
556
556
|
label
|
|
557
557
|
);
|
|
558
558
|
}
|
|
@@ -561,7 +561,7 @@ var withCodePreviewShell = (tool, options = {}) => {
|
|
|
561
561
|
const component = timingOnly && state.codePreviewBorderResultComponent ? state.codePreviewBorderResultComponent : renderResult(result, resultOptions, theme, {
|
|
562
562
|
...context,
|
|
563
563
|
lastComponent: state.codePreviewBorderResultComponent
|
|
564
|
-
});
|
|
564
|
+
}, args);
|
|
565
565
|
state.codePreviewBorderResultComponent = component;
|
|
566
566
|
const shell = state.codePreviewBorderShell instanceof BorderedToolCall && state.codePreviewBorderTheme === theme ? state.codePreviewBorderShell : new BorderedToolCall(theme, state);
|
|
567
567
|
shell.setCall(state.codePreviewBorderCallComponent);
|
|
@@ -570,7 +570,7 @@ var withCodePreviewShell = (tool, options = {}) => {
|
|
|
570
570
|
shell.setTimingLabel(label);
|
|
571
571
|
state.codePreviewBorderShell = shell;
|
|
572
572
|
state.codePreviewBorderTheme = theme;
|
|
573
|
-
return shouldRenderResultSeparately(state, optionsRecord.isPartial) ? component :
|
|
573
|
+
return shouldRenderResultSeparately(state, optionsRecord.isPartial) ? component : state.codePreviewBorderShell ?? component;
|
|
574
574
|
}
|
|
575
575
|
};
|
|
576
576
|
};
|
|
@@ -3002,6 +3002,7 @@ var createFabricExecTool = (state, codePreviewSettings, pendingHandoffs, decorat
|
|
|
3002
3002
|
name: "fabric_exec",
|
|
3003
3003
|
label: "Fabric",
|
|
3004
3004
|
readsSkillUris: true,
|
|
3005
|
+
mergeCallAndResult: true,
|
|
3005
3006
|
description: "Execute type-checked TypeScript through Fabric's configured executor for OMP tools, MCP, Fabric providers, discovery, and extensions. QuickJS is isolated by default; the optional Node/Bun process is an unsafe trusted-code escape hatch. In full code mode, and always in Schema enforce mode, this is the exclusive model tool path.",
|
|
3006
3007
|
promptGuidelines: [
|
|
3007
3008
|
"Batch independent operations in one `fabric_exec` program (`Promise.all` for parallel, sequential `await` for ordered), not one call per tool; keep dependent/conditional steps sequential. Coalesce non-dependent replacements from one file snapshot into one `omp.edit({path, edits:[...]})`; use `all:true` only for intentional repeated exact anchors. Return only the compact final value; intermediate results stay in the sandbox.",
|
|
@@ -3377,10 +3378,10 @@ ${preview}` : ""}${hiddenHint}`,
|
|
|
3377
3378
|
const lines = safeTerminalText(output).split(nl);
|
|
3378
3379
|
const limit = expanded ? Math.min(lines.length, 200) : 12;
|
|
3379
3380
|
const shown = lines.slice(0, limit);
|
|
3381
|
+
const displayName = normalizeRunDisplay(params?.display)?.name;
|
|
3382
|
+
const title = displayName ? theme.fg("toolTitle", theme.bold(safeTerminalText(displayName))) : compact ? theme.fg(failed ? "error" : "success", failed ? "\u2717 Failed" : "\u2713 Evaluated") : "";
|
|
3380
3383
|
let text2 = styleOutputLines(shown).join(nl);
|
|
3381
|
-
if (
|
|
3382
|
-
text2 = theme.fg(failed ? "error" : "success", failed ? "\u2717 Failed" : "\u2713 Evaluated") + nl + text2;
|
|
3383
|
-
}
|
|
3384
|
+
if (title) text2 = title + nl + text2;
|
|
3384
3385
|
if (lines.length > shown.length) {
|
|
3385
3386
|
text2 += nl + theme.fg("dim", `\u2026 ${countLabel(lines.length - shown.length, "line")}`);
|
|
3386
3387
|
if (!expanded) text2 += theme.fg("dim", " \xB7 ") + expandHint(theme);
|