pi-fabric 0.55.0 → 0.57.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.
- package/README.md +1 -0
- package/dist/audit/details.d.ts +34 -3
- package/dist/audit/details.d.ts.map +1 -1
- package/dist/chunks/{chunk-MPS3TDUG.js → chunk-6E2VWXJ6.js} +11 -3
- package/dist/chunks/chunk-6E2VWXJ6.js.map +7 -0
- package/dist/chunks/{chunk-KK5NCVNS.js → chunk-HJ22TAZK.js} +7 -1
- package/dist/chunks/chunk-HJ22TAZK.js.map +7 -0
- package/dist/chunks/{chunk-C3GCKJ2M.js → chunk-LQGKEQ6L.js} +2 -2
- package/dist/chunks/{dashboard-XPHTT2ID.js → dashboard-EDZG75BA.js} +2 -2
- package/dist/chunks/{fabric-runtime-state-W3ME2M4E.js → fabric-runtime-state-AETN5ZPK.js} +3 -3
- package/dist/chunks/{settings-KZDL47IT.js → settings-ZHGNXFDA.js} +11 -3
- package/dist/chunks/settings-ZHGNXFDA.js.map +7 -0
- package/dist/commands/fabric.d.ts +2 -1
- package/dist/commands/fabric.d.ts.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/fabric-exec-tool.d.ts +2 -1
- package/dist/fabric-exec-tool.d.ts.map +1 -1
- package/dist/fabric-state.d.ts +1 -0
- package/dist/fabric-state.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +141 -29
- package/dist/index.js.map +4 -4
- package/dist/residency/host.js +2 -2
- package/dist/ui/core-tool-render.d.ts.map +1 -1
- package/dist/ui/fabric-render.d.ts +3 -0
- package/dist/ui/fabric-render.d.ts.map +1 -1
- package/dist/ui/settings.d.ts.map +1 -1
- package/dist/ui/tool-display.d.ts +8 -0
- package/dist/ui/tool-display.d.ts.map +1 -0
- package/docs/audit-trace.md +6 -3
- package/docs/configuration.md +2 -0
- package/docs/interface.md +1 -1
- package/package.json +1 -1
- package/dist/chunks/chunk-KK5NCVNS.js.map +0 -7
- package/dist/chunks/chunk-MPS3TDUG.js.map +0 -7
- package/dist/chunks/settings-KZDL47IT.js.map +0 -7
- /package/dist/chunks/{chunk-C3GCKJ2M.js.map → chunk-LQGKEQ6L.js.map} +0 -0
- /package/dist/chunks/{dashboard-XPHTT2ID.js.map → dashboard-EDZG75BA.js.map} +0 -0
- /package/dist/chunks/{fabric-runtime-state-W3ME2M4E.js.map → fabric-runtime-state-AETN5ZPK.js.map} +0 -0
package/README.md
CHANGED
|
@@ -119,6 +119,7 @@ Fabric includes a live activity surface in Pi:
|
|
|
119
119
|
- A compact widget above the chat (like `pi-supervisor`) whose header follows the current phase while its rows show active/completed agents, active actors, and their recent nested tool or code-change activity.
|
|
120
120
|
- `/fabric` (or `/fabric dashboard`): opens the **Activity** and **Topology** views. The user-facing Pi session appears as **Main**. You can queue or steer participants and inspect the project topology.
|
|
121
121
|
- `/fabric settings`: mirrors Pi's `/settings` and writes changes to `fabric.json`.
|
|
122
|
+
- `Tool display` (`compact` by default, or `full`) is configured under `/fabric settings` → **UI**; compact elevates the declared display intent, hides the outer TypeScript, and applies to the current transcript immediately. Pi's tool-expand keybinding (`ctrl+o` by default) expands a compact card to the full transcript.
|
|
122
123
|
|
|
123
124
|
See the [interface & commands reference](docs/interface.md) for every view, keybinding, and slash command.
|
|
124
125
|
|
package/dist/audit/details.d.ts
CHANGED
|
@@ -3,10 +3,32 @@ export declare const FABRIC_EXECUTION_DETAILS_MAX_BYTES: number;
|
|
|
3
3
|
export interface FabricPersistedExecutionDetailsV1 {
|
|
4
4
|
success: boolean;
|
|
5
5
|
trace: FabricExecutionTraceV1;
|
|
6
|
+
/** Rich render audits persisted verbatim (minus in-memory media) so a resumed transcript re-renders — and expands — exactly like the live one. */
|
|
7
|
+
audits: FabricLegacyRenderAudit[];
|
|
8
|
+
phases: string[];
|
|
9
|
+
error?: string;
|
|
6
10
|
outputFormat?: "yaml" | "json";
|
|
7
11
|
outputFormatStartLine?: number;
|
|
8
12
|
outputFormatLines?: number;
|
|
9
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* The audit fields that cross into the session record; read back by
|
|
16
|
+
* {@link legacyAudit}. In-memory-only payloads (image blocks, media notes,
|
|
17
|
+
* correlation ids) never persist.
|
|
18
|
+
*/
|
|
19
|
+
export interface FabricPersistableAuditInput {
|
|
20
|
+
ref: string;
|
|
21
|
+
tool?: string;
|
|
22
|
+
provider?: string;
|
|
23
|
+
success?: boolean;
|
|
24
|
+
error?: string;
|
|
25
|
+
args?: Record<string, unknown>;
|
|
26
|
+
result?: unknown;
|
|
27
|
+
resultTruncated?: boolean;
|
|
28
|
+
preview?: unknown;
|
|
29
|
+
startedAt?: number;
|
|
30
|
+
endedAt?: number;
|
|
31
|
+
}
|
|
10
32
|
export interface FabricLegacyRenderAudit {
|
|
11
33
|
ref: string;
|
|
12
34
|
tool?: string;
|
|
@@ -17,6 +39,8 @@ export interface FabricLegacyRenderAudit {
|
|
|
17
39
|
result?: unknown;
|
|
18
40
|
resultTruncated?: boolean;
|
|
19
41
|
preview?: unknown;
|
|
42
|
+
/** Set only when reconstructed from the durable trace: args are privacy-projected and results/previews are not retained. */
|
|
43
|
+
fromTrace?: boolean;
|
|
20
44
|
startedAt?: number;
|
|
21
45
|
endedAt?: number;
|
|
22
46
|
}
|
|
@@ -31,13 +55,20 @@ export interface FabricExecutionRenderDetails {
|
|
|
31
55
|
audits: FabricLegacyRenderAudit[];
|
|
32
56
|
}
|
|
33
57
|
/**
|
|
34
|
-
* Creates the only object stored in final fabric_exec details.
|
|
35
|
-
*
|
|
36
|
-
*
|
|
58
|
+
* Creates the only object stored in final fabric_exec details. The
|
|
59
|
+
* privacy-projected trace stays the functional record for compaction and tool
|
|
60
|
+
* ownership; rich call audits persist verbatim (minus in-memory media) so a
|
|
61
|
+
* resumed transcript re-renders and expands exactly like the live one — the
|
|
62
|
+
* collapsed display, not the session record, is the visual boundary. The
|
|
63
|
+
* aggregate object, not each member independently, is bound; display-only
|
|
64
|
+
* audits trim before the functional trace.
|
|
37
65
|
*/
|
|
38
66
|
export declare const createFabricPersistedExecutionDetails: (input: {
|
|
39
67
|
success: boolean;
|
|
40
68
|
trace: FabricExecutionTraceV1;
|
|
69
|
+
audits?: readonly FabricPersistableAuditInput[];
|
|
70
|
+
phases?: readonly string[];
|
|
71
|
+
error?: string;
|
|
41
72
|
outputFormat?: "yaml" | "json";
|
|
42
73
|
outputFormatStartLine?: number;
|
|
43
74
|
outputFormatLines?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../src/audit/details.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,kCAAkC,QAAa,CAAC;AAE7D,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,sBAAsB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC;
|
|
1
|
+
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../src/audit/details.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,kCAAkC,QAAa,CAAC;AAE7D,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,sBAAsB,CAAC;IAC9B,kJAAkJ;IAClJ,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4HAA4H;IAC5H,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC;AAuBD;;;;;;;;GAQG;AACH,eAAO,MAAM,qCAAqC,GAAI,OAAO;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,sBAAsB,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAChD,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,KAAG,iCA8CH,CAAC;AAsCF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAC3C,OAAO,OAAO,KACb,4BAqCF,CAAC"}
|
|
@@ -3500,7 +3500,12 @@ var renderEdit = (audit, theme, options) => {
|
|
|
3500
3500
|
return { lines: [header2, ...rendered.lines], hidden: rendered.hidden };
|
|
3501
3501
|
}
|
|
3502
3502
|
const operations = editOperations(audit);
|
|
3503
|
-
if (operations.length === 0)
|
|
3503
|
+
if (operations.length === 0) {
|
|
3504
|
+
if (audit.fromTrace) {
|
|
3505
|
+
return { lines: [theme.fg("dim", "diff not retained across reload")], hidden: 0 };
|
|
3506
|
+
}
|
|
3507
|
+
return null;
|
|
3508
|
+
}
|
|
3504
3509
|
const maxOperations = Math.min(operations.length, 3);
|
|
3505
3510
|
const sections = [];
|
|
3506
3511
|
let additions = 0;
|
|
@@ -3793,6 +3798,9 @@ var renderBash = (audit, theme, options) => {
|
|
|
3793
3798
|
);
|
|
3794
3799
|
const output = resultOutput(audit)?.replace(/\r?\n$/, "") ?? "";
|
|
3795
3800
|
if (!output || output === "(no output)") {
|
|
3801
|
+
if (!output && audit.fromTrace) {
|
|
3802
|
+
return { lines: [...lines, theme.fg("dim", "output not retained across reload")], hidden: 0 };
|
|
3803
|
+
}
|
|
3796
3804
|
return {
|
|
3797
3805
|
lines: [...lines, theme.fg("muted", output || "No output")],
|
|
3798
3806
|
hidden: 0
|
|
@@ -4722,7 +4730,7 @@ var renderFabricMulticallPartial = (input, theme, invalidate) => {
|
|
|
4722
4730
|
const done = input.audits.filter((audit) => audit.success !== void 0).length;
|
|
4723
4731
|
let header = theme.fg(
|
|
4724
4732
|
"warning",
|
|
4725
|
-
`\u25C6 Fabric running \xB7 ${done}/${input.audits.length} calls`
|
|
4733
|
+
`\u25C6 ${input.activityLabel ?? "Fabric"} running \xB7 ${done}/${input.audits.length} calls`
|
|
4726
4734
|
);
|
|
4727
4735
|
const progress = input.progress ? compactProgressPreview(input.progress) : "";
|
|
4728
4736
|
if (progress) header += theme.fg("dim", ` \xB7 ${progress}`);
|
|
@@ -5097,4 +5105,4 @@ export {
|
|
|
5097
5105
|
isActiveStatus,
|
|
5098
5106
|
orderAgentsByCreation
|
|
5099
5107
|
};
|
|
5100
|
-
//# sourceMappingURL=chunk-
|
|
5108
|
+
//# sourceMappingURL=chunk-6E2VWXJ6.js.map
|