@timurproko/a1 0.2.5-dev.698 → 0.2.5-dev.704

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.
Files changed (36) hide show
  1. package/dist/app/session-shell/session-shell.js +9 -8
  2. package/dist/composition/owned-ui.js +2 -0
  3. package/dist/contracts/presentation/index.d.ts +6 -1
  4. package/dist/contracts/presentation/index.js +4 -2
  5. package/dist/features/owned-ui/settings-app.d.ts +1 -1
  6. package/dist/features/owned-ui/settings-app.js +334 -63
  7. package/dist/integrations/pi/components/models-dialog.js +2 -2
  8. package/dist/integrations/pi/components/shell-editor-autocomplete.js +40 -2
  9. package/dist/integrations/pi/components/skills-dialog.js +2 -2
  10. package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +4 -2
  11. package/dist/integrations/pi/components/upstream/components/owned-editor.js +48 -12
  12. package/dist/integrations/pi/components/upstream/components/session-selector.js +14 -14
  13. package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +5 -4
  14. package/dist/integrations/pi/components/upstream/components/thinking-selector.js +6 -4
  15. package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +7 -6
  16. package/dist/integrations/pi/components/upstream/components/tree-selector.js +24 -18
  17. package/dist/native/darwin-arm64/manifest.json +1 -1
  18. package/dist/native/linux-x64/manifest.json +1 -1
  19. package/dist/native/win32-x64/manifest.json +2 -2
  20. package/dist/native/win32-x64/process-guardian.exe +0 -0
  21. package/dist/ui/components/dialog-panel.d.ts +15 -0
  22. package/dist/ui/components/dialog-panel.js +50 -3
  23. package/dist/ui/components/index.d.ts +3 -3
  24. package/dist/ui/components/index.js +2 -2
  25. package/dist/ui/components/line-input.d.ts +2 -0
  26. package/dist/ui/components/line-input.js +2 -2
  27. package/dist/ui/components/prompt-input.d.ts +2 -2
  28. package/dist/ui/components/prompt-input.js +5 -5
  29. package/dist/ui/components/shortcut-hints.d.ts +8 -3
  30. package/dist/ui/components/shortcut-hints.js +25 -5
  31. package/dist/ui/components/shortcuts.d.ts +1 -1
  32. package/dist/ui/components/shortcuts.js +4 -0
  33. package/dist/ui/components/value-menu.js +3 -1
  34. package/dist/ui/settings/manager.d.ts +1 -0
  35. package/dist/ui/settings/manager.js +9 -3
  36. 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
- 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
- } },
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");
@@ -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