instar 1.3.1636 → 1.3.1638

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 (44) hide show
  1. package/dist/core/DesktopHost.d.ts +4 -2
  2. package/dist/core/DesktopHost.d.ts.map +1 -1
  3. package/dist/core/DesktopHost.js.map +1 -1
  4. package/dist/core/DesktopProbeReadiness.d.ts +1 -0
  5. package/dist/core/DesktopProbeReadiness.d.ts.map +1 -1
  6. package/dist/core/DesktopProbeReadiness.js +11 -2
  7. package/dist/core/DesktopProbeReadiness.js.map +1 -1
  8. package/dist/core/HyprlandDesktopHost.d.ts +150 -0
  9. package/dist/core/HyprlandDesktopHost.d.ts.map +1 -0
  10. package/dist/core/HyprlandDesktopHost.js +569 -0
  11. package/dist/core/HyprlandDesktopHost.js.map +1 -0
  12. package/dist/core/LinuxDesktopHost.d.ts +1 -0
  13. package/dist/core/LinuxDesktopHost.d.ts.map +1 -1
  14. package/dist/core/LinuxDesktopHost.js +7 -4
  15. package/dist/core/LinuxDesktopHost.js.map +1 -1
  16. package/dist/core/SessionManager.d.ts +3 -0
  17. package/dist/core/SessionManager.d.ts.map +1 -1
  18. package/dist/core/SessionManager.js +20 -2
  19. package/dist/core/SessionManager.js.map +1 -1
  20. package/dist/core/WaylandVirtualPointer.d.ts +31 -0
  21. package/dist/core/WaylandVirtualPointer.d.ts.map +1 -0
  22. package/dist/core/WaylandVirtualPointer.js +171 -0
  23. package/dist/core/WaylandVirtualPointer.js.map +1 -0
  24. package/dist/data/standards-guard-index.json +1 -1
  25. package/dist/data/standards-guard-index.meta.json +2 -2
  26. package/dist/data/standards-registry.meta.json +1 -1
  27. package/dist/native/InstarWedgeCanary.app/Contents/MacOS/InstarWedgeCanary +0 -0
  28. package/dist/native/instar-desktop-host +0 -0
  29. package/dist/scaffold/templates.d.ts.map +1 -1
  30. package/dist/scaffold/templates.js +1 -1
  31. package/dist/scaffold/templates.js.map +1 -1
  32. package/dist/server/AgentServer.js +4 -4
  33. package/dist/server/AgentServer.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/data/builtin-manifest.json +4 -4
  36. package/src/data/standards-guard-index.json +1 -1
  37. package/src/data/standards-guard-index.meta.json +2 -2
  38. package/src/data/standards-registry.meta.json +1 -1
  39. package/src/scaffold/templates.ts +1 -1
  40. package/upgrades/1.3.1637.md +21 -0
  41. package/upgrades/1.3.1638.md +21 -0
  42. package/upgrades/side-effects/headless-finish-not-start-failure.md +56 -0
  43. package/upgrades/side-effects/hyprland-remote-desktop.eli16.md +39 -0
  44. package/upgrades/side-effects/hyprland-remote-desktop.md +91 -0
@@ -71,12 +71,14 @@ export interface DesktopProbe {
71
71
  helperSource?: 'retained' | 'packaged';
72
72
  helperFallback?: string;
73
73
  helperChange?: DesktopHelperPermissionChange;
74
- /** Native Linux only: the X display it found (null = none, a headless
75
- * server) and whether the screen-capture tool (ImageMagick) is installed. */
74
+ /** Native Linux only: the display it found (null = none, a headless server)
75
+ * and whether its screen tools are installed. `compositor: 'hyprland'` means
76
+ * Hyprland is the desktop here, even if nobody has signed in to it yet. */
76
77
  linux?: {
77
78
  display: string | null;
78
79
  capturer: boolean;
79
80
  wayland?: boolean;
81
+ compositor?: 'hyprland';
80
82
  };
81
83
  /** macOS only, while the locked-screen feature is on. */
82
84
  lockInputs?: import('./DesktopLockState.js').DesktopLockInputs;
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopHost.d.ts","sourceRoot":"","sources":["../../src/core/DesktopHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DesktopHost.d.ts","sourceRoot":"","sources":["../../src/core/DesktopHost.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopHost.js","sourceRoot":"","sources":["../../src/core/DesktopHost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DesktopHost.js","sourceRoot":"","sources":["../../src/core/DesktopHost.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare function desktopProbeUnavailableReason(probe: {
16
16
  display: string | null;
17
17
  capturer: boolean;
18
18
  wayland?: boolean;
19
+ compositor?: 'hyprland';
19
20
  };
20
21
  }): string;
21
22
  //# sourceMappingURL=DesktopProbeReadiness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopProbeReadiness.d.ts","sourceRoot":"","sources":["../../src/core/DesktopProbeReadiness.ts"],"names":[],"mappings":"AAAA;mFACmF;AACnF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAiBjF,uEAAuE;AACvE,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,6BAA6B,CAAC;IAC7C,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1E,GAAG,MAAM,CAkCT"}
1
+ {"version":3,"file":"DesktopProbeReadiness.d.ts","sourceRoot":"","sources":["../../src/core/DesktopProbeReadiness.ts"],"names":[],"mappings":"AAAA;mFACmF;AACnF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAiBjF,uEAAuE;AACvE,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,6BAA6B,CAAC;IAC7C,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;CACnG,GAAG,MAAM,CAkCT"}
@@ -50,10 +50,19 @@ export function desktopProbeUnavailableReason(probe) {
50
50
  }
51
51
  return 'Remote desktop is not ready on this machine.';
52
52
  }
53
- /** Native Linux reads its own X11 session; there are no per-app permissions to grant. */
53
+ /** Native Linux reads its own X11 or Hyprland session; there are no per-app permissions to grant. */
54
54
  function linuxUnavailableReason(probe, linux) {
55
+ if (linux.compositor === 'hyprland') {
56
+ if (!linux.display) {
57
+ return 'Nobody is signed in to the desktop on this computer, so there is no screen to show. Sign in at the machine or turn on automatic sign-in, then tap Retry. The Instar agent is online.';
58
+ }
59
+ if (!linux.capturer) {
60
+ return 'The screen tools are missing on this computer. Install grim and wtype (on Arch or Omarchy: sudo pacman -Sy grim wtype), then tap Retry. The Instar agent is online.';
61
+ }
62
+ return 'The desktop on this computer did not answer, so it may have stopped. Start it again, then tap Retry. The Instar agent is online.';
63
+ }
55
64
  if (linux.wayland) {
56
- return 'This Linux desktop runs Wayland, which does not let other programs see or control the screen. Choose an X11 (Xorg) session at the sign-in screen, then tap Retry. The Instar agent is online.';
65
+ return 'This Linux desktop runs a Wayland session that remote desktop does not support yet (Hyprland is supported). Choose an X11 (Xorg) session at the sign-in screen, then tap Retry. The Instar agent is online.';
57
66
  }
58
67
  if (!linux.display) {
59
68
  return 'This Linux machine has no desktop session for remote desktop to show: no X display is running as the agent’s user. A server needs a virtual desktop (for example TigerVNC or Xvfb) started as that user. The Instar agent is online.';
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopProbeReadiness.js","sourceRoot":"","sources":["../../src/core/DesktopProbeReadiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DesktopProbeReadiness.js","sourceRoot":"","sources":["../../src/core/DesktopProbeReadiness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ import { type DesktopDisplayList, type DesktopHost, type DesktopInput, type DesktopProbe } from './DesktopHost.js';
2
+ import { LinuxDesktopHost, type LinuxDesktopHostOptions, type LinuxRunner } from './LinuxDesktopHost.js';
3
+ import { WaylandVirtualPointer } from './WaylandVirtualPointer.js';
4
+ export declare function shiftedCharacter(key: string): string | null;
5
+ export interface HyprlandSession {
6
+ signature: string;
7
+ waylandDisplay: string;
8
+ runtimeDir: string;
9
+ }
10
+ /** The running Hyprland that belongs to this user, from the lock file it keeps
11
+ * under its runtime folder: a pid line and the Wayland socket's name. */
12
+ export declare function findHyprlandSession(runtimeDir: string, isRunning?: (pid: number) => boolean): HyprlandSession | null;
13
+ interface Area {
14
+ x: number;
15
+ y: number;
16
+ width: number;
17
+ height: number;
18
+ }
19
+ interface Monitor extends Area {
20
+ id: string;
21
+ name: string;
22
+ main: boolean;
23
+ pixelWidth: number;
24
+ pixelHeight: number;
25
+ awake: boolean;
26
+ }
27
+ /** `hyprctl -j monitors`. width/height are real pixels; x, y and the pointer use
28
+ * layout coordinates, which are pixels divided by scale. */
29
+ export declare function parseHyprlandMonitors(text: string): Monitor[];
30
+ export interface HyprlandDesktopHostOptions {
31
+ run?: LinuxRunner;
32
+ runtimeDir?: string;
33
+ env?: NodeJS.ProcessEnv;
34
+ heartbeatMs?: number;
35
+ /** Tests stand in for the compositor's socket. */
36
+ pointerFactory?: (socketPath: string, onLost: () => void) => WaylandVirtualPointer;
37
+ sleep?: (ms: number) => Promise<void>;
38
+ toolExists?: (name: string) => boolean;
39
+ }
40
+ export declare class HyprlandDesktopHost implements DesktopHost {
41
+ private readonly options;
42
+ readonly platform: 'linux';
43
+ private readonly run;
44
+ private readonly baseEnv;
45
+ private readonly runtimeDir;
46
+ private readonly heartbeatMs;
47
+ private readonly sleep;
48
+ private readonly toolExists;
49
+ private session;
50
+ private pointer;
51
+ private selectedDisplayId;
52
+ private indicatorActive;
53
+ private indicatorLost;
54
+ private heartbeat;
55
+ private generation;
56
+ /** Bumps at every Start and Stop. Work that outlives its session compares and gives up. */
57
+ private epoch;
58
+ /** True from the start of startIndicator until Stop: the only time a pointer may exist. */
59
+ private pointerAllowed;
60
+ private pointerConnecting;
61
+ private queue;
62
+ private readonly heldModifiers;
63
+ private readonly heldButtons;
64
+ private scrollRest;
65
+ private readonly timing;
66
+ constructor(options?: HyprlandDesktopHostOptions);
67
+ private currentSession;
68
+ private env;
69
+ private tool;
70
+ private monitors;
71
+ private layout;
72
+ private area;
73
+ probe(): Promise<DesktopProbe>;
74
+ listDisplays(): Promise<DesktopDisplayList>;
75
+ selectDisplay(displayId: string | null): Promise<boolean>;
76
+ captureTiming(): {
77
+ count: number;
78
+ totalMs: number;
79
+ maxMs: number;
80
+ };
81
+ capture(): Promise<Buffer>;
82
+ private cursorPosition;
83
+ cursor(): Promise<{
84
+ x: number;
85
+ y: number;
86
+ }>;
87
+ /** Connected on demand, so a pointer lost to a compositor restart comes back.
88
+ * Refused outside a session, so nothing can reopen it after Stop. Concurrent
89
+ * callers (input and the heartbeat) share one connection. */
90
+ private connectedPointer;
91
+ /** The viewer's 0..1 point, sent as a position within the whole layout. */
92
+ private moveTo;
93
+ /** A display that idled off gives grim nothing. Any pointer movement wakes it. */
94
+ private wakeIfAsleep;
95
+ input(action: DesktopInput): Promise<void>;
96
+ /** Throws when Stop has happened since the action was queued. */
97
+ private check;
98
+ private apply;
99
+ /** Blocks queued input at once, then lets go of anything still held. */
100
+ cancelInput(): void;
101
+ startIndicator(onUnexpectedExit: () => void): Promise<void>;
102
+ stopIndicator(): void;
103
+ private loseIndicator;
104
+ private requireActive;
105
+ }
106
+ /** Native Linux's desktop host: Hyprland when this user has a Hyprland session,
107
+ * and otherwise X11. A login can start or end while the agent runs, so this asks
108
+ * at each probe and only stays put while a viewer is connected.
109
+ * `remoteDesktop.linuxDisplay` means X11, whatever else is running. */
110
+ export declare class LinuxAutoDesktopHost implements DesktopHost {
111
+ private readonly options;
112
+ readonly platform: 'linux';
113
+ private readonly x11;
114
+ private readonly hyprland;
115
+ private readonly runtimeDir;
116
+ private readonly env;
117
+ /** A viewer is connected or connecting: the choice stays put. */
118
+ private connected;
119
+ /** Whichever start is newest; an older one's late failure changes nothing. */
120
+ private startToken;
121
+ private current;
122
+ constructor(options?: LinuxDesktopHostOptions & {
123
+ x11?: LinuxDesktopHost;
124
+ hyprland?: HyprlandDesktopHost;
125
+ runtimeDir?: string;
126
+ hyprctlInstalled?: () => boolean;
127
+ });
128
+ private pick;
129
+ probe(): Promise<DesktopProbe>;
130
+ listDisplays(): Promise<DesktopDisplayList>;
131
+ selectDisplay(displayId: string | null): Promise<boolean>;
132
+ capture(): Promise<Buffer>;
133
+ captureTiming(): {
134
+ count: number;
135
+ totalMs: number;
136
+ maxMs: number;
137
+ };
138
+ cursor(): Promise<{
139
+ x: number;
140
+ y: number;
141
+ }>;
142
+ input(action: DesktopInput): Promise<void | {
143
+ refused: string;
144
+ }>;
145
+ cancelInput(): void;
146
+ startIndicator(onUnexpectedExit: () => void): Promise<void>;
147
+ stopIndicator(): void;
148
+ }
149
+ export {};
150
+ //# sourceMappingURL=HyprlandDesktopHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HyprlandDesktopHost.d.ts","sourceRoot":"","sources":["../../src/core/HyprlandDesktopHost.ts"],"names":[],"mappings":"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"}