@timurproko/a1 0.2.4-dev.673 → 0.2.5-dev.683
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 +49 -38
- package/bin/pinned-pi-public.js +20 -2
- package/dist/app/session-shell/session-shell-root.d.ts +1 -1
- package/dist/app/session-shell/session-shell-root.js +6 -11
- package/dist/app/session-shell/session-shell.js +9 -17
- package/dist/composition/owned-ui.js +1 -0
- package/dist/composition/session-info-reference.d.ts +4 -0
- package/dist/composition/session-info-reference.js +20 -0
- package/dist/composition/settings-route-host.d.ts +2 -5
- package/dist/composition/settings-route-host.js +7 -11
- package/dist/features/owned-ui/reference-screen-app.d.ts +2 -0
- package/dist/features/owned-ui/reference-screen-app.js +7 -1
- package/dist/features/owned-ui/resources/release-notes.json +4 -0
- package/dist/foundation/release/progress-palette.generated.d.ts +2 -2
- package/dist/foundation/release/progress-palette.generated.js +2 -2
- package/dist/foundation/startup/startup-descriptor.js +2 -2
- package/dist/integrations/pi/components/index.d.ts +1 -1
- package/dist/integrations/pi/components/index.js +1 -1
- package/dist/integrations/pi/components/resources/builtin-themes.d.ts +2 -2
- package/dist/integrations/pi/components/resources/builtin-themes.js +2 -2
- package/dist/integrations/pi/components/shell-presenters-info.d.ts +2 -0
- package/dist/integrations/pi/components/shell-presenters-info.js +1 -1
- package/dist/integrations/pi/components/shell-presenters-transcript.js +10 -6
- package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +0 -1
- package/dist/integrations/pi/components/shell-selectors-dialogs.js +0 -5
- package/dist/integrations/pi/components/shell-session-info-reference.d.ts +10 -0
- package/dist/integrations/pi/components/shell-session-info-reference.js +61 -0
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +5 -5
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +1 -1
- package/dist/integrations/pi/components/upstream/assets/earendil-image.json +2 -2
- package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-editor.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-input.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/components/mermaid.js +1 -1
- package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/owned-editor.js +1 -1
- package/dist/integrations/pi/components/upstream/components/pi-logo.js +1 -1
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/session-footer.js +1 -1
- package/dist/integrations/pi/components/upstream/components/session-selector-search.js +1 -1
- package/dist/integrations/pi/components/upstream/components/session-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +1 -1
- package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/status-indicator.js +1 -1
- package/dist/integrations/pi/components/upstream/components/themed-text.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/themed-text.js +1 -1
- package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/thinking-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +4 -3
- package/dist/integrations/pi/components/upstream/components/tool-execution.js +8 -7
- package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/tree-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/components/trust-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/external-editor.js +1 -1
- package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/editor-core.js +1 -1
- package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/kill-ring.js +1 -1
- package/dist/integrations/pi/components/upstream/history/printable-key.js +1 -1
- package/dist/integrations/pi/components/upstream/history/text-helpers.js +1 -1
- package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/undo-stack.js +1 -1
- package/dist/integrations/pi/components/upstream/history/word-navigation.js +1 -1
- package/dist/integrations/pi/components/upstream/model-search.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/system-theme.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/system-theme.js +1 -1
- package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/theme.js +1 -1
- package/dist/integrations/pi/engine/adapter.d.ts +1 -1
- package/dist/integrations/pi/engine/adapter.js +8 -2
- package/dist/integrations/pi/engine/resources/changelog.json +4 -4
- package/dist/integrations/pi/startup-public.js +309 -206
- package/dist/integrations/pi/startup-public.manifest.json +3138 -3120
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +1 -1
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +1 -1
- package/dist/native/darwin-arm64/manifest.json +1 -1
- package/dist/native/linux-x64/manifest.json +1 -1
- package/dist/native/win32-x64/manifest.json +2 -2
- package/dist/native/win32-x64/process-guardian.exe +0 -0
- package/dist/runtime-payload-inventory.json +37027 -28855
- package/dist/ui/components/transcript-viewport.js +10 -7
- package/docs/architecture/project-structure.md +3 -1
- package/docs/assets/readme/separator-dark.svg +11 -0
- package/docs/assets/readme/separator.svg +11 -0
- package/docs/local-worktree-cleanup.md +3 -1
- package/docs/openspec-archive-automation.md +14 -5
- package/docs/releases/0.2.4.md +18 -0
- package/package.json +3 -3
- package/dist/integrations/pi/components/upstream/components/daxnuts.d.ts +0 -29
- package/dist/integrations/pi/components/upstream/components/daxnuts.js +0 -146
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { adaptPiAssistantMessage, adaptPiToolExecution, adaptPiUserMessage } from "./components.js";
|
|
2
2
|
export { loadHistoryEditor } from "./history-editor-loader.js";
|
|
3
3
|
export { PiComponentConformanceError, runPiComponentConformance } from "./conformance.js";
|
|
4
|
-
export { OWNED_BUILTIN_SLASH_COMMANDS, PINNED_PI_BUILTIN_SLASH_COMMANDS, componentFromPort, componentPort, createPiExtensionUiBridge, createPiQueuedInputStatus, createPiShellArmin, createPiShellAuthProviderSelector, createPiShellChangelog, createPiShellCollapsedChangelog,
|
|
4
|
+
export { OWNED_BUILTIN_SLASH_COMMANDS, PINNED_PI_BUILTIN_SLASH_COMMANDS, componentFromPort, componentPort, createPiExtensionUiBridge, createPiQueuedInputStatus, createPiShellArmin, createPiShellAuthProviderSelector, createPiShellChangelog, createPiShellCollapsedChangelog, createPiShellDialog, createPiShellEarendilAnnouncement, createPiShellEditor, createPiShellExtensionSelector, createPiShellFooter, createPiShellHeader, createPiShellHotkeys, createPiShellLoadedResources, createPiShellLoginDialog, createPiShellModelSelector, createPiShellModelsDialog, createPiShellOperationLoader, createPiShellReloadBox, createPiShellScopedModelsSelector, createPiShellSelector, createPiShellSessionInfo, createPiShellSessionSelector, createPiShellSettingsSelector, createPiShellShowImagesSelector, createPiShellSkillsSelector, createPiShellStatus, createPiShellThemeSelector, createPiShellTranscriptComponent, createPiShellTreeSelector, createPiShellTrustSelector, createPiShellUserMessageSelector, createTuiFacade, ensureTheme, formatSessionTokens, isAutocompleteProvider, isPiPromptStyleCompaction, isRecord, paintPiSubmittedPromptTimestamp, piShellHyperlink, piShellTruncateToWidth, piShellVisibleWidth, renderPiShellChangelogLines, renderPiShellCommandMessage, renderPiShellHotkeysLines, renderPiShellPackageUpdateNotice, renderPiShellReleaseUpdateBanner, renderPiShellReleaseUpdateNotice, renderPiShellStartupDiagnostic, renderPiShellStatusText, renderPiShellTranscriptBlock, validatedAssistantMessage, } from "./shell-components.js";
|
|
5
5
|
export { renderPiShellHotkeySections } from "./shell-hotkey-sections.js";
|
|
6
6
|
export { PINNED_PI_LAYOUT, applyConfiguredPiTheme, applyPiTheme, applyPiThemeInstance, currentPiThemeName, detectPiTerminalBackgroundFromEnv, detectPiTerminalBackgroundTheme, detectPiTerminalThemeForAuto, ensurePiTheme, getAvailablePiThemes, loadPiTheme, onPiThemeChange, parsePiAutoThemeSetting, piTheme, resolvePiThemeSetting, stopPiThemeWatcher, } from "./theme.js";
|
|
7
7
|
export { OwnedPiThemeController } from "./upstream/theme/theme-controller.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Attributed owned theme resources adapted from @earendil-works/pi-coding-agent 1.0.
|
|
3
|
-
* commit
|
|
2
|
+
* Attributed owned theme resources adapted from @earendil-works/pi-coding-agent 1.0.4 (MIT),
|
|
3
|
+
* commit 7c10bd4337495ee613f2224843ecdf349b80d1df.
|
|
4
4
|
* Upstream dark.json SHA-256: c11a588b714d35300293079b425fb09a3693d4b2d453585d211b08163c648b75
|
|
5
5
|
* Upstream light.json SHA-256: f590c51c2bc8b238891efd0e983473ed2e2a6487b6692cc1d4b2845165e703f7
|
|
6
6
|
* Modifications: removed upstream schema/export metadata; runtime color data is unchanged.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Attributed owned theme resources adapted from @earendil-works/pi-coding-agent 1.0.
|
|
3
|
-
* commit
|
|
2
|
+
* Attributed owned theme resources adapted from @earendil-works/pi-coding-agent 1.0.4 (MIT),
|
|
3
|
+
* commit 7c10bd4337495ee613f2224843ecdf349b80d1df.
|
|
4
4
|
* Upstream dark.json SHA-256: c11a588b714d35300293079b425fb09a3693d4b2d453585d211b08163c648b75
|
|
5
5
|
* Upstream light.json SHA-256: f590c51c2bc8b238891efd0e983473ed2e2a6487b6692cc1d4b2845165e703f7
|
|
6
6
|
* Modifications: removed upstream schema/export metadata; runtime color data is unchanged.
|
|
@@ -56,6 +56,8 @@ export interface PiShellCommandMessagePresentation {
|
|
|
56
56
|
readonly detail?: string;
|
|
57
57
|
}
|
|
58
58
|
export declare function renderPiShellCommandMessage(presentation: PiShellCommandMessagePresentation, width: number, outputPad?: 0 | 1): readonly string[];
|
|
59
|
+
/** The one-line warming status the pinned session report shows; a decision is attached once warming acted. */
|
|
60
|
+
export declare function formatCacheWarmingStatus(status: NonNullable<PiShellCacheWarmingPresentation["status"]>, now?: number): string;
|
|
59
61
|
export declare function createPiShellSessionInfo(presentation: PiShellSessionInfoPresentation): PiShellComponentPort;
|
|
60
62
|
export declare function createPiShellCollapsedChangelog(): PiShellComponentPort;
|
|
61
63
|
export declare function createPiShellChangelog(markdown: string): PiShellComponentPort;
|
|
@@ -56,7 +56,7 @@ function formatWarmingDecisionTime(nextWarmAt, now) {
|
|
|
56
56
|
return `Decision in ${parts.join(" ")}`;
|
|
57
57
|
}
|
|
58
58
|
/** The one-line warming status the pinned session report shows; a decision is attached once warming acted. */
|
|
59
|
-
function formatCacheWarmingStatus(status, now = Date.now()) {
|
|
59
|
+
export function formatCacheWarmingStatus(status, now = Date.now()) {
|
|
60
60
|
const decision = status.decision;
|
|
61
61
|
if (!decision || (status.state === "inactive" && !decision.economicsAvailable && !status.extensionOverride)) {
|
|
62
62
|
return `Inactive (${status.reason ?? "unknown reason"})`;
|
|
@@ -304,15 +304,19 @@ function assistantPayloadContent(value) {
|
|
|
304
304
|
}
|
|
305
305
|
return content.length === 0 && value.length > 0 ? undefined : content;
|
|
306
306
|
}
|
|
307
|
-
function
|
|
307
|
+
function validatedToolRenderers(value) {
|
|
308
308
|
if (value === undefined)
|
|
309
309
|
return undefined;
|
|
310
|
-
if (!
|
|
311
|
-
throw new TypeError("Pi tool-
|
|
310
|
+
if (!isPiToolRenderers(value))
|
|
311
|
+
throw new TypeError("Pi tool-renderer façade rejected malformed metadata");
|
|
312
312
|
return value;
|
|
313
313
|
}
|
|
314
|
-
function
|
|
315
|
-
|
|
314
|
+
function isPiToolRenderers(value) {
|
|
315
|
+
if (!isRecord(value))
|
|
316
|
+
return false;
|
|
317
|
+
return (value.renderShell === undefined || value.renderShell === "default" || value.renderShell === "self")
|
|
318
|
+
&& (value.renderCall === undefined || typeof value.renderCall === "function")
|
|
319
|
+
&& (value.renderResult === undefined || typeof value.renderResult === "function");
|
|
316
320
|
}
|
|
317
321
|
function validatedMessageRenderer(value) {
|
|
318
322
|
if (value === undefined)
|
|
@@ -329,7 +333,7 @@ function toolComponent(block, cwd, extensions, showImages, imageWidthCells, imag
|
|
|
329
333
|
const toolCallId = stringPayload(payload, "toolCallId") ?? block.id;
|
|
330
334
|
const toolName = stringPayload(payload, "toolName") ?? block.title ?? "tool";
|
|
331
335
|
const argumentsPayload = toolArguments(block);
|
|
332
|
-
const component = new ToolExecutionComponent(toolName, toolCallId, argumentsPayload, { showImages, imageWidthCells },
|
|
336
|
+
const component = new ToolExecutionComponent(toolName, toolCallId, argumentsPayload, { showImages, imageWidthCells }, validatedToolRenderers(extensions?.getToolRenderers(toolName)), tui ?? createTuiFacade({ getColumns: () => 80, getRows: () => 24, requestRender() { } }), cwd);
|
|
333
337
|
applyToolState(component, block);
|
|
334
338
|
updateToolResult(component, block, imageAssets);
|
|
335
339
|
return component;
|
|
@@ -109,7 +109,6 @@ export interface PiShellLoginDialogPort extends PiShellComponentPort {
|
|
|
109
109
|
}
|
|
110
110
|
export declare function createPiShellLoginDialog(runtime: Pick<PiShellEditorOptions, "getColumns" | "getRows" | "requestRender">, providerId: string, onComplete: (success: boolean, message?: string) => void, providerName?: string, title?: string): PiShellLoginDialogPort;
|
|
111
111
|
export declare function createPiShellArmin(runtime: Pick<PiShellEditorOptions, "getColumns" | "getRows" | "requestRender">): PiShellComponentPort;
|
|
112
|
-
export declare function createPiShellDaxnuts(runtime: Pick<PiShellEditorOptions, "getColumns" | "getRows" | "requestRender">): PiShellComponentPort;
|
|
113
112
|
export declare function createPiShellEarendilAnnouncement(): PiShellComponentPort;
|
|
114
113
|
export interface PiShellOperationLoaderPort extends PiShellComponentPort {
|
|
115
114
|
readonly signal: AbortSignal;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ArminComponent, BorderedLoader, DynamicBorder, ExtensionSelectorComponent, getSelectListTheme, LoginDialogComponent, ModelSelectorComponent, OAuthSelectorComponent, SettingsSelectorComponent, ShowImagesSelectorComponent, ThemeSelectorComponent, UserMessageSelectorComponent, } from "../startup-public.js";
|
|
2
|
-
import { DaxnutsComponent, } from "./upstream/components/daxnuts.js";
|
|
3
2
|
import { EarendilAnnouncementComponent, } from "./upstream/components/earendil-announcement.js";
|
|
4
3
|
import { Box, Container, SelectList, Spacer, Text, } from "@earendil-works/pi-tui";
|
|
5
4
|
import { ScopedModelsSelectorComponent, } from "./upstream/components/scoped-models-selector.js";
|
|
@@ -170,10 +169,6 @@ export function createPiShellArmin(runtime) {
|
|
|
170
169
|
ensureTheme();
|
|
171
170
|
return componentPort(new ArminComponent(createTuiFacade(runtime)));
|
|
172
171
|
}
|
|
173
|
-
export function createPiShellDaxnuts(runtime) {
|
|
174
|
-
ensureTheme();
|
|
175
|
-
return componentPort(new DaxnutsComponent(createTuiFacade(runtime)));
|
|
176
|
-
}
|
|
177
172
|
export function createPiShellEarendilAnnouncement() {
|
|
178
173
|
ensureTheme();
|
|
179
174
|
return componentPort(new EarendilAnnouncementComponent());
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type PiShellSessionInfoPresentation } from "./shell-presenters-info.js";
|
|
2
|
+
export interface PiShellSessionInfoReferenceDocument {
|
|
3
|
+
readonly preamble: readonly string[];
|
|
4
|
+
readonly sections: readonly {
|
|
5
|
+
readonly title: string;
|
|
6
|
+
readonly rows: readonly string[];
|
|
7
|
+
}[];
|
|
8
|
+
}
|
|
9
|
+
/** Renders the pinned report values while leaving group names semantic for the owned screen. */
|
|
10
|
+
export declare function renderPiShellSessionInfoReferenceDocument(presentation: PiShellSessionInfoPresentation, width: number): PiShellSessionInfoReferenceDocument;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Text } from "@earendil-works/pi-tui";
|
|
2
|
+
import { formatCacheWarmingStatus } from "./shell-presenters-info.js";
|
|
3
|
+
import { ensureTheme, formatSessionTokens } from "./shell-shared-facade.js";
|
|
4
|
+
import { piTheme } from "./theme.js";
|
|
5
|
+
/** Renders the pinned report values while leaving group names semantic for the owned screen. */
|
|
6
|
+
export function renderPiShellSessionInfoReferenceDocument(presentation, width) {
|
|
7
|
+
ensureTheme();
|
|
8
|
+
const { stats, sessionName, cacheWaste, usageBreakdown, cacheWarming } = presentation;
|
|
9
|
+
const render = (rows) => new Text(rows.join("\n"), 1, 0).render(width);
|
|
10
|
+
const preamble = [
|
|
11
|
+
...(sessionName ? [`${piTheme().fg("dim", "Name:")} ${sessionName}`] : []),
|
|
12
|
+
`${piTheme().fg("dim", "File:")} ${stats.sessionFile ?? "In-memory"}`,
|
|
13
|
+
`${piTheme().fg("dim", "ID:")} ${stats.sessionId}`,
|
|
14
|
+
];
|
|
15
|
+
const messages = [
|
|
16
|
+
`${piTheme().fg("dim", "Total:")} ${stats.totalMessages}`,
|
|
17
|
+
`${piTheme().fg("dim", "User:")} ${stats.userMessages}`,
|
|
18
|
+
`${piTheme().fg("dim", "Assistant:")} ${stats.assistantMessages}`,
|
|
19
|
+
`${piTheme().fg("dim", "Tools:")} ${stats.toolCalls} calls, ${stats.toolResults} results`,
|
|
20
|
+
];
|
|
21
|
+
const { input, cacheRead, cacheWrite } = stats.tokens;
|
|
22
|
+
const promptTokens = input + cacheRead + cacheWrite;
|
|
23
|
+
const tokens = [`${piTheme().fg("dim", "Input:")} ${promptTokens.toLocaleString()}`];
|
|
24
|
+
if (promptTokens > 0 && (cacheRead > 0 || cacheWrite > 0)) {
|
|
25
|
+
tokens.push(` ${piTheme().fg("dim", "Cached:")} ${cacheRead.toLocaleString()} ${piTheme().fg("dim", `(${((cacheRead / promptTokens) * 100).toFixed(1)}%)`)}`);
|
|
26
|
+
const written = cacheWrite > 0 ? ` ${piTheme().fg("dim", `(${cacheWrite.toLocaleString()} written to cache)`)}` : "";
|
|
27
|
+
tokens.push(` ${piTheme().fg("dim", "Uncached:")} ${(input + cacheWrite).toLocaleString()}${written}`);
|
|
28
|
+
}
|
|
29
|
+
tokens.push(`${piTheme().fg("dim", "Output:")} ${stats.tokens.output.toLocaleString()}`);
|
|
30
|
+
tokens.push(`${piTheme().fg("dim", "Total:")} ${stats.tokens.total.toLocaleString()}`);
|
|
31
|
+
const warmingStatus = cacheWarming.status;
|
|
32
|
+
const warming = [
|
|
33
|
+
`${piTheme().fg("dim", "Mode:")} ${cacheWarming.mode}`,
|
|
34
|
+
`${piTheme().fg("dim", "Status:")} ${warmingStatus ? formatCacheWarmingStatus(warmingStatus) : "Inactive (cache warming unavailable)"}`,
|
|
35
|
+
];
|
|
36
|
+
const warmingDecision = warmingStatus?.decision;
|
|
37
|
+
if (warmingDecision?.economicsAvailable) {
|
|
38
|
+
warming.push(`${piTheme().fg("dim", "Cache miss penalty:")} $${warmingDecision.missCost.toFixed(3)}`);
|
|
39
|
+
warming.push(`${piTheme().fg("dim", "Refresh cost:")} $${warmingDecision.warmCost.toFixed(3)}`);
|
|
40
|
+
}
|
|
41
|
+
const sections = [
|
|
42
|
+
{ title: "Messages", rows: render(messages) },
|
|
43
|
+
{ title: "Tokens", rows: render(tokens) },
|
|
44
|
+
{ title: "Cache Warming", rows: render(warming) },
|
|
45
|
+
];
|
|
46
|
+
if (stats.cost > 0 || cacheWaste.missedTokens > 0) {
|
|
47
|
+
const cost = [`${piTheme().fg("dim", "Total:")} $${stats.cost.toFixed(3)}`];
|
|
48
|
+
if (usageBreakdown.length > 1)
|
|
49
|
+
for (const entry of usageBreakdown) {
|
|
50
|
+
cost.push(` ${piTheme().fg("dim", `${entry.key}:`)} $${entry.cost.toFixed(3)} ${piTheme().fg("dim", `(${formatSessionTokens(entry.tokens)} tokens)`)}`);
|
|
51
|
+
}
|
|
52
|
+
if (cacheWaste.missedTokens > 0) {
|
|
53
|
+
const detail = `${cacheWaste.missedTokens.toLocaleString()} tokens, ${cacheWaste.missCount === 1 ? "1 miss" : `${cacheWaste.missCount} misses`}`;
|
|
54
|
+
cost.push(cacheWaste.missedCost >= 0.0001
|
|
55
|
+
? `${piTheme().fg("dim", "Cache Re-billed:")} $${cacheWaste.missedCost.toFixed(3)} ${piTheme().fg("dim", `(${detail})`)}`
|
|
56
|
+
: `${piTheme().fg("dim", "Cache Re-billed:")} ${detail}`);
|
|
57
|
+
}
|
|
58
|
+
sections.push({ title: "Cost", rows: render(cost) });
|
|
59
|
+
}
|
|
60
|
+
return { preamble: render(preamble), sections };
|
|
61
|
+
}
|
|
@@ -121,7 +121,7 @@ export interface PiShellImageAssetResolver {
|
|
|
121
121
|
}
|
|
122
122
|
export interface PiShellExtensionRendererResolver {
|
|
123
123
|
getMessageRenderer(customType: string): unknown;
|
|
124
|
-
|
|
124
|
+
getToolRenderers(toolName: string): unknown;
|
|
125
125
|
getShortcuts?(bindings: KeybindingsConfig): readonly {
|
|
126
126
|
readonly key: string;
|
|
127
127
|
readonly description: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/core/keybindings.ts.
|
|
4
4
|
* Modifications: Mechanical source port with Node import prefixes, public package-root agent-directory
|
|
5
5
|
* resolution, and an opt-in bare-A1 input profile including Ctrl+L level cycling, unbound model
|
|
@@ -287,11 +287,11 @@ export declare const KEYBINDINGS: {
|
|
|
287
287
|
readonly description: "Move cursor word right";
|
|
288
288
|
};
|
|
289
289
|
readonly "tui.editor.cursorLineStart": {
|
|
290
|
-
readonly defaultKeys: ["home", "ctrl+
|
|
290
|
+
readonly defaultKeys: ["home", "ctrl+a"];
|
|
291
291
|
readonly description: "Move to line start";
|
|
292
292
|
};
|
|
293
293
|
readonly "tui.editor.cursorLineEnd": {
|
|
294
|
-
readonly defaultKeys: ["end", "ctrl+
|
|
294
|
+
readonly defaultKeys: ["end", "ctrl+e"];
|
|
295
295
|
readonly description: "Move to line end";
|
|
296
296
|
};
|
|
297
297
|
readonly "tui.editor.jumpForward": {
|
|
@@ -419,11 +419,11 @@ export declare const KEYBINDINGS: {
|
|
|
419
419
|
readonly description: "Close transcript search";
|
|
420
420
|
};
|
|
421
421
|
readonly "tui.altScreen.top": {
|
|
422
|
-
readonly defaultKeys: "home";
|
|
422
|
+
readonly defaultKeys: "ctrl+home";
|
|
423
423
|
readonly description: "Scroll viewport to top";
|
|
424
424
|
};
|
|
425
425
|
readonly "tui.altScreen.bottom": {
|
|
426
|
-
readonly defaultKeys: "end";
|
|
426
|
+
readonly defaultKeys: "ctrl+end";
|
|
427
427
|
readonly description: "Scroll viewport to bottom";
|
|
428
428
|
};
|
|
429
429
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/core/keybindings.ts.
|
|
4
4
|
* Modifications: Mechanical source port with Node import prefixes, public package-root agent-directory
|
|
5
5
|
* resolution, and an opt-in bare-A1 input profile including Ctrl+L level cycling, unbound model
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"sourcePackage": "@earendil-works/pi-coding-agent",
|
|
3
|
-
"sourceVersion": "1.0.
|
|
3
|
+
"sourceVersion": "1.0.4",
|
|
4
4
|
"upstreamRepository": "https://github.com/earendil-works/pi.git",
|
|
5
|
-
"upstreamCommit": "
|
|
5
|
+
"upstreamCommit": "7c10bd4337495ee613f2224843ecdf349b80d1df",
|
|
6
6
|
"sourcePath": "dist/modes/interactive/assets/clankolas.png",
|
|
7
7
|
"sourceSha256": "169acd0dfe6fbb8d8742ed24a3fc654fd0b2e2d4223c733249c5493723f1b72d",
|
|
8
8
|
"license": "MIT",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/countdown-timer.ts.
|
|
4
4
|
* Modifications: Mechanical source port with ECMAScript private fields; imports remain on the public
|
|
5
5
|
* Pi TUI package root.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/earendil-announcement.ts.
|
|
4
4
|
* Modifications: Mechanical pinned source port with private imports remapped to public package-root
|
|
5
5
|
* types/APIs and A1-owned theme boundaries. The unchanged image is loaded lazily from its attributed,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/extension-editor.ts.
|
|
4
4
|
* Modifications: Mechanical port: remap pi-tui to the root public singleton, use owned
|
|
5
5
|
* keybindings/theme and external-editor seams, preserve editor layout, hints, focus, submission,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/extension-editor.ts.
|
|
4
4
|
* Modifications: Mechanical port: remap pi-tui to the root public singleton, use owned
|
|
5
5
|
* keybindings/theme and external-editor seams, preserve editor layout, hints, focus, submission,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/extension-input.ts.
|
|
4
4
|
* Modifications: Mechanical port: remap public imports, use ECMAScript private fields, and route the
|
|
5
5
|
* bare-A1 instruction row and chrome through the shared semantic shortcut and compact padded
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/extension-selector.ts.
|
|
4
4
|
* Modifications: Mechanical port: remap public imports, use ECMAScript private fields, and route the
|
|
5
5
|
* bare-A1 instruction row and chrome through the shared semantic shortcut and compact padded
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/mermaid.ts.
|
|
4
4
|
* Modifications: Mechanical pinned source port with private imports remapped to public package-root
|
|
5
5
|
* types/APIs and A1-owned theme boundaries; behavior remains acceptance-tested.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/custom-editor.ts.
|
|
4
4
|
* Modifications: A1-owned class name and synchronized A1 keybinding contract replace the nominal
|
|
5
5
|
* private upstream keybinding constructor dependency; bare A1 injects the shared Settings/agent input
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/custom-editor.ts.
|
|
4
4
|
* Modifications: A1-owned class name and synchronized A1 keybinding contract replace the nominal
|
|
5
5
|
* private upstream keybinding constructor dependency; bare A1 injects the shared Settings/agent input
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/pi-logo.ts.
|
|
4
4
|
* Modifications: Remapped the private theme import to A1's public-backed adapter and composed the
|
|
5
5
|
* fixed-color logo into the owned startup header.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/scoped-models-selector.ts.
|
|
4
4
|
* Modifications: Source-synchronized scoped-model selector port: preserve session-only toggles,
|
|
5
5
|
* search, bulk/provider/reorder actions, dirty state, Ctrl+S persistence, refresh status,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/footer.ts.
|
|
4
4
|
* Modifications: Consumes neutral owned-UI view data instead of a fabricated concrete AgentSession;
|
|
5
5
|
* preserves the latest physical route for virtual models; an explicit bare-A1 profile colors the
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/session-selector-search.ts.
|
|
4
4
|
* Modifications: Source-synchronized session search port with only the public SessionInfo type import
|
|
5
5
|
* remapped.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/session-selector.ts.
|
|
4
4
|
* Modifications: Source-synchronized session selector port: preserve threaded/current/all scope,
|
|
5
5
|
* search, sort, named/path filters, rename, delete confirmation, active-session protection, loading
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/skill-invocation-message.ts.
|
|
4
4
|
* Modifications: Mechanical port uses A1's public pi-tui instance, owned theme boundary, and
|
|
5
5
|
* root-instance keybinding registry because the public coding-agent component closes over a second
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/skill-invocation-message.ts.
|
|
4
4
|
* Modifications: Mechanical port uses A1's public pi-tui instance, owned theme boundary, and
|
|
5
5
|
* root-instance keybinding registry because the public coding-agent component closes over a second
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/status-indicator.ts.
|
|
4
4
|
* Modifications: Mechanical source port with public package-root keybinding, Loader, and owned
|
|
5
5
|
* theme/countdown imports plus ECMAScript private fields.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/status-indicator.ts.
|
|
4
4
|
* Modifications: Mechanical source port with public package-root keybinding, Loader, and owned
|
|
5
5
|
* theme/countdown imports plus ECMAScript private fields.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/themed-text.ts.
|
|
4
4
|
* Modifications: Integrated invalidation-aware text into A1's owned startup header and notices;
|
|
5
5
|
* repository formatting only.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/themed-text.ts.
|
|
4
4
|
* Modifications: Integrated invalidation-aware text into A1's owned startup header and notices;
|
|
5
5
|
* repository formatting only.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/thinking-selector.ts.
|
|
4
4
|
* Modifications: Preserve the searchable thinking-level selector, current/default semantics,
|
|
5
5
|
* selection, and focus while accepting the active bare-A1 cycle-key label from the shell, styling the
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/thinking-selector.ts.
|
|
4
4
|
* Modifications: Preserve the searchable thinking-level selector, current/default semantics,
|
|
5
5
|
* selection, and focus while accepting the active bare-A1 cycle-key label from the shell, styling the
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Container, type TUI, type TuiMouseEvent } from "@earendil-works/pi-tui";
|
|
2
|
-
import { type ToolDefinition } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { type ToolDefinition, type ToolRenderers } from "@earendil-works/pi-coding-agent";
|
|
3
3
|
type ToolPresentationResult = Parameters<NonNullable<ToolDefinition["renderResult"]>>[0] & {
|
|
4
4
|
isError: boolean;
|
|
5
5
|
};
|
|
6
6
|
/** The caller-side merge 0.85.1 performs before handing a definition to the component: built-in renderers fill the gaps. */
|
|
7
|
-
|
|
7
|
+
type ToolRendererInput = ToolRenderers | ToolDefinition<any, any, any>;
|
|
8
|
+
export declare function mergeBuiltInRenderers(definition: ToolRendererInput | undefined, builtIn: ToolRendererInput | undefined): ToolRenderers | undefined;
|
|
8
9
|
export interface ToolExecutionOptions {
|
|
9
10
|
showImages?: boolean;
|
|
10
11
|
imageWidthCells?: number;
|
|
@@ -38,7 +39,7 @@ export declare class ToolExecutionComponent extends Container {
|
|
|
38
39
|
private argsComplete;
|
|
39
40
|
private result;
|
|
40
41
|
private hideComponent;
|
|
41
|
-
constructor(toolName: string, toolCallId: string, args: any, options: ToolExecutionOptions | undefined, toolDefinition: ToolDefinition<any, any, any> | undefined, ui: TUI, cwd: string);
|
|
42
|
+
constructor(toolName: string, toolCallId: string, args: any, options: ToolExecutionOptions | undefined, toolDefinition: ToolRenderers | ToolDefinition<any, any, any> | undefined, ui: TUI, cwd: string);
|
|
42
43
|
private getCallRenderer;
|
|
43
44
|
private getResultRenderer;
|
|
44
45
|
private hasRendererDefinition;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/tool-execution.ts.
|
|
4
4
|
* Modifications: Retain pinned shell and actual public tool-definition renderers. Replace private
|
|
5
5
|
* index-keyed image conversion with current-source ownership, serial conversion, visible fallback, and
|
|
@@ -13,17 +13,18 @@ import { Box, Container, getCapabilities, getImageDimensions, imageFallback, Mou
|
|
|
13
13
|
import { createReadToolDefinition, createBashToolDefinition, createEditToolDefinition, createWriteToolDefinition, createGrepToolDefinition, createFindToolDefinition, createLsToolDefinition, keyHint, } from "../../../startup-public.js";
|
|
14
14
|
import { piTheme } from "../theme/theme.js";
|
|
15
15
|
import { ToolImagePresentation } from "../../tool-image-presentation.js";
|
|
16
|
-
/** The caller-side merge 0.85.1 performs before handing a definition to the component: built-in renderers fill the gaps. */
|
|
17
16
|
export function mergeBuiltInRenderers(definition, builtIn) {
|
|
18
17
|
if (definition === undefined)
|
|
19
18
|
return builtIn;
|
|
20
19
|
if (builtIn === undefined)
|
|
21
20
|
return definition;
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
merged.
|
|
21
|
+
const selected = definition;
|
|
22
|
+
const fallback = builtIn;
|
|
23
|
+
const merged = { ...selected };
|
|
24
|
+
if (selected.renderCall === undefined && fallback.renderCall !== undefined)
|
|
25
|
+
merged.renderCall = fallback.renderCall;
|
|
26
|
+
if (selected.renderResult === undefined && fallback.renderResult !== undefined)
|
|
27
|
+
merged.renderResult = fallback.renderResult;
|
|
27
28
|
return merged;
|
|
28
29
|
}
|
|
29
30
|
const definitions = { read: createReadToolDefinition, bash: createBashToolDefinition, edit: createEditToolDefinition,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/tree-selector.ts.
|
|
4
4
|
* Modifications: Source-synchronized tree selector port: preserve filtering, folding, labels, copying,
|
|
5
5
|
* tree navigation, key hints, focus, and viewport behavior while remapping public types/components
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/tree-selector.ts.
|
|
4
4
|
* Modifications: Source-synchronized tree selector port: preserve filtering, folding, labels, copying,
|
|
5
5
|
* tree navigation, key hints, focus, and viewport behavior while remapping public types/components
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/trust-selector.ts.
|
|
4
4
|
* Modifications: Mechanical source-synchronized trust selector port with injected public
|
|
5
5
|
* ProjectTrustStore-derived options, remapped owned theme imports, and the shared bare-A1 modal
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/external-editor.ts.
|
|
4
4
|
* Modifications: Mechanical port: retain temporary prompt file, asynchronous inherited-stdio editor
|
|
5
5
|
* process, completion readback, and best-effort cleanup behind the owned extension-editor component.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/tui/src/components/editor.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, semantic border state with the user-approved numeric-only
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/tui/src/components/editor.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, semantic border state with the user-approved numeric-only
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/tui/src/kill-ring.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/tui/src/kill-ring.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/tui/src/keys.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/tui/src/utils.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.4 (MIT), commit 7c10bd4337495ee613f2224843ecdf349b80d1df,
|
|
3
3
|
* packages/tui/src/undo-stack.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|