@timurproko/a1 0.2.7-dev.1276 → 0.2.7-dev.1285
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 +5 -1
- package/dist/app/session-shell/session-shell-root.d.ts +4 -68
- package/dist/app/session-shell/session-shell.js +5 -11
- package/dist/app/session-shell/shell-host.js +2 -2
- package/dist/app/session-shell/shell-options.d.ts +65 -0
- package/dist/app/session-shell/shell-options.js +1 -0
- package/dist/app/session-shell/workflow-router.d.ts +3 -1
- package/dist/app/session-shell/workflow-router.js +12 -0
- package/dist/cli/dispatch.js +27 -1
- package/dist/cli/packages.js +18 -2
- package/dist/cli/session-context.js +6 -2
- package/dist/composition/owned-ui.js +20 -8
- package/dist/composition/session-naming.js +1 -1
- package/dist/composition/session-runtime-registry.d.ts +2 -0
- package/dist/composition/session-runtime-registry.js +49 -9
- package/dist/contracts/agent-engine/package-ports.d.ts +10 -14
- package/dist/contracts/agent-engine/package-ports.js +5 -9
- package/dist/contracts/owned-ui/session-workflows.d.ts +6 -0
- package/dist/contracts/presentation/index.d.ts +1 -0
- package/dist/contracts/presentation/progress-palette.generated.d.ts +1 -1
- package/dist/contracts/presentation/progress-palette.generated.js +1 -1
- package/dist/contracts/presentation/progress-spinner.d.ts +7 -0
- package/dist/contracts/presentation/progress-spinner.js +1 -0
- package/dist/features/launch/session-context.d.ts +8 -0
- package/dist/features/launch/session-context.js +19 -10
- package/dist/features/owned-ui/reference-screen-app.js +9 -5
- package/dist/features/owned-ui/session-fork-prompt.d.ts +2 -1
- package/dist/features/owned-ui/session-fork-prompt.js +11 -5
- package/dist/features/owned-ui/settings-app.d.ts +1 -1
- package/dist/features/owned-ui/settings-app.js +14 -7
- package/dist/features/owned-ui/settings-spinner-preview.d.ts +9 -0
- package/dist/features/owned-ui/settings-spinner-preview.js +29 -0
- package/dist/features/session-naming/context.d.ts +17 -0
- package/dist/features/session-naming/context.js +39 -0
- package/dist/features/session-naming/controller.d.ts +1 -5
- package/dist/features/session-naming/controller.js +7 -4
- package/dist/features/session-naming/generate.d.ts +2 -1
- package/dist/features/session-naming/generate.js +14 -10
- package/dist/features/session-naming/index.d.ts +1 -1
- package/dist/foundation/lifecycle/index.d.ts +3 -1
- package/dist/foundation/lifecycle/index.js +3 -1
- package/dist/foundation/lifecycle/session-claim-lock.d.ts +2 -2
- package/dist/foundation/lifecycle/session-claim-lock.js +36 -10
- package/dist/foundation/lifecycle/session-context-retry.d.ts +2 -0
- package/dist/foundation/lifecycle/session-context-retry.js +17 -0
- package/dist/foundation/lifecycle/session-repository-context.d.ts +7 -1
- package/dist/foundation/lifecycle/session-repository-context.js +105 -39
- package/dist/foundation/lifecycle/session-worktree-entry.d.ts +3 -0
- package/dist/foundation/lifecycle/session-worktree-entry.js +87 -0
- package/dist/foundation/release/automatic-update.js +2 -2
- package/dist/foundation/release/bootstrap.js +19 -3
- package/dist/foundation/release/release-gc.js +20 -5
- package/dist/foundation/release/release-state.d.ts +12 -3
- package/dist/foundation/release/release-state.js +55 -24
- package/dist/foundation/release/release-use.d.ts +10 -0
- package/dist/foundation/release/release-use.js +70 -0
- package/dist/foundation/release/update-activation.js +2 -2
- package/dist/foundation/release/update-recovery.js +2 -2
- package/dist/foundation/release/update.js +1 -1
- package/dist/foundation/release/warmup.js +8 -9
- package/dist/foundation/session-writer-lock/index.d.ts +2 -2
- package/dist/foundation/session-writer-lock/index.js +82 -12
- package/dist/foundation/startup/startup-descriptor.js +2 -2
- package/dist/foundation/terminal-cleanup/fatal-diagnostic.d.ts +2 -0
- package/dist/foundation/terminal-cleanup/fatal-diagnostic.js +59 -0
- package/dist/foundation/terminal-cleanup/fatal-exit.js +1 -29
- 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/share-operation-dialog.d.ts +2 -1
- package/dist/integrations/pi/components/share-operation-dialog.js +13 -5
- package/dist/integrations/pi/components/shell-footer-status.d.ts +2 -1
- package/dist/integrations/pi/components/shell-footer-status.js +15 -8
- package/dist/integrations/pi/components/shell-session-info-reference.js +11 -8
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +1 -1
- 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/auth-url.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/auth-url.js +1 -1
- 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/login-dialog.js +1 -1
- package/dist/integrations/pi/components/upstream/components/mermaid.js +1 -1
- package/dist/integrations/pi/components/upstream/components/oauth-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/oauth-selector.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 +14 -8
- 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.js +1 -1
- 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/program-status-reporter.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/theme.js +1 -1
- package/dist/integrations/pi/engine/adapter.d.ts +3 -1
- package/dist/integrations/pi/engine/adapter.js +24 -6
- package/dist/integrations/pi/engine/changelog.js +5 -2
- package/dist/integrations/pi/engine/delivery-retention.d.ts +7 -0
- package/dist/integrations/pi/engine/delivery-retention.js +66 -0
- package/dist/integrations/pi/engine/event-delivery.d.ts +17 -1
- package/dist/integrations/pi/engine/event-delivery.js +25 -3
- package/dist/integrations/pi/engine/extension-ui-binding.d.ts +2 -1
- package/dist/integrations/pi/engine/extension-ui-binding.js +45 -0
- package/dist/integrations/pi/engine/host-ports.d.ts +2 -0
- package/dist/integrations/pi/engine/host.d.ts +3 -0
- package/dist/integrations/pi/engine/host.js +2 -0
- package/dist/integrations/pi/engine/package-integration.js +19 -4
- package/dist/integrations/pi/engine/pending-delivery.d.ts +4 -1
- package/dist/integrations/pi/engine/pending-delivery.js +51 -18
- package/dist/integrations/pi/engine/resources/changelog.json +4 -4
- package/dist/integrations/pi/engine/runtime-integration.d.ts +8 -0
- package/dist/integrations/pi/engine/runtime-integration.js +58 -9
- package/dist/integrations/pi/engine/session-cwd-recovery.d.ts +11 -0
- package/dist/integrations/pi/engine/session-cwd-recovery.js +18 -0
- package/dist/integrations/pi/engine/session-runtime.d.ts +3 -0
- package/dist/integrations/pi/engine/session-runtime.js +2 -0
- package/dist/integrations/pi/engine/session-selection.d.ts +3 -2
- package/dist/integrations/pi/engine/session-selection.js +25 -5
- package/dist/integrations/pi/engine/transcript-image-assets.d.ts +3 -0
- package/dist/integrations/pi/engine/transcript-image-assets.js +65 -14
- package/dist/integrations/pi/engine/view-state.d.ts +14 -0
- package/dist/integrations/pi/engine/view-state.js +17 -0
- package/dist/integrations/pi/engine/workflow-runner.d.ts +2 -0
- package/dist/integrations/pi/engine/workflow-runner.js +47 -26
- package/dist/integrations/pi/engine/worktree-tools.d.ts +4 -0
- package/dist/integrations/pi/engine/worktree-tools.js +26 -0
- package/dist/integrations/pi/session-presenters/components.d.ts +2 -1
- package/dist/integrations/pi/session-presenters/components.js +5 -3
- package/dist/integrations/pi/session-presenters/presenters.d.ts +3 -1
- package/dist/integrations/pi/session-presenters/presenters.js +1 -1
- package/dist/integrations/pi/startup-public.d.ts +1 -1
- package/dist/integrations/pi/startup-public.js +16 -20
- package/dist/integrations/pi/startup-public.manifest.json +29 -29
- 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/product-identity.json +1 -1
- package/dist/runtime-payload-inventory.json +5027 -5027
- package/dist/ui/components/index.d.ts +1 -1
- package/dist/ui/components/index.js +1 -1
- package/dist/ui/components/progress-status.d.ts +7 -0
- package/dist/ui/components/progress-status.js +21 -0
- package/dist/ui/components/value-menu.d.ts +1 -1
- package/dist/ui/components/value-menu.js +4 -2
- package/dist/ui/settings/declarations.d.ts +16 -4
- package/dist/ui/settings/declarations.js +13 -4
- package/docs/architecture/internal-naming.md +1 -1
- package/docs/architecture/project-structure.md +7 -11
- package/docs/features/session-exports.md +1 -1
- package/docs/features/session-naming.md +8 -6
- package/docs/features/worktrees.md +38 -0
- package/docs/local-worktree-cleanup.md +27 -4
- package/docs/openspec-archive-automation.md +30 -4
- package/docs/worktree-link-recovery.md +2 -2
- package/package.json +5 -5
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CancellableLoader, Spacer, Text, } from "@earendil-works/pi-tui";
|
|
2
2
|
import { BorderedLoader, DynamicBorder } from "../startup-public.js";
|
|
3
|
+
import { progressSpinnerFrame } from "../../../ui/components/index.js";
|
|
3
4
|
import { adoptPiModalFrame, PiModalFrame } from "./modal-frame.js";
|
|
4
5
|
import { DIALOG_CLOSE_SHORTCUT_HINT, paintPiBorder, piTheme, renderPiModalShortcutHints } from "./theme.js";
|
|
5
6
|
import { componentPort, createTuiFacade, ensureTheme, } from "./shell-shared-facade.js";
|
|
@@ -7,26 +8,33 @@ import { componentPort, createTuiFacade, ensureTheme, } from "./shell-shared-fac
|
|
|
7
8
|
class ShareOperationDialog {
|
|
8
9
|
#loader;
|
|
9
10
|
#frame;
|
|
10
|
-
|
|
11
|
+
#releaseSpinner;
|
|
12
|
+
constructor(runtime, message, spinner) {
|
|
11
13
|
const theme = piTheme();
|
|
12
|
-
|
|
14
|
+
let phase = -1;
|
|
15
|
+
this.#loader = new CancellableLoader(createTuiFacade(runtime), currentFrame => {
|
|
16
|
+
phase += 1;
|
|
17
|
+
const glyph = progressSpinnerFrame(spinner?.snapshot() ?? "current", phase, currentFrame);
|
|
18
|
+
return glyph === "" ? "" : piTheme().fg("accent", glyph);
|
|
19
|
+
}, text => piTheme().fg("muted", text), message);
|
|
13
20
|
this.#frame = new PiModalFrame(new DynamicBorder(paintPiBorder), [
|
|
14
21
|
new Text(theme.fg("accent", theme.bold("Share")), 0, 0),
|
|
15
22
|
this.#loader,
|
|
16
23
|
new Spacer(1),
|
|
17
24
|
new Text(renderPiModalShortcutHints([DIALOG_CLOSE_SHORTCUT_HINT]), 0, 0),
|
|
18
25
|
], new DynamicBorder(paintPiBorder));
|
|
26
|
+
this.#releaseSpinner = spinner?.onChange(() => this.#loader.invalidate());
|
|
19
27
|
}
|
|
20
28
|
get signal() { return this.#loader.signal; }
|
|
21
29
|
setMessage(message) { this.#loader.setMessage(message); }
|
|
22
30
|
invalidate() { this.#frame.invalidate(); }
|
|
23
31
|
render(width) { return this.#frame.render(width); }
|
|
24
32
|
handleInput(data) { this.#loader.handleInput(data); }
|
|
25
|
-
dispose() { this.#loader.dispose(); }
|
|
33
|
+
dispose() { this.#releaseSpinner?.(); this.#loader.dispose(); }
|
|
26
34
|
}
|
|
27
|
-
export function createPiShellShareOperationDialog(runtime, message) {
|
|
35
|
+
export function createPiShellShareOperationDialog(runtime, message, spinner) {
|
|
28
36
|
ensureTheme();
|
|
29
|
-
const dialog = new ShareOperationDialog(runtime, message);
|
|
37
|
+
const dialog = new ShareOperationDialog(runtime, message, spinner);
|
|
30
38
|
return { ...componentPort(dialog), signal: dialog.signal, setMessage: message => dialog.setMessage(message) };
|
|
31
39
|
}
|
|
32
40
|
export function createPiShellOperationLoader(runtime, message) {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { OwnedUiShellKeybindings } from "../../../contracts/owned-ui/index.js";
|
|
2
|
+
import type { ProgressSpinnerSource } from "../../../contracts/presentation/index.js";
|
|
2
3
|
import type { OwnedUiSessionViewModel } from "../../../contracts/owned-ui/index.js";
|
|
3
4
|
import { type PiShellViewComponentPort, type PiShellStatusPort, type PiShellProgressStatusPresentation, type PiShellQueuedInputPort, type PiShellHeaderPort, type PiShellResourceEntry, type PiShellLoadedResourcesPort, type PiShellHeaderOptions, type PiShellEditorOptions } from "./shell-shared-facade.js";
|
|
4
5
|
export declare function createPiShellHeader(options?: PiShellHeaderOptions): PiShellHeaderPort;
|
|
5
6
|
export declare function createPiShellLoadedResources(resources: readonly PiShellResourceEntry[], initialExpanded?: boolean): PiShellLoadedResourcesPort;
|
|
6
|
-
export declare function createPiShellStatus(view: OwnedUiSessionViewModel, progressStatus: PiShellProgressStatusPresentation, runtime?: Pick<PiShellEditorOptions, "getColumns" | "getRows" | "requestRender"
|
|
7
|
+
export declare function createPiShellStatus(view: OwnedUiSessionViewModel, progressStatus: PiShellProgressStatusPresentation, runtime?: Pick<PiShellEditorOptions, "getColumns" | "getRows" | "requestRender">, spinner?: ProgressSpinnerSource): PiShellStatusPort;
|
|
7
8
|
export declare function createPiShellFooter(view: OwnedUiSessionViewModel, cwd: string, profile?: "pi" | "a1", showLevel?: () => boolean): PiShellViewComponentPort;
|
|
8
9
|
export declare function createPiQueuedInputStatus(submissions: readonly string[], presentation?: "pinned" | "custom-viewport", getKeybindings?: () => OwnedUiShellKeybindings): PiShellQueuedInputPort;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { progressSpinnerFrame } from "../../../ui/components/progress-status.js";
|
|
1
2
|
import { piKeybindings } from "./shell-shared-facade.js";
|
|
2
3
|
import { rawKeyHint, VERSION } from "../startup-public.js";
|
|
3
4
|
import { Spacer, Text, } from "@earendil-works/pi-tui";
|
|
@@ -74,7 +75,7 @@ export function createPiShellLoadedResources(resources, initialExpanded = false)
|
|
|
74
75
|
invalidate() { },
|
|
75
76
|
};
|
|
76
77
|
}
|
|
77
|
-
export function createPiShellStatus(view, progressStatus, runtime) {
|
|
78
|
+
export function createPiShellStatus(view, progressStatus, runtime, spinner) {
|
|
78
79
|
ensureTheme();
|
|
79
80
|
const statusUi = createTuiFacade(runtime ?? { getColumns: () => 80, getRows: () => 24, requestRender() { } });
|
|
80
81
|
let workingOverride;
|
|
@@ -83,7 +84,7 @@ export function createPiShellStatus(view, progressStatus, runtime) {
|
|
|
83
84
|
let progressPresentation = "pinned";
|
|
84
85
|
let placement = statusPlacement(view, workingOverride, workingOverrideActive);
|
|
85
86
|
const liveStatusText = () => progressStatus.text(liveWorkingText(view, workingOverride, progressPresentation), progressPresentation);
|
|
86
|
-
let component = statusComponent(view, statusUi, outputPad, liveStatusText, placement, progressPresentation, progressStatus);
|
|
87
|
+
let component = statusComponent(view, statusUi, outputPad, liveStatusText, placement, progressPresentation, progressStatus, spinner);
|
|
87
88
|
let signature = statusSignature(view, workingOverride, outputPad, placement, progressPresentation);
|
|
88
89
|
const rebuild = () => {
|
|
89
90
|
const nextPlacement = statusPlacement(view, workingOverride, workingOverrideActive);
|
|
@@ -105,8 +106,12 @@ export function createPiShellStatus(view, progressStatus, runtime) {
|
|
|
105
106
|
component.dispose();
|
|
106
107
|
placement = nextPlacement;
|
|
107
108
|
signature = nextSignature;
|
|
108
|
-
component = statusComponent(view, statusUi, outputPad, liveStatusText, placement, progressPresentation, progressStatus);
|
|
109
|
+
component = statusComponent(view, statusUi, outputPad, liveStatusText, placement, progressPresentation, progressStatus, spinner);
|
|
109
110
|
};
|
|
111
|
+
const releaseSpinner = spinner?.onChange(() => {
|
|
112
|
+
if (progressPresentation === "custom-viewport")
|
|
113
|
+
component?.invalidate();
|
|
114
|
+
});
|
|
110
115
|
return {
|
|
111
116
|
render: width => appendInstalledUpdateStatus(component?.render(width) ?? [], width, view, progressPresentation),
|
|
112
117
|
renderDock: width => placement === "dock" ? component?.render(width) ?? [] : [],
|
|
@@ -131,6 +136,7 @@ export function createPiShellStatus(view, progressStatus, runtime) {
|
|
|
131
136
|
rebuild();
|
|
132
137
|
},
|
|
133
138
|
dispose() {
|
|
139
|
+
releaseSpinner?.();
|
|
134
140
|
if (component !== undefined && "dispose" in component && typeof component.dispose === "function")
|
|
135
141
|
component.dispose();
|
|
136
142
|
component = undefined;
|
|
@@ -201,21 +207,22 @@ function liveWorkingText(view, workingOverride, progressPresentation) {
|
|
|
201
207
|
: message;
|
|
202
208
|
}
|
|
203
209
|
class OwnedWorkingStatusIndicator extends StatusIndicator {
|
|
204
|
-
constructor(ui, message, frame) {
|
|
210
|
+
constructor(ui, message, frame, spinner) {
|
|
205
211
|
let phase = -1;
|
|
206
|
-
super("working", ui,
|
|
212
|
+
super("working", ui, defaultFrame => {
|
|
207
213
|
phase += 1;
|
|
208
|
-
|
|
214
|
+
const glyph = progressSpinnerFrame(spinner?.snapshot() ?? "current", phase, defaultFrame);
|
|
215
|
+
return glyph === "" ? "" : piTheme().fg("accent", glyph);
|
|
209
216
|
}, text => frame(text, phase, {
|
|
210
217
|
muted: value => piTheme().fg("muted", value),
|
|
211
218
|
highlight: value => piTheme().fg("text", value),
|
|
212
219
|
}), message);
|
|
213
220
|
}
|
|
214
221
|
}
|
|
215
|
-
function statusComponent(view, ui, outputPad, liveStatusText, placement, progressPresentation, progressStatus) {
|
|
222
|
+
function statusComponent(view, ui, outputPad, liveStatusText, placement, progressPresentation, progressStatus, spinner) {
|
|
216
223
|
if (placement === "live") {
|
|
217
224
|
return progressPresentation === "custom-viewport"
|
|
218
|
-
? new OwnedWorkingStatusIndicator(ui, liveStatusText(), progressStatus.frame)
|
|
225
|
+
? new OwnedWorkingStatusIndicator(ui, liveStatusText(), progressStatus.frame, spinner)
|
|
219
226
|
: new WorkingStatusIndicator(ui, liveStatusText());
|
|
220
227
|
}
|
|
221
228
|
if (placement === "dock") {
|
|
@@ -2,10 +2,10 @@ import { sliceByColumn, Text, visibleWidth } from "@earendil-works/pi-tui";
|
|
|
2
2
|
import { formatCacheWarmingStatus } from "./shell-presenters-info.js";
|
|
3
3
|
import { ensureTheme, formatSessionTokens } from "./shell-shared-facade.js";
|
|
4
4
|
import { piTheme } from "./theme.js";
|
|
5
|
-
/** Splits
|
|
6
|
-
function
|
|
5
|
+
/** Splits an identity value by visible columns, preserving every source grapheme in order. */
|
|
6
|
+
function splitIdentityValue(value, firstWidth, continuationWidth) {
|
|
7
7
|
const rows = [];
|
|
8
|
-
let remaining =
|
|
8
|
+
let remaining = value;
|
|
9
9
|
let rowWidth = firstWidth;
|
|
10
10
|
while (remaining) {
|
|
11
11
|
let row = sliceByColumn(remaining, 0, rowWidth, true);
|
|
@@ -27,9 +27,12 @@ function splitSessionFile(sessionFile, firstWidth, continuationWidth) {
|
|
|
27
27
|
export function renderPiShellSessionInfoReferenceDocument(presentation, width) {
|
|
28
28
|
ensureTheme();
|
|
29
29
|
const { stats, sessionName, cacheWaste, usageBreakdown, cacheWarming } = presentation;
|
|
30
|
+
const sessionFile = stats.sessionFile ?? "In-memory";
|
|
31
|
+
const separator = Math.max(sessionFile.lastIndexOf("/"), sessionFile.lastIndexOf("\\"));
|
|
30
32
|
const identity = [
|
|
31
33
|
...(sessionName ? [{ label: "Name:", value: sessionName }] : []),
|
|
32
|
-
{ label: "
|
|
34
|
+
...(separator < 0 ? [] : [{ label: "Folder:", value: sessionFile.slice(0, separator + 1) }]),
|
|
35
|
+
{ label: "File:", value: sessionFile.slice(separator + 1) },
|
|
33
36
|
{ label: "ID:", value: stats.sessionId },
|
|
34
37
|
];
|
|
35
38
|
const messages = [
|
|
@@ -42,9 +45,9 @@ export function renderPiShellSessionInfoReferenceDocument(presentation, width) {
|
|
|
42
45
|
const promptTokens = input + cacheRead + cacheWrite;
|
|
43
46
|
const tokens = [{ label: "Input:", value: promptTokens.toLocaleString() }];
|
|
44
47
|
if (promptTokens > 0 && (cacheRead > 0 || cacheWrite > 0)) {
|
|
45
|
-
tokens.push({ label: "Cached:",
|
|
48
|
+
tokens.push({ label: "Cached:", value: `${cacheRead.toLocaleString()} ${piTheme().fg("dim", `(${((cacheRead / promptTokens) * 100).toFixed(1)}%)`)}` });
|
|
46
49
|
const written = cacheWrite > 0 ? ` ${piTheme().fg("dim", `(${cacheWrite.toLocaleString()} written to cache)`)}` : "";
|
|
47
|
-
tokens.push({ label: "Uncached:",
|
|
50
|
+
tokens.push({ label: "Uncached:", value: `${(input + cacheWrite).toLocaleString()}${written}` });
|
|
48
51
|
}
|
|
49
52
|
tokens.push({ label: "Output:", value: stats.tokens.output.toLocaleString() });
|
|
50
53
|
tokens.push({ label: "Total:", value: stats.tokens.total.toLocaleString() });
|
|
@@ -81,13 +84,13 @@ export function renderPiShellSessionInfoReferenceDocument(presentation, width) {
|
|
|
81
84
|
const render = (rows) => new Text(rows.map(row => `${prefix(row)}${row.value}`).join("\n"), 1, 0).render(width);
|
|
82
85
|
const preamble = [];
|
|
83
86
|
for (const row of identity) {
|
|
84
|
-
if (row.label !== "File:") {
|
|
87
|
+
if (row.label !== "Folder:" && row.label !== "File:") {
|
|
85
88
|
preamble.push(`${prefix(row)}${row.value}`);
|
|
86
89
|
continue;
|
|
87
90
|
}
|
|
88
91
|
const label = prefix(row);
|
|
89
92
|
const firstWidth = Math.max(0, contentWidth - visibleWidth(label));
|
|
90
|
-
const [first = "", ...continuation] =
|
|
93
|
+
const [first = "", ...continuation] = splitIdentityValue(row.value, firstWidth, contentWidth);
|
|
91
94
|
preamble.push(firstWidth > 0 ? `${label}${first}` : piTheme().fg("dim", row.label), ...continuation);
|
|
92
95
|
}
|
|
93
96
|
return {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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, Ctrl+M model cycling
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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, Ctrl+M model cycling
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"sourcePackage": "@earendil-works/pi-coding-agent",
|
|
3
|
-
"sourceVersion": "1.5.
|
|
3
|
+
"sourceVersion": "1.5.2",
|
|
4
4
|
"upstreamRepository": "https://github.com/earendil-works/pi.git",
|
|
5
|
-
"upstreamCommit": "
|
|
5
|
+
"upstreamCommit": "b4afdddf44e059c67ccf5097e5317d913521b470",
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/auth-url.ts.
|
|
4
4
|
* Modifications: Adapt sign-in URL/copy feedback to live semantic roles, shared zero-inset login
|
|
5
5
|
* content and canonical shortcut hints. Preserve safe hyperlinks, copy results and lifetime guards;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/auth-url.ts.
|
|
4
4
|
* Modifications: Adapt sign-in URL/copy feedback to live semantic roles, shared zero-inset login
|
|
5
5
|
* content and canonical shortcut hints. Preserve safe hyperlinks, copy results and lifetime guards;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/extension-selector.ts.
|
|
4
4
|
* Modifications: Mechanical port with public imports, private fields, shared shortcut rows and compact
|
|
5
5
|
* framing; internal choices opt into normal labels over selected backgrounds and circular navigation
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/login-dialog.ts.
|
|
4
4
|
* Modifications: Adapt all provider login states to shared live-themed framing: title, immediate muted
|
|
5
5
|
* description, blank row before accent-chevron input and one-cell inset. Preserve prompt, callback,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/oauth-selector.ts.
|
|
4
4
|
* Modifications: Adapt the provider controller to injected neutral options, shared framing, live
|
|
5
5
|
* roles, Title Case and circular navigation. Configured status uses a muted dot, success-green
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/oauth-selector.ts.
|
|
4
4
|
* Modifications: Adapt the provider controller to injected neutral options, shared framing, live
|
|
5
5
|
* roles, Title Case and circular navigation. Configured status uses a muted dot, success-green
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/footer.ts.
|
|
4
|
-
* Modifications: A1 PR links, model priority, level colors, secondary-accent name
|
|
5
|
-
* name/row clipping; Pi intact.
|
|
4
|
+
* Modifications: A1 PR links, model/name priority over stats, level colors, secondary-accent name
|
|
5
|
+
* reveals, dim name/row clipping; Pi intact.
|
|
6
6
|
* Deviations: owned-status-level-color, owned-pull-request-badge, owned-footer-ellipsis,
|
|
7
7
|
* owned-footer-model-priority, owned-session-name-reveal.
|
|
8
8
|
*/
|
|
@@ -123,23 +123,29 @@ export class SessionFooter {
|
|
|
123
123
|
const route = ` → ${routed.model.modelId}${level}`;
|
|
124
124
|
rightWithoutProvider += this.profile === "a1" ? theme.fg("dim", route) : route;
|
|
125
125
|
}
|
|
126
|
+
const nameWidth = this.profile === "a1" ? visibleWidth(sessionName ?? "") : 0;
|
|
126
127
|
let right = rightWithoutProvider;
|
|
127
128
|
if ((view.status.footer?.availableProviderCount ?? 1) > 1 && view.activeModel) {
|
|
128
129
|
const provider = `(${view.activeModel.providerId}) `;
|
|
129
130
|
right = (this.profile === "a1" ? theme.fg("dim", provider) : provider) + rightWithoutProvider;
|
|
130
|
-
if (leftWidth + 2 + visibleWidth(right) > width)
|
|
131
|
+
if (Math.max(leftWidth, nameWidth) + 2 + visibleWidth(right) > width)
|
|
131
132
|
right = rightWithoutProvider;
|
|
132
133
|
}
|
|
133
|
-
if (this.profile === "a1" && leftWidth + 2 + visibleWidth(right) > width) {
|
|
134
|
-
right = [rightWithoutProvider, modelLevel].find(value => visibleWidth(value) + 2 <= width)
|
|
134
|
+
if (this.profile === "a1" && Math.max(leftWidth, nameWidth) + 2 + visibleWidth(right) > width) {
|
|
135
|
+
right = [rightWithoutProvider, modelLevel].find(value => visibleWidth(value) + 2 + nameWidth <= width)
|
|
136
|
+
?? [rightWithoutProvider, modelLevel].find(value => visibleWidth(value) + 2 <= width)
|
|
135
137
|
?? truncateToWidth(theme.fg("dim", modelName), width, dimEllipsis);
|
|
136
138
|
left = truncateToWidth(left, Math.max(0, width - visibleWidth(right) - 2), dimEllipsis);
|
|
137
139
|
leftWidth = visibleWidth(left);
|
|
138
140
|
}
|
|
139
141
|
const rightWidth = visibleWidth(right);
|
|
140
|
-
this.#nameBudget = Math.max(0, width -
|
|
142
|
+
this.#nameBudget = Math.max(0, width - rightWidth - 2);
|
|
141
143
|
if (this.profile === "a1" && sessionName && this.#nameBudget > 0) {
|
|
142
|
-
|
|
144
|
+
this.#nameBudget = Math.min(visibleWidth(sessionName), this.#nameBudget);
|
|
145
|
+
const statsBudget = this.#nameBudget < visibleWidth(sessionName) ? 0
|
|
146
|
+
: Math.max(0, width - rightWidth - 2 - this.#nameBudget - 3);
|
|
147
|
+
left = statsBudget >= 4 ? truncateToWidth(left, statsBudget, dimEllipsis) : "";
|
|
148
|
+
left = (left ? left + theme.fg("dim", " • ") : "") + this.#nameFrame(sessionName, this.#nameBudget).text;
|
|
143
149
|
leftWidth = visibleWidth(left);
|
|
144
150
|
}
|
|
145
151
|
let line;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/tool-execution.ts.
|
|
4
4
|
* Modifications: Retain pinned shell/public renderers. Own image conversion; replace private APIs with
|
|
5
5
|
* public/local equivalents. Use bare-A1 secondary-accent read ranges and concise collapse shortcut
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/tree-selector.ts.
|
|
4
4
|
* Modifications: Port remaps public types/components plus owned keybindings/theme helpers while
|
|
5
5
|
* preserving tree behavior; bare A1 uses compact modal chrome and label editing, four-mode
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/tree-selector.ts.
|
|
4
4
|
* Modifications: Port remaps public types/components plus owned keybindings/theme helpers while
|
|
5
5
|
* preserving tree behavior; bare A1 uses compact modal chrome and label editing, four-mode
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/trust-selector.ts.
|
|
4
4
|
* Modifications: Source-synchronized trust port with injected public options and shared framing; bare
|
|
5
5
|
* A1 opts into Title Case, selected backgrounds, circular navigation, aligned decisions and no
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.5.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.5.2 (MIT), commit b4afdddf44e059c67ccf5097e5317d913521b470,
|
|
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
|