@timurproko/a1 0.2.5-dev.698 → 0.2.5
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/dist/app/session-shell/session-shell.js +9 -8
- package/dist/composition/owned-ui.js +2 -0
- package/dist/contracts/presentation/index.d.ts +6 -1
- package/dist/contracts/presentation/index.js +4 -2
- package/dist/features/owned-ui/resources/release-notes.json +4 -0
- package/dist/features/owned-ui/settings-app.d.ts +1 -1
- package/dist/features/owned-ui/settings-app.js +334 -63
- package/dist/integrations/pi/components/models-dialog.js +2 -2
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +40 -2
- package/dist/integrations/pi/components/skills-dialog.js +2 -2
- package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +4 -2
- package/dist/integrations/pi/components/upstream/components/owned-editor.js +48 -12
- package/dist/integrations/pi/components/upstream/components/session-selector.js +14 -14
- package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +5 -4
- package/dist/integrations/pi/components/upstream/components/thinking-selector.js +6 -4
- package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +7 -6
- package/dist/integrations/pi/components/upstream/components/tree-selector.js +24 -18
- 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/ui/components/dialog-panel.d.ts +15 -0
- package/dist/ui/components/dialog-panel.js +50 -3
- package/dist/ui/components/index.d.ts +3 -3
- package/dist/ui/components/index.js +2 -2
- package/dist/ui/components/line-input.d.ts +2 -0
- package/dist/ui/components/line-input.js +2 -2
- package/dist/ui/components/prompt-input.d.ts +2 -2
- package/dist/ui/components/prompt-input.js +5 -5
- package/dist/ui/components/shortcut-hints.d.ts +8 -3
- package/dist/ui/components/shortcut-hints.js +25 -5
- package/dist/ui/components/shortcuts.d.ts +1 -1
- package/dist/ui/components/shortcuts.js +4 -0
- package/dist/ui/components/value-menu.js +3 -1
- package/dist/ui/settings/manager.d.ts +1 -0
- package/dist/ui/settings/manager.js +9 -3
- package/docs/releases/0.2.5.md +35 -0
- package/package.json +1 -1
|
@@ -285,7 +285,7 @@ export class OwnedUiSessionShell {
|
|
|
285
285
|
}),
|
|
286
286
|
...(terminal === undefined ? {} : { terminal: terminal }),
|
|
287
287
|
hardwareCursor: this.backend.view().terminal.hardwareCursor,
|
|
288
|
-
wheelScrollLines: initialPiSettings.fullscreenWheelScrollLines,
|
|
288
|
+
...(this.#customViewport ? {} : { wheelScrollLines: initialPiSettings.fullscreenWheelScrollLines }),
|
|
289
289
|
};
|
|
290
290
|
runtime = new PiTuiRuntimeAdapter(runtimeOptions);
|
|
291
291
|
this.runtime = runtime;
|
|
@@ -470,13 +470,14 @@ export class OwnedUiSessionShell {
|
|
|
470
470
|
if (typeof value !== "boolean")
|
|
471
471
|
throw new TypeError("Fullscreen copy-on-select setting is invalid");
|
|
472
472
|
this.root.setFullscreenCopyOnSelect(value);
|
|
473
|
-
} } } : {
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
473
|
+
} } } : {
|
|
474
|
+
fullscreenWheelScrollLines: { apply: (value) => {
|
|
475
|
+
if (value !== "auto" && (typeof value !== "number" || !Number.isSafeInteger(value) || value < 1 || value > 100)) {
|
|
476
|
+
throw new TypeError("Fullscreen wheel-scroll distance is invalid");
|
|
477
|
+
}
|
|
478
|
+
this.runtime.setWheelScrollLines(value);
|
|
479
|
+
} },
|
|
480
|
+
}),
|
|
480
481
|
});
|
|
481
482
|
if (this.#customViewport && promptHistory !== undefined) {
|
|
482
483
|
this.#promptHistoryImageSidecar = promptHistory.imageSidecar;
|
|
@@ -44,6 +44,8 @@ export async function composeOwnedUi(options = {}) {
|
|
|
44
44
|
configDir: resolveProductPaths().configDir,
|
|
45
45
|
profileId: options.profileId,
|
|
46
46
|
agentProvider: () => adapter.settingsPort(),
|
|
47
|
+
hiddenAgentSettingIds: ["fullscreenWheelScrollLines"],
|
|
48
|
+
agentSettingLabelOverrides: { fullscreenCopyOnSelect: "Copy on select" },
|
|
47
49
|
});
|
|
48
50
|
let releaseNotes = null;
|
|
49
51
|
let releaseNotesFailure;
|
|
@@ -9,6 +9,11 @@ export declare const DIALOG_CLOSE_SHORTCUT_HINT: Readonly<{
|
|
|
9
9
|
key: string;
|
|
10
10
|
action: string;
|
|
11
11
|
}>;
|
|
12
|
+
/** Canonical return guidance for a nested step within a dialog surface. */
|
|
13
|
+
export declare const DIALOG_BACK_SHORTCUT_HINT: Readonly<{
|
|
14
|
+
key: string;
|
|
15
|
+
action: string;
|
|
16
|
+
}>;
|
|
12
17
|
export interface ShortcutHintRoles {
|
|
13
18
|
key(label: string): string;
|
|
14
19
|
action(name: string): string;
|
|
@@ -16,7 +21,7 @@ export interface ShortcutHintRoles {
|
|
|
16
21
|
/** Applies the common display casing to each named key and letter in a shortcut label. */
|
|
17
22
|
export declare function displayShortcutKeyLabel(label: string): string;
|
|
18
23
|
/** Renders the canonical semantic shortcut row independently of either presentation framework. */
|
|
19
|
-
export declare function renderSemanticShortcutHints(entries: readonly SemanticShortcutHint[], roles: ShortcutHintRoles, indent?: number): string;
|
|
24
|
+
export declare function renderSemanticShortcutHints(entries: readonly SemanticShortcutHint[], roles: ShortcutHintRoles, indent?: number, separator?: string): string;
|
|
20
25
|
export interface PresentationComponentPort {
|
|
21
26
|
render(width: number): readonly string[];
|
|
22
27
|
invalidate(): void;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/** Canonical dismissal guidance for every A1-rendered dialog surface. */
|
|
2
2
|
export const DIALOG_CLOSE_SHORTCUT_HINT = Object.freeze({ key: "esc", action: "close" });
|
|
3
|
+
/** Canonical return guidance for a nested step within a dialog surface. */
|
|
4
|
+
export const DIALOG_BACK_SHORTCUT_HINT = Object.freeze({ key: "esc", action: "back" });
|
|
3
5
|
const SHORTCUT_KEY_NAMES = Object.freeze({
|
|
4
6
|
alt: "Alt", backspace: "Backspace", cmd: "Cmd", ctrl: "Ctrl", delete: "Delete", down: "Down", end: "End",
|
|
5
7
|
enter: "Enter", esc: "Esc", escape: "Escape", home: "Home", insert: "Insert", left: "Left", meta: "Meta",
|
|
@@ -18,7 +20,7 @@ export function displayShortcutKeyLabel(label) {
|
|
|
18
20
|
}).join("+")).join("/");
|
|
19
21
|
}
|
|
20
22
|
/** Renders the canonical semantic shortcut row independently of either presentation framework. */
|
|
21
|
-
export function renderSemanticShortcutHints(entries, roles, indent = 0) {
|
|
23
|
+
export function renderSemanticShortcutHints(entries, roles, indent = 0, separator = " ") {
|
|
22
24
|
const rendered = entries.flatMap(entry => {
|
|
23
25
|
if (entry.key === "" || (entry.key !== undefined && entry.key.trim().length === 0))
|
|
24
26
|
return [];
|
|
@@ -28,7 +30,7 @@ export function renderSemanticShortcutHints(entries, roles, indent = 0) {
|
|
|
28
30
|
const action = roles.action(entry.action);
|
|
29
31
|
return [entry.actionFirst ? `${action} ${key}` : `${key} ${action}`];
|
|
30
32
|
});
|
|
31
|
-
return `${" ".repeat(Math.max(0, indent))}${rendered.join(
|
|
33
|
+
return `${" ".repeat(Math.max(0, indent))}${rendered.join(separator)}`;
|
|
32
34
|
}
|
|
33
35
|
export function assertPresentationComponent(component) {
|
|
34
36
|
requiredFunctions(component, ["render", "invalidate"], "presentation component");
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "a1-release-notes-v1",
|
|
3
3
|
"releases": [
|
|
4
|
+
{
|
|
5
|
+
"version": "0.2.5",
|
|
6
|
+
"markdown": "## [0.2.5] - 2026-10-07\n\n### New Features\n\n- show session info full screen ([#680](https://github.com/timurproko/a1/pull/680))\n- redesign session tree dialog ([#682](https://github.com/timurproko/a1/pull/682))\n- add name command input dialog ([#694](https://github.com/timurproko/a1/pull/694))\n\n### Changed\n\n- refine animated separator ([#681](https://github.com/timurproko/a1/pull/681))\n- upgrade pinned Pi to 1.0.4 ([#683](https://github.com/timurproko/a1/pull/683))\n- unify selection treatment ([#686](https://github.com/timurproko/a1/pull/686))\n- align project trust dialogs ([#687](https://github.com/timurproko/a1/pull/687))\n- standardize share dialog ([#689](https://github.com/timurproko/a1/pull/689))\n- align Resume Session dialog ([#693](https://github.com/timurproko/a1/pull/693))\n- unify dialog close hints ([#695](https://github.com/timurproko/a1/pull/695))\n- accent model scope markers ([#696](https://github.com/timurproko/a1/pull/696))\n\n### Fixed\n\n- wrap session file after label ([#684](https://github.com/timurproko/a1/pull/684))\n- align thinking markers with models ([#685](https://github.com/timurproko/a1/pull/685))\n- place new-session notice above prompt ([#688](https://github.com/timurproko/a1/pull/688))\n- close dialogs with Ctrl+C ([#690](https://github.com/timurproko/a1/pull/690))\n- restore suggestion after Backspace ([#691](https://github.com/timurproko/a1/pull/691))\n- cycle dialog filters backward ([#692](https://github.com/timurproko/a1/pull/692))\n- avoid initial value-menu highlight ([#697](https://github.com/timurproko/a1/pull/697))\n- keep session root expanded ([#698](https://github.com/timurproko/a1/pull/698))\n- hide skill prefixes in collapsed menu ([#699](https://github.com/timurproko/a1/pull/699))\n- omit space after command completion ([#700](https://github.com/timurproko/a1/pull/700))\n- stabilize values and add undo ([#701](https://github.com/timurproko/a1/pull/701))\n- standardize typing search hints ([#702](https://github.com/timurproko/a1/pull/702))\n- show tree time toggle state ([#703](https://github.com/timurproko/a1/pull/703))\n- refine resume search hints ([#704](https://github.com/timurproko/a1/pull/704))\n"
|
|
7
|
+
},
|
|
4
8
|
{
|
|
5
9
|
"version": "0.2.4",
|
|
6
10
|
"markdown": "## [0.2.4] - 2026-10-05\n\n### Changed\n\n- upgrade pinned Pi to 1.0.0 ([#658](https://github.com/timurproko/a1/pull/658))\n- upgrade pinned Pi to 1.0.2 ([#669](https://github.com/timurproko/a1/pull/669))\n- add animated mark, section art, and browser preview ([#665](https://github.com/timurproko/a1/pull/665))\n- keep the hero mark still and link only it to the site ([#666](https://github.com/timurproko/a1/pull/666))\n- pick dark-mode art via picture sources ([#668](https://github.com/timurproko/a1/pull/668))\n\n### Fixed\n\n- make self-update upgrades reliable ([#664](https://github.com/timurproko/a1/pull/664))\n- restore the terminal and print a resume hint when a1 is killed ([#667](https://github.com/timurproko/a1/pull/667))\n- align progress with Pi accent ([#671](https://github.com/timurproko/a1/pull/671))\n- support Git URL rewrites ([#673](https://github.com/timurproko/a1/pull/673))\n- support repository relocation ([#675](https://github.com/timurproko/a1/pull/675))\n- prevent bottom control gutter bleed ([#677](https://github.com/timurproko/a1/pull/677))\n"
|
|
@@ -2,7 +2,7 @@ import type { AppHostServices, UiApp } from "../../ui/apps/index.js";
|
|
|
2
2
|
import { ShortcutRegistry, type PaneInputResult, type PaneMouseEvent, type PaneRect } from "../../ui/components/index.js";
|
|
3
3
|
import type { OwnedSettingsManager } from "../../ui/settings/index.js";
|
|
4
4
|
export { SETTINGS_APP_ID, SETTINGS_ROUTE } from "./settings-route.js";
|
|
5
|
-
type Action = "move-up" | "move-down" | "block-up" | "block-down" | "first" | "last" | "page-up" | "page-down" | "previous-value" | "next-value" | "activate" | "open-filter" | "close" | "part-previous" | "part-next" | "part-change";
|
|
5
|
+
type Action = "move-up" | "move-down" | "block-up" | "block-down" | "first" | "last" | "page-up" | "page-down" | "previous-value" | "next-value" | "activate" | "open-filter" | "close" | "undo" | "part-previous" | "part-next" | "part-change";
|
|
6
6
|
export declare const SETTINGS_SHORTCUTS: ShortcutRegistry<Action>;
|
|
7
7
|
/**
|
|
8
8
|
* The settings screen. Rows, sticky headers, scrolling, and the keymap come from
|