@elizaos/plugin-screenshare 2.0.3-beta.5 → 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 (47) hide show
  1. package/dist/components/ScreenshareSpatialView.d.ts +61 -0
  2. package/dist/components/ScreenshareSpatialView.d.ts.map +1 -0
  3. package/dist/components/ScreenshareSpatialView.js +206 -0
  4. package/dist/components/ScreenshareSpatialView.js.map +1 -0
  5. package/dist/components/ScreenshareView.d.ts +13 -0
  6. package/dist/components/ScreenshareView.d.ts.map +1 -0
  7. package/dist/components/ScreenshareView.js +263 -0
  8. package/dist/components/ScreenshareView.js.map +1 -0
  9. package/dist/index.d.ts +9 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +58 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/register-terminal-view.d.ts +15 -0
  14. package/dist/register-terminal-view.d.ts.map +1 -0
  15. package/dist/register-terminal-view.js +27 -0
  16. package/dist/register-terminal-view.js.map +1 -0
  17. package/dist/routes.d.ts +8 -0
  18. package/dist/routes.d.ts.map +1 -0
  19. package/dist/routes.js +639 -0
  20. package/dist/routes.js.map +1 -0
  21. package/dist/session-store.d.ts +44 -0
  22. package/dist/session-store.d.ts.map +1 -0
  23. package/dist/session-store.js +200 -0
  24. package/dist/session-store.js.map +1 -0
  25. package/dist/ui/ScreenshareOperatorSurface.d.ts +5 -0
  26. package/dist/ui/ScreenshareOperatorSurface.d.ts.map +1 -0
  27. package/dist/ui/ScreenshareOperatorSurface.helpers.d.ts +40 -0
  28. package/dist/ui/ScreenshareOperatorSurface.helpers.d.ts.map +1 -0
  29. package/dist/ui/ScreenshareOperatorSurface.helpers.js +47 -0
  30. package/dist/ui/ScreenshareOperatorSurface.helpers.js.map +1 -0
  31. package/dist/ui/ScreenshareOperatorSurface.interact.d.ts +2 -0
  32. package/dist/ui/ScreenshareOperatorSurface.interact.d.ts.map +1 -0
  33. package/dist/ui/ScreenshareOperatorSurface.interact.js +100 -0
  34. package/dist/ui/ScreenshareOperatorSurface.interact.js.map +1 -0
  35. package/dist/ui/ScreenshareOperatorSurface.js +746 -0
  36. package/dist/ui/ScreenshareOperatorSurface.js.map +1 -0
  37. package/dist/ui/index.d.ts +3 -0
  38. package/dist/ui/index.d.ts.map +1 -0
  39. package/dist/ui/index.js +10 -0
  40. package/dist/ui/index.js.map +1 -0
  41. package/dist/ui/screenshare-view-bundle.d.ts +3 -0
  42. package/dist/ui/screenshare-view-bundle.d.ts.map +1 -0
  43. package/dist/ui/screenshare-view-bundle.js +7 -0
  44. package/dist/ui/screenshare-view-bundle.js.map +1 -0
  45. package/dist/views/bundle.js +507 -0
  46. package/dist/views/bundle.js.map +1 -0
  47. package/package.json +8 -8
package/dist/index.js ADDED
@@ -0,0 +1,58 @@
1
+ import { gatePluginSessionForHostedApp } from "@elizaos/agent/services/app-session-gate";
2
+ import {
3
+ handleAppRoutes,
4
+ prepareLaunch,
5
+ refreshRunSession,
6
+ resolveLaunchSession,
7
+ stopRun
8
+ } from "./routes.js";
9
+ import {
10
+ SCREENSHARE_APP_NAME,
11
+ SCREENSHARE_DISPLAY_NAME
12
+ } from "./session-store.js";
13
+ const rawScreensharePlugin = {
14
+ name: SCREENSHARE_APP_NAME,
15
+ description: "Streams the local desktop and accepts authenticated mouse and keyboard control from the Screen Share app.",
16
+ views: [
17
+ // ONE declaration → GUI + XR + TUI, all drawn from the single
18
+ // ScreenshareView spatial source. `modalities` is a plain literal here
19
+ // (index.ts is not in the view bundle), so no brand-new `@elizaos/core`
20
+ // runtime export reaches the bundle build.
21
+ {
22
+ id: "screenshare",
23
+ label: "Screen Share",
24
+ description: "Remote desktop streaming and operator control surface",
25
+ icon: "Monitor",
26
+ path: "/screenshare",
27
+ modalities: ["gui", "xr", "tui"],
28
+ bundlePath: "dist/views/bundle.js",
29
+ componentExport: "ScreenshareView",
30
+ tags: ["screenshare", "remote", "desktop"],
31
+ visibleInManager: true,
32
+ desktopTabEnabled: true
33
+ }
34
+ ]
35
+ };
36
+ const screensharePlugin = gatePluginSessionForHostedApp(
37
+ rawScreensharePlugin,
38
+ SCREENSHARE_APP_NAME
39
+ );
40
+ var index_default = screensharePlugin;
41
+ export * from "./routes.js";
42
+ export * from "./ui/index.js";
43
+ if (typeof window === "undefined") {
44
+ void import("./register-terminal-view.js").then((m) => m.registerScreenshareTerminalView()).catch(() => {
45
+ });
46
+ }
47
+ export {
48
+ SCREENSHARE_APP_NAME,
49
+ SCREENSHARE_DISPLAY_NAME,
50
+ index_default as default,
51
+ handleAppRoutes,
52
+ prepareLaunch,
53
+ refreshRunSession,
54
+ resolveLaunchSession,
55
+ screensharePlugin,
56
+ stopRun
57
+ };
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { gatePluginSessionForHostedApp } from \"@elizaos/agent/services/app-session-gate\";\nimport type { Plugin } from \"@elizaos/core\";\nimport {\n handleAppRoutes,\n prepareLaunch,\n refreshRunSession,\n resolveLaunchSession,\n stopRun,\n} from \"./routes.js\";\nimport {\n SCREENSHARE_APP_NAME,\n SCREENSHARE_DISPLAY_NAME,\n} from \"./session-store.js\";\n\nconst rawScreensharePlugin: Plugin = {\n name: SCREENSHARE_APP_NAME,\n description:\n \"Streams the local desktop and accepts authenticated mouse and keyboard control from the Screen Share app.\",\n views: [\n // ONE declaration → GUI + XR + TUI, all drawn from the single\n // ScreenshareView spatial source. `modalities` is a plain literal here\n // (index.ts is not in the view bundle), so no brand-new `@elizaos/core`\n // runtime export reaches the bundle build.\n {\n id: \"screenshare\",\n label: \"Screen Share\",\n description: \"Remote desktop streaming and operator control surface\",\n icon: \"Monitor\",\n path: \"/screenshare\",\n modalities: [\"gui\", \"xr\", \"tui\"],\n bundlePath: \"dist/views/bundle.js\",\n componentExport: \"ScreenshareView\",\n tags: [\"screenshare\", \"remote\", \"desktop\"],\n visibleInManager: true,\n desktopTabEnabled: true,\n },\n ],\n};\n\nexport const screensharePlugin = gatePluginSessionForHostedApp(\n rawScreensharePlugin,\n SCREENSHARE_APP_NAME,\n);\n\nexport {\n handleAppRoutes,\n prepareLaunch,\n refreshRunSession,\n resolveLaunchSession,\n SCREENSHARE_APP_NAME,\n SCREENSHARE_DISPLAY_NAME,\n stopRun,\n};\n\nexport default screensharePlugin;\nexport * from \"./routes.js\";\nexport * from \"./ui/index.js\";\n\n// In a terminal host (the Node agent, no DOM), register the screen-share view\n// so it renders inline in the terminal. Lazy + DOM-guarded so the terminal\n// engine stays out of browser/mobile bundles.\nif (typeof window === \"undefined\") {\n void import(\"./register-terminal-view.js\")\n .then((m) => m.registerScreenshareTerminalView())\n .catch(() => {\n // Terminal rendering is best-effort; never block plugin load.\n });\n}\n"],"mappings":"AAAA,SAAS,qCAAqC;AAE9C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,MAAM,uBAA+B;AAAA,EACnC,MAAM;AAAA,EACN,aACE;AAAA,EACF,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL;AAAA,MACE,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,YAAY,CAAC,OAAO,MAAM,KAAK;AAAA,MAC/B,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,MAAM,CAAC,eAAe,UAAU,SAAS;AAAA,MACzC,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,IACrB;AAAA,EACF;AACF;AAEO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AACF;AAYA,IAAO,gBAAQ;AACf,cAAc;AACd,cAAc;AAKd,IAAI,OAAO,WAAW,aAAa;AACjC,OAAK,OAAO,6BAA6B,EACtC,KAAK,CAAC,MAAM,EAAE,gCAAgC,CAAC,EAC/C,MAAM,MAAM;AAAA,EAEb,CAAC;AACL;","names":[]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Register the screen-share view for terminal rendering.
3
+ *
4
+ * The agent terminal mounts plugin views by id from the `@elizaos/tui` terminal
5
+ * registry. This makes the screen-share `viewType: "tui"` declaration render for
6
+ * real in the terminal (the unified {@link ScreenshareSpatialView}) rather than
7
+ * only navigating a GUI shell. A module-level snapshot lets a host push live
8
+ * session + capability data; with no session it defaults to an idle dashboard.
9
+ */
10
+ import { type ScreenshareSnapshot } from "./components/ScreenshareSpatialView.tsx";
11
+ /** Update the snapshot the registered terminal view renders from. */
12
+ export declare function setScreenshareTerminalSnapshot(next: ScreenshareSnapshot): void;
13
+ /** Register the screen-share terminal view; returns an unregister function. */
14
+ export declare function registerScreenshareTerminalView(): () => void;
15
+ //# sourceMappingURL=register-terminal-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-terminal-view.d.ts","sourceRoot":"","sources":["../src/register-terminal-view.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,yCAAyC,CAAC;AAWjD,qEAAqE;AACrE,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,mBAAmB,GACxB,IAAI,CAEN;AAED,+EAA+E;AAC/E,wBAAgB,+BAA+B,IAAI,MAAM,IAAI,CAI5D"}
@@ -0,0 +1,27 @@
1
+ import { registerSpatialTerminalView } from "@elizaos/ui/spatial/tui";
2
+ import { createElement } from "react";
3
+ import {
4
+ ScreenshareSpatialView
5
+ } from "./components/ScreenshareSpatialView.js";
6
+ const EMPTY = {
7
+ platform: "desktop",
8
+ session: null,
9
+ capabilities: [],
10
+ host: null,
11
+ remote: null
12
+ };
13
+ let current = EMPTY;
14
+ function setScreenshareTerminalSnapshot(next) {
15
+ current = next;
16
+ }
17
+ function registerScreenshareTerminalView() {
18
+ return registerSpatialTerminalView(
19
+ "screenshare",
20
+ () => createElement(ScreenshareSpatialView, { snapshot: current })
21
+ );
22
+ }
23
+ export {
24
+ registerScreenshareTerminalView,
25
+ setScreenshareTerminalSnapshot
26
+ };
27
+ //# sourceMappingURL=register-terminal-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/register-terminal-view.tsx"],"sourcesContent":["/**\n * Register the screen-share view for terminal rendering.\n *\n * The agent terminal mounts plugin views by id from the `@elizaos/tui` terminal\n * registry. This makes the screen-share `viewType: \"tui\"` declaration render for\n * real in the terminal (the unified {@link ScreenshareSpatialView}) rather than\n * only navigating a GUI shell. A module-level snapshot lets a host push live\n * session + capability data; with no session it defaults to an idle dashboard.\n */\n\nimport { registerSpatialTerminalView } from \"@elizaos/ui/spatial/tui\";\nimport { createElement } from \"react\";\nimport {\n type ScreenshareSnapshot,\n ScreenshareSpatialView,\n} from \"./components/ScreenshareSpatialView.js\";\n\nconst EMPTY: ScreenshareSnapshot = {\n platform: \"desktop\",\n session: null,\n capabilities: [],\n host: null,\n remote: null,\n};\nlet current: ScreenshareSnapshot = EMPTY;\n\n/** Update the snapshot the registered terminal view renders from. */\nexport function setScreenshareTerminalSnapshot(\n next: ScreenshareSnapshot,\n): void {\n current = next;\n}\n\n/** Register the screen-share terminal view; returns an unregister function. */\nexport function registerScreenshareTerminalView(): () => void {\n return registerSpatialTerminalView(\"screenshare\", () =>\n createElement(ScreenshareSpatialView, { snapshot: current }),\n );\n}\n"],"mappings":"AAUA,SAAS,mCAAmC;AAC5C,SAAS,qBAAqB;AAC9B;AAAA,EAEE;AAAA,OACK;AAEP,MAAM,QAA6B;AAAA,EACjC,UAAU;AAAA,EACV,SAAS;AAAA,EACT,cAAc,CAAC;AAAA,EACf,MAAM;AAAA,EACN,QAAQ;AACV;AACA,IAAI,UAA+B;AAG5B,SAAS,+BACd,MACM;AACN,YAAU;AACZ;AAGO,SAAS,kCAA8C;AAC5D,SAAO;AAAA,IAA4B;AAAA,IAAe,MAChD,cAAc,wBAAwB,EAAE,UAAU,QAAQ,CAAC;AAAA,EAC7D;AACF;","names":[]}
@@ -0,0 +1,8 @@
1
+ import type { AppPackageRouteContext as RouteContext } from "@elizaos/core";
2
+ import type { AppLaunchPreparation, AppLaunchSessionContext, AppRunSessionContext, AppSessionState } from "@elizaos/shared";
3
+ export declare function prepareLaunch(_ctx: AppLaunchSessionContext): Promise<AppLaunchPreparation>;
4
+ export declare function resolveLaunchSession(_ctx: AppLaunchSessionContext): Promise<AppSessionState>;
5
+ export declare function refreshRunSession(ctx: AppRunSessionContext): Promise<AppSessionState | null>;
6
+ export declare function stopRun(ctx: AppRunSessionContext): Promise<void>;
7
+ export declare function handleAppRoutes(ctx: RouteContext): Promise<boolean>;
8
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AAa5E,OAAO,KAAK,EAEV,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAuEzB,wBAAsB,aAAa,CACjC,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAY/B;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAUjC;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKtE;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAyKzE"}