@timurproko/a1 0.1.8-dev.137 → 0.1.8-dev.151
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 +2 -4
- package/dist/cli/capabilities.d.ts +2 -11
- package/dist/cli/capabilities.js +1 -1
- package/dist/cli/dispatch.js +3 -6
- package/dist/composition/owned-ui.js +26 -5
- package/dist/composition/settings-route-host.d.ts +1 -1
- package/dist/composition/settings-route-host.js +1 -1
- package/dist/contracts/owned-ui/model.d.ts +28 -0
- package/dist/contracts/owned-ui/validation.js +14 -0
- package/dist/features/launch/development-launch.js +11 -3
- package/dist/features/launch/index.d.ts +0 -1
- package/dist/features/launch/index.js +0 -1
- package/dist/features/launch/intent.d.ts +3 -2
- package/dist/features/launch/intent.js +1 -2
- package/dist/features/launch/prepare-launch.d.ts +0 -2
- package/dist/features/launch/prepare-launch.js +2 -9
- package/dist/features/launch/profile-paths.d.ts +1 -2
- package/dist/features/launch/profile-paths.js +2 -8
- package/dist/features/launch/runtime-selection.d.ts +2 -5
- package/dist/features/owned-ui/settings-app.js +38 -14
- package/dist/foundation/lifecycle/model.d.ts +1 -1
- package/dist/foundation/lifecycle/model.js +1 -1
- package/dist/foundation/release/bootstrap.d.ts +1 -3
- package/dist/foundation/release/bootstrap.js +1 -1
- package/dist/foundation/storage/control-store.js +37 -3
- package/dist/integrations/pi/components/owned-editor-ux.d.ts +55 -0
- package/dist/integrations/pi/components/owned-editor-ux.js +778 -0
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +44 -6
- package/dist/integrations/pi/components/shell-footer-status.d.ts +1 -1
- package/dist/integrations/pi/components/shell-footer-status.js +14 -5
- package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +3 -2
- package/dist/integrations/pi/components/shell-presenters-transcript.js +9 -8
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +41 -7
- package/dist/integrations/pi/components/shell-shared-facade.js +3 -1
- package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +13 -0
- package/dist/integrations/pi/components/submitted-prompt-adapter.js +27 -0
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +10 -2
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +36 -3
- package/dist/integrations/pi/engine/adapter.js +21 -3
- package/dist/integrations/pi/engine/session-integration.d.ts +2 -1
- package/dist/integrations/pi/engine/session-integration.js +17 -3
- package/dist/integrations/pi/session-ui/prompt-chips.d.ts +23 -0
- package/dist/integrations/pi/session-ui/prompt-chips.js +242 -0
- package/dist/integrations/pi/session-ui/route-host.d.ts +5 -0
- package/dist/integrations/pi/{owned-ui → session-ui}/session-shell-root.d.ts +34 -5
- package/dist/integrations/pi/{owned-ui → session-ui}/session-shell-root.js +294 -45
- package/dist/integrations/pi/{owned-ui → session-ui}/session-shell.d.ts +1 -1
- package/dist/integrations/pi/{owned-ui → session-ui}/session-shell.js +167 -24
- package/dist/integrations/pi/session-ui/session-viewport-controller.d.ts +39 -0
- package/dist/integrations/pi/session-ui/session-viewport-controller.js +369 -0
- package/dist/integrations/pi/session-ui/system-clipboard.d.ts +11 -0
- package/dist/integrations/pi/session-ui/system-clipboard.js +101 -0
- package/dist/integrations/pi/tui-runtime/adapter.d.ts +2 -1
- package/dist/integrations/pi/tui-runtime/adapter.js +51 -2
- package/dist/integrations/pi/tui-runtime/contracts.d.ts +4 -6
- 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 +3 -3
- package/dist/native/win32-x64/process-guardian.exe +0 -0
- package/dist/product-identity.d.ts +2 -2
- package/dist/product-identity.js +3 -4
- package/dist/product-identity.json +3 -5
- package/dist/ui/apps/contracts.d.ts +23 -1
- package/dist/ui/apps/host.js +9 -1
- package/dist/ui/components/index.d.ts +3 -0
- package/dist/ui/components/index.js +3 -0
- package/dist/ui/components/mouse.d.ts +10 -0
- package/dist/ui/components/mouse.js +23 -0
- package/dist/ui/components/prompt-row.d.ts +14 -0
- package/dist/ui/components/prompt-row.js +20 -0
- package/dist/ui/components/scrollbar.d.ts +26 -0
- package/dist/ui/components/scrollbar.js +35 -0
- package/dist/ui/components/spans.d.ts +21 -0
- package/dist/ui/components/spans.js +178 -0
- package/dist/ui/components/submitted-prompt.d.ts +23 -0
- package/dist/ui/components/submitted-prompt.js +50 -0
- package/dist/ui/components/text-selection.d.ts +53 -0
- package/dist/ui/components/text-selection.js +168 -0
- package/dist/ui/components/text.d.ts +14 -0
- package/dist/ui/components/text.js +40 -0
- package/dist/ui/components/transcript-viewport.d.ts +104 -0
- package/dist/ui/components/transcript-viewport.js +381 -0
- package/dist/ui/settings/declarations.d.ts +8 -1
- package/dist/ui/settings/declarations.js +33 -5
- package/dist/ui/settings/migrations.d.ts +1 -1
- package/dist/ui/settings/migrations.js +21 -2
- package/dist/ui/settings/sections.js +15 -8
- package/dist/ui/settings/session.d.ts +2 -0
- package/dist/ui/settings/session.js +7 -5
- package/docs/architecture/boundaries.md +3 -3
- package/docs/architecture/project-structure.md +2 -2
- package/docs/architecture/resource-and-data-policy.md +1 -1
- package/docs/architecture/toolchain.md +5 -5
- package/docs/architecture/ui-reference-provenance.md +11 -2
- package/docs/features/launch-profiles.md +7 -14
- package/docs/manual-launch-instance-acceptance.md +12 -35
- package/docs/manual-owned-ui-checkpoint.md +2 -3
- package/docs/manual-pi-boundary-candidate.md +4 -5
- package/package.json +4 -2
- package/dist/features/launch/profiles.d.ts +0 -12
- package/dist/features/launch/profiles.js +0 -26
- package/dist/integrations/pi/owned-ui/route-host.d.ts +0 -29
- /package/dist/integrations/pi/{owned-ui → session-ui}/index.d.ts +0 -0
- /package/dist/integrations/pi/{owned-ui → session-ui}/index.js +0 -0
- /package/dist/integrations/pi/{owned-ui → session-ui}/route-host.js +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type Editor } from "#pi-tui";
|
|
2
|
+
import type { KeybindingsManager } from "./upstream/adjacent/core/keybindings.js";
|
|
3
|
+
import type { PiShellClipboardContent, PiShellEditorTextRange } from "./shell-shared-facade.js";
|
|
4
|
+
/**
|
|
5
|
+
* Middleware boundary around Pi's editor. Interceptors may claim an input or
|
|
6
|
+
* delegate to the next interceptor/vanilla editor, and may decorate the rows
|
|
7
|
+
* vanilla Pi renders. This keeps owned UX additions out of the synchronized
|
|
8
|
+
* Pi editor port and gives future interactions one registration point.
|
|
9
|
+
*/
|
|
10
|
+
export interface OwnedEditorUxInterceptor {
|
|
11
|
+
handleInput(data: string, next: () => void): void;
|
|
12
|
+
render(width: number, next: () => string[]): string[];
|
|
13
|
+
reset(): void;
|
|
14
|
+
handlePointer?(event: OwnedEditorPointerEvent): boolean;
|
|
15
|
+
hasSelection?(): boolean;
|
|
16
|
+
ownsPointer?(): boolean;
|
|
17
|
+
pasteClipboard?(): boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface OwnedEditorPointerEvent {
|
|
20
|
+
readonly kind: "press" | "motion" | "release";
|
|
21
|
+
readonly button: number;
|
|
22
|
+
readonly column: number;
|
|
23
|
+
/** One-based row relative to the top of the editor component. */
|
|
24
|
+
readonly row: number;
|
|
25
|
+
}
|
|
26
|
+
export declare class OwnedEditorUxInterception {
|
|
27
|
+
readonly interceptors: readonly OwnedEditorUxInterceptor[];
|
|
28
|
+
readonly fallback: {
|
|
29
|
+
handleInput(data: string): void;
|
|
30
|
+
render(width: number): string[];
|
|
31
|
+
};
|
|
32
|
+
constructor(interceptors: readonly OwnedEditorUxInterceptor[], fallback: {
|
|
33
|
+
handleInput(data: string): void;
|
|
34
|
+
render(width: number): string[];
|
|
35
|
+
});
|
|
36
|
+
handleInput(data: string): void;
|
|
37
|
+
render(width: number): string[];
|
|
38
|
+
reset(): void;
|
|
39
|
+
handlePointer(event: OwnedEditorPointerEvent): boolean;
|
|
40
|
+
hasSelection(): boolean;
|
|
41
|
+
ownsPointer(): boolean;
|
|
42
|
+
pasteClipboard(): boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface PromptSelectionUxOptions {
|
|
45
|
+
readonly copyText: (text: string) => void;
|
|
46
|
+
readonly readClipboardContent: () => Promise<PiShellClipboardContent | null>;
|
|
47
|
+
readonly transformPastedContent: (content: PiShellClipboardContent) => string;
|
|
48
|
+
readonly atomicRanges: (line: string) => readonly PiShellEditorTextRange[];
|
|
49
|
+
readonly expandCopiedText: (text: string) => string;
|
|
50
|
+
readonly paintSelection: (line: string, from: number, to: number, atomic: boolean) => string;
|
|
51
|
+
readonly decorateRow: (row: string, width: number) => string;
|
|
52
|
+
readonly requestRender: () => void;
|
|
53
|
+
readonly getRows: () => number;
|
|
54
|
+
}
|
|
55
|
+
export declare function createPromptSelectionInterceptor(editor: Editor, keybindings: KeybindingsManager, options: PromptSelectionUxOptions): OwnedEditorUxInterceptor;
|