@elizaos/app-core 2.0.3-beta.6 → 2.0.3-beta.7

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/package.json +37 -36
  2. package/platforms/electrobun/package.json +10 -10
  3. package/platforms/electrobun/remotes/fs/README.md +0 -1
  4. package/platforms/electrobun/remotes/fs/package.json +0 -1
  5. package/platforms/electrobun/remotes/git/README.md +1 -2
  6. package/platforms/electrobun/remotes/git/package.json +0 -1
  7. package/platforms/electrobun/remotes/local-model/README.md +0 -1
  8. package/platforms/electrobun/remotes/local-model/package.json +0 -1
  9. package/platforms/electrobun/remotes/pty/README.md +1 -2
  10. package/platforms/electrobun/remotes/pty/package.json +0 -1
  11. package/platforms/electrobun/remotes/runtime/README.md +1 -5
  12. package/platforms/electrobun/remotes/runtime/package.json +0 -1
  13. package/platforms/electrobun/remotes/surface/README.md +1 -2
  14. package/platforms/electrobun/remotes/surface/package.json +0 -1
  15. package/platforms/electrobun/src/api-base.ts +11 -2
  16. package/platforms/electrobun/src/bridge/electrobun-direct-rpc.ts +15 -1
  17. package/platforms/electrobun/src/index.ts +25 -28
  18. package/platforms/electrobun/src/lifecycle/api-base-owner.test.ts +67 -5
  19. package/platforms/electrobun/src/lifecycle/api-base-owner.ts +36 -6
  20. package/platforms/electrobun/src/native/desktop.ts +1 -1
  21. package/platforms/electrobun/src/onboarding-overlay-window.ts +7 -8
  22. package/platforms/electrobun/src/preload.js +1 -1
  23. package/platforms/electrobun/src/rpc-schema.ts +5 -1
  24. package/runtime/voice-warmup.d.ts.map +1 -1
  25. package/runtime/voice-warmup.js +8 -2
  26. package/scripts/build-image.sh +5 -2
  27. package/scripts/bun-riscv64/build.sh +12 -6
  28. package/scripts/bun-riscv64/run-build.sh +10 -1
  29. package/scripts/dev-platform.mjs +19 -10
  30. package/scripts/ios-xcframework/README.md +15 -9
  31. package/scripts/ios-xcframework/run-physical-device-smoke.mjs +5 -3
  32. package/scripts/playwright-ui-live-stack.ts +32 -8
  33. package/platforms/electrobun/src/desktop-pill-config.test.ts +0 -27
  34. package/platforms/electrobun/src/desktop-pill-config.ts +0 -40
  35. package/platforms/electrobun/src/pill-window.test.ts +0 -91
  36. package/platforms/electrobun/src/pill-window.ts +0 -99
@@ -1,99 +0,0 @@
1
- /**
2
- * Pill overlay window for Electrobun.
3
- *
4
- * Spawns a single borderless, transparent, always-on-top BrowserWindow
5
- * docked to the bottom-center of the user's primary display. The window
6
- * loads the same renderer bundle as the main shell with
7
- * `?shellMode=chat-overlay`, which routes to the live assistant overlay shell.
8
- *
9
- * Lifecycle:
10
- * - Created once at app boot, alongside the main window.
11
- * - Closing the main window does NOT close the pill, and vice versa.
12
- * - Quitting the app closes both (handled by Electrobun's standard
13
- * `exitOnLastWindowClosed` behavior firing when both windows are gone,
14
- * or by the application's quit menu).
15
- *
16
- * This is the persistent chat-overlay pill — created at app boot when
17
- * shouldCreateDesktopPill() returns true (shellMode=chat-overlay). It is the
18
- * live production voice/chat surface the user sees every day, rendering the
19
- * ContinuousChatOverlay (NOT the old standalone VoicePill, which was removed).
20
- */
21
-
22
- import { type BrowserWindow, Screen } from "electrobun/bun";
23
- import { createElectrobunBrowserWindow } from "./electrobun-window-options";
24
- import { logger } from "./logger";
25
-
26
- const PILL_WIDTH = 360;
27
- const PILL_HEIGHT = 280;
28
- const PILL_BOTTOM_MARGIN = 16;
29
-
30
- interface PillWindowFrame {
31
- x: number;
32
- y: number;
33
- width: number;
34
- height: number;
35
- }
36
-
37
- function resolvePillFrame(): PillWindowFrame {
38
- const display = Screen.getPrimaryDisplay();
39
- const workArea = display.workArea;
40
- return {
41
- x: workArea.x + Math.round((workArea.width - PILL_WIDTH) / 2),
42
- y: workArea.y + workArea.height - PILL_HEIGHT - PILL_BOTTOM_MARGIN,
43
- width: PILL_WIDTH,
44
- height: PILL_HEIGHT,
45
- };
46
- }
47
-
48
- export function buildPillRendererUrl(rendererUrl: string): string {
49
- const url = new URL(rendererUrl);
50
- url.search = "?shellMode=chat-overlay";
51
- url.hash = "";
52
- return url.toString();
53
- }
54
-
55
- let pillWindow: BrowserWindow | null = null;
56
-
57
- export function createPillWindow(args: {
58
- rendererUrl: string;
59
- preload: string;
60
- }): BrowserWindow {
61
- if (pillWindow) {
62
- return pillWindow;
63
- }
64
-
65
- const frame = resolvePillFrame();
66
- const url = buildPillRendererUrl(args.rendererUrl);
67
-
68
- const win = createElectrobunBrowserWindow({
69
- title: "Eliza Pill",
70
- url,
71
- preload: args.preload,
72
- frame,
73
- titleBarStyle: "hidden",
74
- transparent: true,
75
- activate: false,
76
- });
77
-
78
- try {
79
- win.setAlwaysOnTop(true);
80
- } catch (err) {
81
- logger.warn(
82
- `[pill-window] setAlwaysOnTop failed: ${err instanceof Error ? err.message : String(err)}`,
83
- );
84
- }
85
-
86
- win.on("close", () => {
87
- pillWindow = null;
88
- });
89
-
90
- pillWindow = win;
91
- logger.info(
92
- `[pill-window] Spawned pill overlay at (${frame.x},${frame.y}) ${frame.width}x${frame.height}`,
93
- );
94
- return win;
95
- }
96
-
97
- export function getPillWindow(): BrowserWindow | null {
98
- return pillWindow;
99
- }