@fitchmultz/pi-subagents 0.46.0 → 0.46.2
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 +22 -0
- package/dist/agents/agent-management.js +8 -2
- package/dist/agents/agent-selection.js +5 -17
- package/dist/agents/agents.js +10 -10
- package/dist/extension/build-info.js +1 -1
- package/dist/extension/index.js +11 -5
- package/dist/extension/result-snapshot.js +0 -18
- package/dist/history/ingest.js +40 -31
- package/dist/history/prune.js +1 -1
- package/dist/history/run-projection.js +1 -2
- package/dist/history/search-queries.js +8 -2
- package/dist/history/store.js +20 -4
- package/dist/history/text-chunks.js +1 -2
- package/dist/history/transcript-queries.js +12 -6
- package/dist/intercom/result-intercom.js +0 -74
- package/dist/pi-intercom/broker/broker.js +33 -16
- package/dist/pi-intercom/broker/framing.js +67 -17
- package/dist/pi-intercom/broker/snapshot-reader.js +29 -8
- package/dist/pi-intercom/broker/snapshots.js +144 -41
- package/dist/pi-intercom/session-targets.js +0 -1
- package/dist/runs/background/async-run-discovery.js +4 -6
- package/dist/runs/background/completion-dedupe.js +4 -55
- package/dist/runs/background/notify.js +1 -9
- package/dist/runs/background/result-watcher.js +1 -1
- package/dist/runs/background/runner-child-observer.js +12 -7
- package/dist/runs/background/runner-monitor.js +2 -0
- package/dist/runs/background/runner-parallel.js +2 -3
- package/dist/runs/background/runner-step-output.js +1 -3
- package/dist/runs/shared/acceptance-finalization.js +2 -2
- package/dist/runs/shared/acceptance.js +1 -1
- package/dist/runs/shared/child-observation-spool.js +8 -3
- package/dist/runs/shared/model-fallback.js +3 -0
- package/dist/runs/shared/parallel-utils.js +1 -21
- package/dist/runs/shared/run-restoration.js +4 -5
- package/dist/runs/shared/single-output.js +1 -4
- package/dist/runs/shared/subagent-prompt-runtime.js +2 -2
- package/dist/runs/shared/supervisor-questions.js +7 -4
- package/dist/runs/shared/workflow-policy.js +2 -1
- package/dist/shared/journal-frames.js +1 -1
- package/dist/shared/settings.js +1 -4
- package/dist/slash/command-discovery.js +13 -12
- package/dist/tui/agent-history.js +0 -14
- package/dist/tui/agent-view.js +0 -1
- package/dist/tui/conversation-history.js +10 -1
- package/dist/tui/history-cards.js +8 -22
- package/docs/intercom.md +5 -1
- package/docs/performance.md +72 -3
- package/docs/reference.md +1 -1
- package/package.json +1 -1
- package/src/agents/agent-management.ts +8 -4
- package/src/agents/agent-selection.ts +8 -19
- package/src/agents/agents.ts +19 -14
- package/src/extension/index.ts +12 -5
- package/src/extension/result-snapshot.ts +1 -27
- package/src/history/ingest.ts +57 -49
- package/src/history/prune.ts +1 -1
- package/src/history/run-projection.ts +2 -4
- package/src/history/search-queries.ts +9 -2
- package/src/history/store.ts +21 -5
- package/src/history/text-chunks.ts +7 -2
- package/src/history/transcript-queries.ts +16 -10
- package/src/intercom/result-intercom.ts +0 -103
- package/src/pi-intercom/broker/broker.ts +34 -20
- package/src/pi-intercom/broker/framing.ts +71 -20
- package/src/pi-intercom/broker/snapshot-reader.ts +47 -9
- package/src/pi-intercom/broker/snapshots.ts +184 -51
- package/src/pi-intercom/session-targets.ts +0 -2
- package/src/runs/background/async-run-discovery.ts +4 -10
- package/src/runs/background/completion-dedupe.ts +6 -69
- package/src/runs/background/notify.ts +2 -12
- package/src/runs/background/result-watcher.ts +1 -1
- package/src/runs/background/runner-child-observer.ts +19 -11
- package/src/runs/background/runner-monitor.ts +2 -0
- package/src/runs/background/runner-parallel.ts +2 -3
- package/src/runs/background/runner-step-output.ts +1 -3
- package/src/runs/shared/acceptance-finalization.ts +2 -2
- package/src/runs/shared/acceptance.ts +0 -2
- package/src/runs/shared/child-observation-spool.ts +8 -3
- package/src/runs/shared/model-fallback.ts +3 -0
- package/src/runs/shared/parallel-utils.ts +1 -25
- package/src/runs/shared/run-restoration.ts +4 -4
- package/src/runs/shared/single-output.ts +0 -4
- package/src/runs/shared/subagent-prompt-runtime.ts +2 -2
- package/src/runs/shared/supervisor-questions.ts +10 -10
- package/src/runs/shared/workflow-policy.ts +1 -1
- package/src/shared/journal-frames.ts +1 -1
- package/src/shared/settings.ts +1 -4
- package/src/slash/command-discovery.ts +13 -12
- package/src/tui/agent-history.ts +1 -18
- package/src/tui/agent-view.ts +0 -1
- package/src/tui/conversation-history.ts +15 -1
- package/src/tui/history-cards.ts +8 -26
package/src/tui/history-cards.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AssistantMessage } from "@earendil-works/pi-ai";
|
|
2
|
+
import { isDeepStrictEqual } from "node:util";
|
|
2
3
|
import {
|
|
3
4
|
AssistantMessageComponent,
|
|
4
5
|
UserMessageComponent,
|
|
@@ -47,29 +48,9 @@ interface CardLine {
|
|
|
47
48
|
readonly contentStart: number;
|
|
48
49
|
readonly end: number;
|
|
49
50
|
}
|
|
50
|
-
function plainItem(item: AgentHistoryItem): boolean {
|
|
51
|
-
return (
|
|
52
|
-
item.load === undefined &&
|
|
53
|
-
item.assistant === undefined &&
|
|
54
|
-
item.previewAssistant === undefined &&
|
|
55
|
-
item.call === undefined &&
|
|
56
|
-
item.result === undefined
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
function plainSignature(item: AgentHistoryItem): string {
|
|
60
|
-
return JSON.stringify([
|
|
61
|
-
item.kind,
|
|
62
|
-
item.title,
|
|
63
|
-
item.text,
|
|
64
|
-
item.details,
|
|
65
|
-
item.diff,
|
|
66
|
-
item.model,
|
|
67
|
-
item.timestamp,
|
|
68
|
-
item.messageId,
|
|
69
|
-
]);
|
|
70
|
-
}
|
|
71
51
|
function sameDisplay(left: AgentHistoryItem, right: AgentHistoryItem): boolean {
|
|
72
|
-
|
|
52
|
+
// Detail loaders stay fresh in contentItems; only the native display component is reused.
|
|
53
|
+
return isDeepStrictEqual({ ...left, load: undefined }, { ...right, load: undefined });
|
|
73
54
|
}
|
|
74
55
|
function previewStop(reason: string | undefined): AssistantMessage["stopReason"] {
|
|
75
56
|
if (reason === "error" || reason === "aborted" || reason === "length") {
|
|
@@ -191,10 +172,11 @@ export class HistoryCards {
|
|
|
191
172
|
private card(item: AgentHistoryItem, expanded: boolean, detail: boolean): Component {
|
|
192
173
|
const signature = `${expanded}:${detail}`,
|
|
193
174
|
cached = this.components.get(item.id);
|
|
194
|
-
if (
|
|
195
|
-
cached
|
|
196
|
-
|
|
197
|
-
) {
|
|
175
|
+
if (cached?.signature === signature && cached.item === item) {
|
|
176
|
+
return cached.component;
|
|
177
|
+
}
|
|
178
|
+
if (cached?.signature === signature && sameDisplay(cached.item, item)) {
|
|
179
|
+
this.components.set(item.id, { ...cached, item });
|
|
198
180
|
return cached.component;
|
|
199
181
|
}
|
|
200
182
|
const component = this.create(item, { expanded, detail });
|