@timurproko/a1 0.2.4-dev.664 → 0.2.4-dev.667
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 +179 -37
- package/dist/app/session-shell/exit-notice.d.ts +14 -0
- package/dist/app/session-shell/exit-notice.js +59 -0
- package/dist/app/session-shell/session-shell.js +1 -1
- package/dist/composition/owned-ui.js +10 -0
- package/dist/foundation/launch-guardian/main.js +1 -1
- package/dist/foundation/process-containment/native-guardian-containment.d.ts +2 -1
- package/dist/foundation/process-containment/native-guardian-containment.js +14 -2
- package/dist/foundation/startup/startup-descriptor.js +2 -2
- 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-footer-status.js +5 -2
- 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/countdown-timer.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/daxnuts.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/daxnuts.js +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.d.ts +4 -0
- package/dist/integrations/pi/components/upstream/components/pi-logo.js +11 -2
- 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.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/theme/system-theme.d.ts +3 -2
- package/dist/integrations/pi/components/upstream/theme/system-theme.js +20 -6
- 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/pi-settings-metadata.json +3 -2
- package/dist/integrations/pi/engine/resources/changelog.json +4 -4
- package/dist/integrations/pi/engine/settings-bridge.js +6 -1
- package/dist/integrations/pi/engine/workflows.d.ts +1 -1
- package/dist/integrations/pi/startup-public.js +485 -729
- package/dist/integrations/pi/startup-public.manifest.json +331 -779
- 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 +3 -3
- package/dist/native/darwin-arm64/process-guardian +0 -0
- package/dist/native/linux-x64/manifest.json +3 -3
- package/dist/native/linux-x64/process-guardian +0 -0
- package/dist/native/win32-x64/manifest.json +3 -3
- package/dist/native/win32-x64/process-guardian.exe +0 -0
- package/dist/product-identity.d.ts +1 -1
- package/dist/product-identity.js +1 -1
- package/dist/product-identity.json +1 -0
- package/dist/runtime-payload-inventory.json +31471 -35770
- package/docs/assets/readme/gears.svg +57 -0
- package/docs/assets/readme/mark.svg +8 -0
- package/docs/assets/readme/plugins.svg +77 -0
- package/docs/assets/readme/rocket.svg +67 -0
- package/docs/assets/readme/terminal.svg +77 -0
- package/docs/assets/readme/waves.svg +143 -0
- package/package.json +4 -3
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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.
|
|
6
6
|
* Deviations: none.
|
|
7
7
|
*/
|
|
8
|
-
import { backgroundAnsi, foregroundAnsi, rgbColor } from "@earendil-works/pi-tui";
|
|
8
|
+
import { backgroundAnsi, foregroundAnsi, isAppleTerminalSession, rgbColor, } from "@earendil-works/pi-tui";
|
|
9
9
|
import { piTheme } from "../../theme.js";
|
|
10
10
|
const CORAL = rgbColor(228, 138, 122);
|
|
11
11
|
const BLUE = rgbColor(79, 142, 179);
|
|
@@ -19,3 +19,12 @@ export function piLogoLines() {
|
|
|
19
19
|
const bottom = `${fg(BLUE)}█▀${RESET} ${fg(YELLOW)}█${RESET}`;
|
|
20
20
|
return [top, bottom];
|
|
21
21
|
}
|
|
22
|
+
/** Whether the terminal can render the half-block logo without gaps or misalignment. */
|
|
23
|
+
export function supportsPiLogo() {
|
|
24
|
+
return !isAppleTerminalSession();
|
|
25
|
+
}
|
|
26
|
+
/** Text fallback for terminals that cannot render the fixed-color logo. */
|
|
27
|
+
export function piWordmark() {
|
|
28
|
+
const mode = piTheme().getColorMode();
|
|
29
|
+
return `${foregroundAnsi(CORAL, mode)}P${RESET}${foregroundAnsi(YELLOW, mode)}i${RESET}`;
|
|
30
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
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 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
3
3
|
* packages/tui/src/word-navigation.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-coding-agent 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/model-search.ts.
|
|
4
4
|
* Modifications: Mechanical source-synchronized port preserving pinned model search terms for stateful
|
|
5
5
|
* scoped-model filtering.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/theme/system-theme.ts.
|
|
4
4
|
* Modifications: Copied the system palette generator with ESM import remapping and strict
|
|
5
5
|
* indexed-access assertions; A1 retains explicit owned theme selection.
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
* on the background and on the panels it is drawn on. Hue and saturation come from the terminal's palette
|
|
13
13
|
* color for the family's ANSI slot, or from the family's own hue when the terminal reports no palette.
|
|
14
14
|
* Lightness comes from the rules alone. Colors are built in OKHSL, whose saturation is relative to the
|
|
15
|
-
* sRGB gamut, and fade toward gray near black and white.
|
|
15
|
+
* sRGB gamut, and fade toward gray near black and white. A palette color never gains OKLCH chroma when it
|
|
16
|
+
* moves to another lightness, so pastel palettes stay pastel.
|
|
16
17
|
*
|
|
17
18
|
* A contrast level is a target-lightness curve: the OKLab lightness a token needs, given the lightness of
|
|
18
19
|
* the surface below it. The curves were fitted to the reference theme design from the "Pi themes: system
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/theme/system-theme.ts.
|
|
4
4
|
* Modifications: Copied the system palette generator with ESM import remapping and strict
|
|
5
5
|
* indexed-access assertions; A1 retains explicit owned theme selection.
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
* on the background and on the panels it is drawn on. Hue and saturation come from the terminal's palette
|
|
13
13
|
* color for the family's ANSI slot, or from the family's own hue when the terminal reports no palette.
|
|
14
14
|
* Lightness comes from the rules alone. Colors are built in OKHSL, whose saturation is relative to the
|
|
15
|
-
* sRGB gamut, and fade toward gray near black and white.
|
|
15
|
+
* sRGB gamut, and fade toward gray near black and white. A palette color never gains OKLCH chroma when it
|
|
16
|
+
* moves to another lightness, so pastel palettes stay pastel.
|
|
16
17
|
*
|
|
17
18
|
* A contrast level is a target-lightness curve: the OKLab lightness a token needs, given the lightness of
|
|
18
19
|
* the surface below it. The curves were fitted to the reference theme design from the "Pi themes: system
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
* - background only: the families' own hues, lightness from the background;
|
|
25
26
|
* - nothing: ANSI palette indices and the default colors, which the terminal renders itself.
|
|
26
27
|
*/
|
|
27
|
-
import { colorToOkhsl, colorToOklch, okhslColor, oklabToOkhslLightness, rgbColor, } from "@earendil-works/pi-tui";
|
|
28
|
+
import { colorToOkhsl, colorToOklch, colorToRgb, okhslColor, oklabToOkhslLightness, oklchColor, rgbColor, } from "@earendil-works/pi-tui";
|
|
28
29
|
export const SYSTEM_THEME_NAME = "system";
|
|
29
30
|
const FAMILIES = {
|
|
30
31
|
neutral: { hue: 231.49, saturation: { min: 0.02, max: 0.08 }, slot: 8 },
|
|
@@ -511,7 +512,7 @@ export function generateSystemThemeColors(input) {
|
|
|
511
512
|
const { background, foreground } = input;
|
|
512
513
|
if (!background)
|
|
513
514
|
return indexedColors(saturation, input.appearanceHint);
|
|
514
|
-
const palette = input.palette?.length === 16 ? input.palette.map(
|
|
515
|
+
const palette = input.palette?.length === 16 ? input.palette.map(sourceOf) : undefined;
|
|
515
516
|
const appearance = terminalAppearance(background, foreground);
|
|
516
517
|
const lighter = appearance === "dark";
|
|
517
518
|
const extreme = lighter ? 1 : 0;
|
|
@@ -629,7 +630,7 @@ export function generateSystemThemeColors(input) {
|
|
|
629
630
|
result[token] = "";
|
|
630
631
|
continue;
|
|
631
632
|
}
|
|
632
|
-
text = anchored(
|
|
633
|
+
text = anchored(sourceOf(foreground), FAMILIES.neutral, oklabToOkhslLightness(needed), saturation);
|
|
633
634
|
}
|
|
634
635
|
}
|
|
635
636
|
// Body text keeps at least 4.5:1 on the surfaces it is drawn on, even on relaxed mid-gray backgrounds.
|
|
@@ -641,14 +642,27 @@ export function generateSystemThemeColors(input) {
|
|
|
641
642
|
function okhslOf({ r, g, b }) {
|
|
642
643
|
return colorToOkhsl(rgbColor(r, g, b));
|
|
643
644
|
}
|
|
645
|
+
function sourceOf(color) {
|
|
646
|
+
return {
|
|
647
|
+
...okhslOf(color),
|
|
648
|
+
chroma: colorToOklch(rgbColor(color.r, color.g, color.b)).c,
|
|
649
|
+
};
|
|
650
|
+
}
|
|
644
651
|
/**
|
|
645
652
|
* A source color's hue at another OKHSL lightness. Its saturation applies at its own lightness and falls off
|
|
646
653
|
* toward black and white along the family's saturation curve, never rising above it.
|
|
654
|
+
*
|
|
655
|
+
* OKHSL saturation is relative to the most chroma sRGB allows at a lightness, so the same saturation can mean
|
|
656
|
+
* more chroma elsewhere: Catppuccin Frappe's pink #f4b8e4 (chroma 0.089) would become #eb76d1 (0.180) at the
|
|
657
|
+
* lightness the accent needs. Chroma is therefore also capped at the source's, with the same falloff.
|
|
647
658
|
*/
|
|
648
659
|
function anchored(source, family, lightness, saturation) {
|
|
649
660
|
const anchor = saturationCurve(family, source.l);
|
|
650
661
|
const falloff = anchor > 0 ? Math.min(1, saturationCurve(family, lightness) / anchor) : 1;
|
|
651
|
-
|
|
662
|
+
const color = okhslColor(source.h, source.s * falloff * saturation, lightness);
|
|
663
|
+
const cap = source.chroma * falloff * saturation;
|
|
664
|
+
const { l, c } = colorToOklch(color);
|
|
665
|
+
return c <= cap ? color : colorToRgb(oklchColor(l, cap, source.h));
|
|
652
666
|
}
|
|
653
667
|
/** Move a text color toward white or black until it reaches the WCAG minimum on every surface. */
|
|
654
668
|
function withTextContrast(color, surfaces, lighter) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/theme/theme-controller.ts.
|
|
4
4
|
* Modifications: Source-synchronized controller port: renamed owner class, injected dependency-free
|
|
5
5
|
* settings/runtime ports, remapped private theme helpers to the public-backed A1 theme adapter, and
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 0.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.0.0 (MIT), commit a13d35a742c6ef8462812a28fbe1d8c8b7431c32,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/theme/theme.ts.
|
|
4
4
|
* Modifications: Source-synchronized theme port: retain pinned theme schema, variable/color
|
|
5
5
|
* resolution, built-in and custom loading, terminal detection, and layout defaults while constructing
|
|
@@ -270,10 +270,11 @@
|
|
|
270
270
|
},
|
|
271
271
|
"quietStartup": {
|
|
272
272
|
"label": "Quiet startup",
|
|
273
|
-
"description": "Disable verbose printing at startup",
|
|
273
|
+
"description": "Disable verbose printing at startup (header: keep only the startup header)",
|
|
274
274
|
"opensDialog": false,
|
|
275
275
|
"values": [
|
|
276
276
|
"true",
|
|
277
|
+
"header",
|
|
277
278
|
"false"
|
|
278
279
|
]
|
|
279
280
|
},
|
|
@@ -331,7 +332,7 @@
|
|
|
331
332
|
},
|
|
332
333
|
"tuiMode": {
|
|
333
334
|
"label": "TUI mode",
|
|
334
|
-
"description": "Interface layout;
|
|
335
|
+
"description": "Interface layout; regular mode uses the terminal's normal scrollback",
|
|
335
336
|
"opensDialog": false,
|
|
336
337
|
"values": [
|
|
337
338
|
"regular",
|