@glassly/miniapp 0.3.4-dev.704 → 0.3.5-dev.705

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 CHANGED
@@ -198,6 +198,7 @@ All event subscribers return an `UnsubscribeFn`. Subscriptions are ref-counted:
198
198
  | `session.ui` | `isOpen()`, `onOpen(handler)`, `onClose(handler)`, `send(channel, payload)`, `on(channel, handler)`, `handle(channel, handler)`; background-side message bus to the bound WebView; see [Wire protocol](#wire-protocol) and [`sdk/docs/two-layer.md`](../../../sdk/docs/two-layer.md) |
199
199
  | `session.miniapps` | `list(opts?)`, `start(packageName)`, `stop(packageName)`, `stopSelf()`; inter-miniapp lifecycle and discovery, needs `MANAGE_MINIAPPS` except `stopSelf()`; entries carry `system: true` for host built-in pages and dashboard miniapps |
200
200
  | `session.actions` | `list()`, `invoke(packageName, actionId, params?, opts?)`, `handle(actionId, handler)`; inter-miniapp action layer (MCP-tool-shaped); `list`/`invoke` open to all, gated per-action by the target's declared `visibility` |
201
+ | `session.widgets` | `provide(widgetId, hooks)` serves a manifest-declared dashboard widget (`onBox`, `onEvent`; the handle's `update(elements)` pushes a box-local frame); `list()`, `place(packageName, widgetId, box)`, `unplace(packageName, widgetId)`, `send(packageName, widgetId, event)`, `onFrame(listener)` host other miniapps' widgets, needs `HOST_WIDGETS`; a placed provider runs in widget mode (no switcher card, no frame of its own, no touch input) |
201
202
 
202
203
  `session.events` is internal. It exposes `subscribe(rawStreamType, handler)` only as a forward-compat escape hatch for new event types not yet wrapped on a domain module; prefer the typed module surface.
203
204
 
package/dist/index.d.ts CHANGED
@@ -44,9 +44,11 @@ export type { RestreamDestination, StartStreamOptions, StreamAudioConfig, Stream
44
44
  export type { ShareOptions, ShareResult, DownloadOptions, DownloadResult, ScanQrOptions, ScanQrResult, WebLoginOptions, WebLoginResult, DisplayDiagnostic, DisplayDiagnosticsResult, } from "./modules/system";
45
45
  export type { MiniappInfo, MiniappActionInfo, MiniappCompatibility, ListMiniappsOptions } from "./modules/miniapps";
46
46
  export type { ActionContext, ActionDescriptor, ActionHandler, InvokeOptions } from "./modules/actions";
47
+ export type { WidgetSize, WidgetBox, WidgetEvent, WidgetEventResult, WidgetProviderHooks, WidgetHandle, WidgetInfo, WidgetFrame, SendOptions as WidgetSendOptions, } from "./modules/widgets";
47
48
  export type { DisplayManager } from "./modules/display";
48
49
  export type { MiniappsModule } from "./modules/miniapps";
49
50
  export type { ActionsModule } from "./modules/actions";
51
+ export type { WidgetsModule } from "./modules/widgets";
50
52
  export type { GlassesModule } from "./modules/glasses";
51
53
  export type { AiModule, AiProvider, AiTier, AiTool, AiToolCall, AiToolResult, AiMessage, AiCompleteRequest, AiCompleteResult, AiStopReason, AiUsage, } from "./modules/ai";
52
54
  export type { ImuModule } from "./modules/imu";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,WAAW,CAAA;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAC,qBAAqB,EAAC,MAAM,mCAAmC,CAAA;AACvE,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAC,gBAAgB,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAA;AAEhE,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAC,MAAM,YAAY,CAAA;AAC1E,YAAY,EAAC,eAAe,EAAC,MAAM,YAAY,CAAA;AAE/C,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAA;AACxC,YAAY,EAAC,WAAW,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,qBAAqB,EAAC,MAAM,WAAW,CAAA;AAE7G,OAAO,EAAC,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAC,MAAM,YAAY,CAAA;AACvG,OAAO,EAAC,mBAAmB,EAAC,MAAM,iBAAiB,CAAA;AAInD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAC,YAAY,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAA;AAC5E,YAAY,EACV,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AAMxB,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAC,MAAM,YAAY,CAAA;AACjE,YAAY,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAA;AAChD,YAAY,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,0BAA0B,CAAA;AAC7D,YAAY,EAAC,2BAA2B,EAAC,MAAM,0BAA0B,CAAA;AACzE,OAAO,EAAC,aAAa,EAAE,yBAAyB,EAAC,MAAM,kBAAkB,CAAA;AACzE,YAAY,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAA;AAC1D,YAAY,EAAC,SAAS,EAAE,0BAA0B,EAAE,uBAAuB,EAAC,MAAM,mBAAmB,CAAA;AAGrG,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACX,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,OAAO,EACP,QAAQ,GACT,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAC,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAA;AAChH,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAC,mBAAmB,EAAE,8BAA8B,EAAE,yBAAyB,EAAC,MAAM,mBAAmB,CAAA;AAChH,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAC,aAAa,EAAE,yBAAyB,EAAC,MAAM,qBAAqB,CAAA;AACjF,YAAY,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAChD,YAAY,EAAC,QAAQ,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAA;AAC9D,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAC,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAA;AACjH,YAAY,EAAC,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAA;AACpG,YAAY,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,IAAI,iBAAiB,GACjC,MAAM,mBAAmB,CAAA;AAI1B,YAAY,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAA;AACtD,YAAY,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AACpD,YAAY,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AACpD,YAAY,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AACpD,YAAY,EACV,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,UAAU,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,OAAO,GACR,MAAM,cAAc,CAAA;AACrB,YAAY,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAC,WAAW,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AACpE,YAAY,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAC9D,YAAY,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAA;AACtD,YAAY,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,aAAa,GACd,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAA;AACtD,YAAY,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AAC5C,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,KAAK,EACL,UAAU,EACV,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,UAAU,GACX,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,uBAAuB,CAAA;AAClF,YAAY,EAAC,WAAW,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AACnH,YAAY,EAAC,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAC,MAAM,oBAAoB,CAAA;AACzF,YAAY,EAAC,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,yBAAyB,CAAA;AAC3G,YAAY,EAAC,iBAAiB,EAAE,2BAA2B,EAAC,MAAM,uBAAuB,CAAA;AACzF,YAAY,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAGpD,YAAY,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,WAAW,CAAA;AAE/D,YAAY,EAAC,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAA;AACjG,YAAY,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAClD,YAAY,EAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAA"}
@@ -1,5 +1,8 @@
1
- export declare const MANIFEST_PERMISSION_TYPES: readonly ["MICROPHONE", "CAMERA", "CALENDAR", "LOCATION", "BACKGROUND_LOCATION", "READ_NOTIFICATIONS", "DISPLAY_MIRROR", "POST_NOTIFICATIONS", "API_KEYS", "MEMORY", "AI", "SPEAKERS", "MANAGE_MINIAPPS", "PLATFORM_SETTINGS"];
1
+ export declare const MANIFEST_PERMISSION_TYPES: readonly ["MICROPHONE", "CAMERA", "CALENDAR", "LOCATION", "BACKGROUND_LOCATION", "READ_NOTIFICATIONS", "DISPLAY_MIRROR", "POST_NOTIFICATIONS", "API_KEYS", "MEMORY", "AI", "SPEAKERS", "MANAGE_MINIAPPS", "PLATFORM_SETTINGS", "HOST_WIDGETS"];
2
2
  export type ManifestPermissionType = (typeof MANIFEST_PERMISSION_TYPES)[number];
3
+ /** The sizes a manifest widget may offer, smallest first. */
4
+ export declare const MANIFEST_WIDGET_SIZES: readonly ["XS", "SM", "MD", "LG"];
5
+ export type ManifestWidgetSize = (typeof MANIFEST_WIDGET_SIZES)[number];
3
6
  /** Every hardware type an author may declare. EXIST is implied by the host. */
4
7
  export declare const MANIFEST_HARDWARE_TYPES: readonly ["CAMERA", "DISPLAY", "MICROPHONE", "SPEAKER", "IMU", "BUTTON", "LIGHT", "WIFI"];
5
8
  export type ManifestHardwareType = (typeof MANIFEST_HARDWARE_TYPES)[number];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,yBAAyB,gOAe5B,CAAA;AAEV,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/E,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,2FAA4F,CAAA;AAEhI,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3E,eAAO,MAAM,wBAAwB,mCAAoC,CAAA;AAEzE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAA"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,yBAAyB,gPAgB5B,CAAA;AAEV,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE/E,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,mCAAoC,CAAA;AAEtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvE,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB,2FAA4F,CAAA;AAEhI,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3E,eAAO,MAAM,wBAAwB,mCAAoC,CAAA;AAEzE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAA"}
package/dist/manifest.js CHANGED
@@ -13,7 +13,10 @@ export const MANIFEST_PERMISSION_TYPES = [
13
13
  "SPEAKERS",
14
14
  "MANAGE_MINIAPPS",
15
15
  "PLATFORM_SETTINGS",
16
+ "HOST_WIDGETS",
16
17
  ];
18
+ /** The sizes a manifest widget may offer, smallest first. */
19
+ export const MANIFEST_WIDGET_SIZES = ["XS", "SM", "MD", "LG"];
17
20
  /** Every hardware type an author may declare. EXIST is implied by the host. */
18
21
  export const MANIFEST_HARDWARE_TYPES = ["CAMERA", "DISPLAY", "MICROPHONE", "SPEAKER", "IMU", "BUTTON", "LIGHT", "WIFI"];
19
22
  export const MANIFEST_HARDWARE_LEVELS = ["REQUIRED", "OPTIONAL"];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,UAAU;IACV,qBAAqB;IACrB,oBAAoB;IACpB,gBAAgB;IAChB,oBAAoB;IACpB,UAAU;IACV,QAAQ;IACR,IAAI;IACJ,UAAU;IACV,iBAAiB;IACjB,mBAAmB;CACX,CAAA;AAIV,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAU,CAAA;AAIhI,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,UAAU,CAAU,CAAA;AAOzE,MAAM,sBAAsB,GAAqE,IAAI,CAAA;AACrG,MAAM,uBAAuB,GAAgE,IAAI,CAAA;AACjG,KAAK,sBAAsB,CAAA;AAC3B,KAAK,uBAAuB,CAAA"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,UAAU;IACV,qBAAqB;IACrB,oBAAoB;IACpB,gBAAgB;IAChB,oBAAoB;IACpB,UAAU;IACV,QAAQ;IACR,IAAI;IACJ,UAAU;IACV,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;CACN,CAAA;AAIV,6DAA6D;AAC7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAA;AAItE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAU,CAAA;AAIhI,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,UAAU,CAAU,CAAA;AAOzE,MAAM,sBAAsB,GAAqE,IAAI,CAAA;AACrG,MAAM,uBAAuB,GAAgE,IAAI,CAAA;AACjG,KAAK,sBAAsB,CAAA;AAC3B,KAAK,uBAAuB,CAAA"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * @fileoverview WidgetsModule — `session.widgets`.
3
+ *
4
+ * Both ends of a dashboard widget:
5
+ * - Provider: `provide(id, hooks)` serves a widget declared in `miniapp.json`.
6
+ * The host hands it a box; the provider pushes a frame for that box with
7
+ * `update()` whenever its state changes and answers the wearer's input
8
+ * through `onEvent`. A provider runs in widget mode while a host has its
9
+ * widget placed: no card in the app switcher, no frame of its own on the
10
+ * glasses, no touch input of its own.
11
+ * - Host (HOST_WIDGETS): `list()` the declared widgets, `place()` one in a
12
+ * box, hear its frames through `onFrame()`, forward input with `send()`
13
+ * and `unplace()` it. A provider with nothing placed stops.
14
+ *
15
+ * The host routes every call; a provider never learns which app hosts it and
16
+ * a host never starts a provider by name.
17
+ */
18
+ import type { RenderElement } from "./display";
19
+ import { MiniappSession } from "../session";
20
+ export type WidgetSize = "XS" | "SM" | "MD" | "LG";
21
+ /** The box a widget draws into: its size name and its pixel extent. Frames use box-local coordinates. */
22
+ export interface WidgetBox {
23
+ size: WidgetSize;
24
+ width: number;
25
+ height: number;
26
+ }
27
+ /** The wearer's input, forwarded by the host while the widget is focused. */
28
+ export type WidgetEvent =
29
+ /** Focus entered the widget from one side: select the stop nearest that side. */
30
+ {
31
+ type: "focus";
32
+ from: "left" | "right";
33
+ }
34
+ /** A swipe while focused; answer `{exit}` to hand focus back past that side. */
35
+ | {
36
+ type: "swipe";
37
+ direction: "left" | "right" | "up" | "down";
38
+ }
39
+ /** A tap on the focused stop. */
40
+ | {
41
+ type: "tap";
42
+ }
43
+ /** Focus left the widget. */
44
+ | {
45
+ type: "blur";
46
+ }
47
+ /** The host is about to show the widget: refresh what it draws, then return. */
48
+ | {
49
+ type: "beforeShow";
50
+ };
51
+ /** A provider's answer to an event; nothing means handled. */
52
+ export type WidgetEventResult = {
53
+ exit: "left" | "right";
54
+ } | {
55
+ handled?: boolean;
56
+ } | void;
57
+ export interface WidgetProviderHooks {
58
+ /** The widget was placed in this box, resized, or taken off (null). */
59
+ onBox?: (box: WidgetBox | null) => void;
60
+ /** Input while focused, and the before-show refresh. May be async; the host waits a few seconds at most. */
61
+ onEvent?: (event: WidgetEvent) => WidgetEventResult | Promise<WidgetEventResult>;
62
+ }
63
+ export interface WidgetHandle {
64
+ readonly id: string;
65
+ /** The box the host assigned, or null while unplaced. */
66
+ readonly box: WidgetBox | null;
67
+ /** Push the frame for the current box. Coalesced by the host; drawn while the dashboard shows. */
68
+ update(elements: RenderElement[]): void;
69
+ /** Stop serving the widget. Calls still arrive until the host unplaces it. */
70
+ release(): void;
71
+ }
72
+ /** One declared widget, as a host lists it. */
73
+ export interface WidgetInfo {
74
+ packageName: string;
75
+ appName: string;
76
+ id: string;
77
+ name: string;
78
+ sizes: WidgetSize[];
79
+ defaultSize: WidgetSize;
80
+ /** The provider's background context is up (in widget mode or opened by the wearer). */
81
+ running: boolean;
82
+ /** The provider can run on the connected glasses. */
83
+ compatible: boolean;
84
+ }
85
+ export interface WidgetFrame {
86
+ packageName: string;
87
+ widgetId: string;
88
+ elements: RenderElement[];
89
+ }
90
+ export interface SendOptions {
91
+ /** How long to wait for the provider's answer (default 5 s, host-floored so a waking provider can register). */
92
+ timeoutMs?: number;
93
+ }
94
+ declare class Handle implements WidgetHandle {
95
+ readonly id: string;
96
+ readonly hooks: WidgetProviderHooks;
97
+ private readonly module;
98
+ box: WidgetBox | null;
99
+ constructor(id: string, hooks: WidgetProviderHooks, module: WidgetsModule);
100
+ update(elements: RenderElement[]): void;
101
+ release(): void;
102
+ }
103
+ export declare class WidgetsModule {
104
+ private readonly session;
105
+ private readonly handles;
106
+ private readonly buffered;
107
+ private readonly frameListeners;
108
+ constructor(session: MiniappSession);
109
+ /**
110
+ * Serve one of this miniapp's declared widgets. One handle per id; throws
111
+ * on a second `provide` for the same id. An id the manifest does not
112
+ * declare registers too, but the host never routes to it.
113
+ */
114
+ provide(widgetId: string, hooks?: WidgetProviderHooks): WidgetHandle;
115
+ /** @internal */
116
+ _update(widgetId: string, elements: RenderElement[]): void;
117
+ /** @internal */
118
+ _release(widgetId: string, handle: Handle): void;
119
+ /**
120
+ * @internal — called by MiniappSession.handleIncoming on a WIDGET_CALL.
121
+ * Routes to the widget's hooks, or waits briefly for `provide`.
122
+ */
123
+ _deliverCall(callId: string, widgetId: string, kind: "box" | "event", box: WidgetBox | null, event: WidgetEvent | null): void;
124
+ private dispatch;
125
+ private reply;
126
+ /** True iff `HOST_WIDGETS` is declared in the miniapp's manifest. */
127
+ get hasPermission(): boolean;
128
+ /** Every widget the installed miniapps declare, this miniapp's own excluded. */
129
+ list(): Promise<WidgetInfo[]>;
130
+ /**
131
+ * Place a widget in a box. Starts the provider in widget mode when it is
132
+ * not running, hands it the box, and resolves with the provider's last
133
+ * frame for the widget, or null when it has not drawn yet. Placing again
134
+ * with a new box resizes.
135
+ */
136
+ place(packageName: string, widgetId: string, box: WidgetBox): Promise<RenderElement[] | null>;
137
+ /** Take a widget off. A provider with none of its widgets placed stops. */
138
+ unplace(packageName: string, widgetId: string): Promise<void>;
139
+ /** Forward input to a placed widget and wait for its answer. */
140
+ send(packageName: string, widgetId: string, event: WidgetEvent, opts?: SendOptions): Promise<WidgetEventResult>;
141
+ /** Frames pushed by providers of the widgets this miniapp placed. */
142
+ onFrame(listener: (frame: WidgetFrame) => void): () => void;
143
+ /** @internal — called by MiniappSession.handleIncoming on a WIDGET_FRAME. */
144
+ _deliverFrame(frame: WidgetFrame): void;
145
+ }
146
+ export {};
147
+ //# sourceMappingURL=widgets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../../src/modules/widgets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * @fileoverview WidgetsModule — `session.widgets`.
3
+ *
4
+ * Both ends of a dashboard widget:
5
+ * - Provider: `provide(id, hooks)` serves a widget declared in `miniapp.json`.
6
+ * The host hands it a box; the provider pushes a frame for that box with
7
+ * `update()` whenever its state changes and answers the wearer's input
8
+ * through `onEvent`. A provider runs in widget mode while a host has its
9
+ * widget placed: no card in the app switcher, no frame of its own on the
10
+ * glasses, no touch input of its own.
11
+ * - Host (HOST_WIDGETS): `list()` the declared widgets, `place()` one in a
12
+ * box, hear its frames through `onFrame()`, forward input with `send()`
13
+ * and `unplace()` it. A provider with nothing placed stops.
14
+ *
15
+ * The host routes every call; a provider never learns which app hosts it and
16
+ * a host never starts a provider by name.
17
+ */
18
+ import { MiniappErrorCode, MiniappRequestType } from "../protocol";
19
+ /**
20
+ * A just-woken provider registers its widget a beat after CONNECT; calls that
21
+ * arrive first wait this long for `provide` before failing. Mirrors actions.
22
+ */
23
+ const PROVIDER_WAIT_MS = 5000;
24
+ const widgetKey = (packageName, widgetId) => `${packageName}/${widgetId}`;
25
+ class Handle {
26
+ constructor(id, hooks, module) {
27
+ this.id = id;
28
+ this.hooks = hooks;
29
+ this.module = module;
30
+ this.box = null;
31
+ }
32
+ update(elements) {
33
+ this.module._update(this.id, elements);
34
+ }
35
+ release() {
36
+ this.module._release(this.id, this);
37
+ }
38
+ }
39
+ export class WidgetsModule {
40
+ constructor(session) {
41
+ this.session = session;
42
+ this.handles = new Map();
43
+ this.buffered = new Map();
44
+ this.frameListeners = new Set();
45
+ }
46
+ // --- provider ---------------------------------------------------------------
47
+ /**
48
+ * Serve one of this miniapp's declared widgets. One handle per id; throws
49
+ * on a second `provide` for the same id. An id the manifest does not
50
+ * declare registers too, but the host never routes to it.
51
+ */
52
+ provide(widgetId, hooks = {}) {
53
+ if (this.handles.has(widgetId)) {
54
+ throw new Error(`session.widgets.provide: widget "${widgetId}" is already provided`);
55
+ }
56
+ const handle = new Handle(widgetId, hooks, this);
57
+ this.handles.set(widgetId, handle);
58
+ const waiting = this.buffered.get(widgetId);
59
+ if (waiting) {
60
+ this.buffered.delete(widgetId);
61
+ for (const call of waiting) {
62
+ clearTimeout(call.timer);
63
+ void this.dispatch(handle, call.callId, call.kind, call.box, call.event);
64
+ }
65
+ }
66
+ return handle;
67
+ }
68
+ /** @internal */
69
+ _update(widgetId, elements) {
70
+ this.session.sendOneShot({ type: MiniappRequestType.WIDGET_UPDATE, widgetId, elements });
71
+ }
72
+ /** @internal */
73
+ _release(widgetId, handle) {
74
+ if (this.handles.get(widgetId) === handle)
75
+ this.handles.delete(widgetId);
76
+ }
77
+ /**
78
+ * @internal — called by MiniappSession.handleIncoming on a WIDGET_CALL.
79
+ * Routes to the widget's hooks, or waits briefly for `provide`.
80
+ */
81
+ _deliverCall(callId, widgetId, kind, box, event) {
82
+ const handle = this.handles.get(widgetId);
83
+ if (handle) {
84
+ void this.dispatch(handle, callId, kind, box, event);
85
+ return;
86
+ }
87
+ const timer = setTimeout(() => {
88
+ const list = this.buffered.get(widgetId);
89
+ if (!list)
90
+ return;
91
+ const index = list.findIndex((call) => call.callId === callId);
92
+ if (index === -1)
93
+ return;
94
+ list.splice(index, 1);
95
+ if (list.length === 0)
96
+ this.buffered.delete(widgetId);
97
+ this.reply(callId, false, undefined, {
98
+ code: MiniappErrorCode.WIDGET_NOT_FOUND,
99
+ message: `no provider registered for widget "${widgetId}" within ${PROVIDER_WAIT_MS}ms`,
100
+ });
101
+ }, PROVIDER_WAIT_MS);
102
+ const list = this.buffered.get(widgetId) ?? [];
103
+ list.push({ callId, kind, box, event, timer });
104
+ this.buffered.set(widgetId, list);
105
+ }
106
+ async dispatch(handle, callId, kind, box, event) {
107
+ try {
108
+ if (kind === "box") {
109
+ handle.box = box;
110
+ handle.hooks.onBox?.(box);
111
+ this.reply(callId, true, null);
112
+ return;
113
+ }
114
+ const result = event && handle.hooks.onEvent ? await handle.hooks.onEvent(event) : undefined;
115
+ this.reply(callId, true, result ?? null);
116
+ }
117
+ catch (err) {
118
+ const message = err instanceof Error ? err.message : String(err);
119
+ this.reply(callId, false, undefined, { code: MiniappErrorCode.INTERNAL, message });
120
+ }
121
+ }
122
+ reply(callId, ok, result, error) {
123
+ this.session.sendOneShot({
124
+ type: MiniappRequestType.WIDGET_RESULT,
125
+ callId,
126
+ ok,
127
+ ...(ok ? { result: result ?? null } : { error }),
128
+ });
129
+ }
130
+ // --- host -------------------------------------------------------------------
131
+ /** True iff `HOST_WIDGETS` is declared in the miniapp's manifest. */
132
+ get hasPermission() {
133
+ return this.session._hasManifestPermission("HOST_WIDGETS");
134
+ }
135
+ /** Every widget the installed miniapps declare, this miniapp's own excluded. */
136
+ async list() {
137
+ const result = await this.session.sendRequest({ type: MiniappRequestType.WIDGETS_LIST });
138
+ return result ?? [];
139
+ }
140
+ /**
141
+ * Place a widget in a box. Starts the provider in widget mode when it is
142
+ * not running, hands it the box, and resolves with the provider's last
143
+ * frame for the widget, or null when it has not drawn yet. Placing again
144
+ * with a new box resizes.
145
+ */
146
+ async place(packageName, widgetId, box) {
147
+ const result = await this.session.sendRequest({
148
+ type: MiniappRequestType.WIDGET_PLACE,
149
+ packageName,
150
+ widgetId,
151
+ box,
152
+ });
153
+ return result?.frame ?? null;
154
+ }
155
+ /** Take a widget off. A provider with none of its widgets placed stops. */
156
+ async unplace(packageName, widgetId) {
157
+ await this.session.sendRequest({ type: MiniappRequestType.WIDGET_UNPLACE, packageName, widgetId });
158
+ }
159
+ /** Forward input to a placed widget and wait for its answer. */
160
+ send(packageName, widgetId, event, opts) {
161
+ return this.session.sendRequest({
162
+ type: MiniappRequestType.WIDGET_SEND,
163
+ packageName,
164
+ widgetId,
165
+ event,
166
+ ...(opts?.timeoutMs != null ? { timeoutMs: opts.timeoutMs } : {}),
167
+ });
168
+ }
169
+ /** Frames pushed by providers of the widgets this miniapp placed. */
170
+ onFrame(listener) {
171
+ this.frameListeners.add(listener);
172
+ return () => {
173
+ this.frameListeners.delete(listener);
174
+ };
175
+ }
176
+ /** @internal — called by MiniappSession.handleIncoming on a WIDGET_FRAME. */
177
+ _deliverFrame(frame) {
178
+ for (const listener of Array.from(this.frameListeners)) {
179
+ try {
180
+ listener(frame);
181
+ }
182
+ catch (err) {
183
+ console.warn(`[@glassly/miniapp] widgets.onFrame listener threw for ${widgetKey(frame.packageName, frame.widgetId)}`, err);
184
+ }
185
+ }
186
+ }
187
+ }
188
+ //# sourceMappingURL=widgets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets.js","sourceRoot":"","sources":["../../src/modules/widgets.ts"],"names":[],"mappings":"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"}
@@ -266,7 +266,19 @@ export declare enum MiniappRequestType {
266
266
  /** Target → host: the result of a delivered ACTION_CALL, correlated by callId. */
267
267
  ACTION_RESULT = "miniapp_action_result",
268
268
  /** Ask the host to stop THIS miniapp (self-close; e.g. after finishing a one-shot action). */
269
- SYSTEM_EXIT = "miniapp_system_exit"
269
+ SYSTEM_EXIT = "miniapp_system_exit",
270
+ /** Provider → host, one-shot: the latest frame for one of its widgets. */
271
+ WIDGET_UPDATE = "miniapp_widget_update",
272
+ /** Provider → host: the result of a delivered WIDGET_CALL, correlated by callId. */
273
+ WIDGET_RESULT = "miniapp_widget_result",
274
+ /** Every widget the installed miniapps declare. HOST_WIDGETS. */
275
+ WIDGETS_LIST = "miniapp_widgets_list",
276
+ /** Place a widget in a box: starts the provider in widget mode and hands it the box. HOST_WIDGETS. */
277
+ WIDGET_PLACE = "miniapp_widget_place",
278
+ /** Take a widget off: the provider stops once nothing of it is placed. HOST_WIDGETS. */
279
+ WIDGET_UNPLACE = "miniapp_widget_unplace",
280
+ /** Forward an input event to a placed widget and wait for its answer. HOST_WIDGETS. */
281
+ WIDGET_SEND = "miniapp_widget_send"
270
282
  }
271
283
  export declare enum MiniappResponseType {
272
284
  /** Response to CONNECT carrying userId, packageName, capabilities. */
@@ -319,6 +331,14 @@ export declare enum MiniappResponseType {
319
331
  * handler and replies with an ACTION_RESULT request keyed by callId.
320
332
  */
321
333
  ACTION_CALL = "miniapp_action_call",
334
+ /**
335
+ * Host → provider: a widget call. `kind: "box"` hands the widget its box
336
+ * (null once unplaced); `kind: "event"` forwards the wearer's input and
337
+ * expects a WIDGET_RESULT keyed by callId.
338
+ */
339
+ WIDGET_CALL = "miniapp_widget_call",
340
+ /** Host → widget host: a provider pushed a new frame for a widget this app placed. */
341
+ WIDGET_FRAME = "miniapp_widget_frame",
322
342
  /**
323
343
  * Push: phone is about to tear down the miniapp's session. Gives the SDK
324
344
  * a brief window (~50ms grace on the phone side) to fire one last
@@ -453,6 +473,10 @@ export declare enum MiniappErrorCode {
453
473
  ACTION_TIMEOUT = "ACTION_TIMEOUT",
454
474
  /** Action params or result exceeded the 256 KB size cap. */
455
475
  PAYLOAD_TOO_LARGE = "PAYLOAD_TOO_LARGE",
476
+ /** The target miniapp does not declare the requested widget. */
477
+ WIDGET_NOT_FOUND = "WIDGET_NOT_FOUND",
478
+ /** The caller has not placed the widget it tried to reach. */
479
+ WIDGET_NOT_PLACED = "WIDGET_NOT_PLACED",
456
480
  /** No blob with the given id in this miniapp's namespace. */
457
481
  BLOB_NOT_FOUND = "BLOB_NOT_FOUND",
458
482
  /** Writing this blob would exceed the per-app blob quota. */
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
package/dist/protocol.js CHANGED
@@ -277,6 +277,22 @@ export var MiniappRequestType;
277
277
  MiniappRequestType["ACTION_RESULT"] = "miniapp_action_result";
278
278
  /** Ask the host to stop THIS miniapp (self-close; e.g. after finishing a one-shot action). */
279
279
  MiniappRequestType["SYSTEM_EXIT"] = "miniapp_system_exit";
280
+ // ----- Dashboard widgets -----
281
+ // A provider declares widgets in its manifest and serves them through
282
+ // session.widgets.provide; a host (HOST_WIDGETS) places them and forwards
283
+ // the wearer's input. The host routes every call; neither side names the other.
284
+ /** Provider → host, one-shot: the latest frame for one of its widgets. */
285
+ MiniappRequestType["WIDGET_UPDATE"] = "miniapp_widget_update";
286
+ /** Provider → host: the result of a delivered WIDGET_CALL, correlated by callId. */
287
+ MiniappRequestType["WIDGET_RESULT"] = "miniapp_widget_result";
288
+ /** Every widget the installed miniapps declare. HOST_WIDGETS. */
289
+ MiniappRequestType["WIDGETS_LIST"] = "miniapp_widgets_list";
290
+ /** Place a widget in a box: starts the provider in widget mode and hands it the box. HOST_WIDGETS. */
291
+ MiniappRequestType["WIDGET_PLACE"] = "miniapp_widget_place";
292
+ /** Take a widget off: the provider stops once nothing of it is placed. HOST_WIDGETS. */
293
+ MiniappRequestType["WIDGET_UNPLACE"] = "miniapp_widget_unplace";
294
+ /** Forward an input event to a placed widget and wait for its answer. HOST_WIDGETS. */
295
+ MiniappRequestType["WIDGET_SEND"] = "miniapp_widget_send";
280
296
  })(MiniappRequestType || (MiniappRequestType = {}));
281
297
  // ============================================================================
282
298
  // Phone → miniapp (response or push)
@@ -333,6 +349,14 @@ export var MiniappResponseType;
333
349
  * handler and replies with an ACTION_RESULT request keyed by callId.
334
350
  */
335
351
  MiniappResponseType["ACTION_CALL"] = "miniapp_action_call";
352
+ /**
353
+ * Host → provider: a widget call. `kind: "box"` hands the widget its box
354
+ * (null once unplaced); `kind: "event"` forwards the wearer's input and
355
+ * expects a WIDGET_RESULT keyed by callId.
356
+ */
357
+ MiniappResponseType["WIDGET_CALL"] = "miniapp_widget_call";
358
+ /** Host → widget host: a provider pushed a new frame for a widget this app placed. */
359
+ MiniappResponseType["WIDGET_FRAME"] = "miniapp_widget_frame";
336
360
  /**
337
361
  * Push: phone is about to tear down the miniapp's session. Gives the SDK
338
362
  * a brief window (~50ms grace on the phone side) to fire one last
@@ -482,6 +506,10 @@ export var MiniappErrorCode;
482
506
  MiniappErrorCode["ACTION_TIMEOUT"] = "ACTION_TIMEOUT";
483
507
  /** Action params or result exceeded the 256 KB size cap. */
484
508
  MiniappErrorCode["PAYLOAD_TOO_LARGE"] = "PAYLOAD_TOO_LARGE";
509
+ /** The target miniapp does not declare the requested widget. */
510
+ MiniappErrorCode["WIDGET_NOT_FOUND"] = "WIDGET_NOT_FOUND";
511
+ /** The caller has not placed the widget it tried to reach. */
512
+ MiniappErrorCode["WIDGET_NOT_PLACED"] = "WIDGET_NOT_PLACED";
485
513
  // ----- Blob storage / recorder -----
486
514
  /** No blob with the given id in this miniapp's namespace. */
487
515
  MiniappErrorCode["BLOB_NOT_FOUND"] = "BLOB_NOT_FOUND";
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAC/E,iDAAiD;AACjD,+EAA+E;AAE/E,MAAM,CAAN,IAAY,kBA+TX;AA/TD,WAAY,kBAAkB;IAC5B,8EAA8E;IAC9E,iDAA2B,CAAA;IAE3B,yDAAyD;IACzD,2DAAqC,CAAA;IAErC,8DAA8D;IAC9D,qDAA+B,CAAA;IAE/B;;;;OAIG;IACH,+DAAyC,CAAA;IAEzC;;;;OAIG;IACH,iDAA2B,CAAA;IAE3B,uEAAuE;IACvE,+CAAyB,CAAA;IAEzB,oFAAoF;IACpF,uDAAiC,CAAA;IAEjC;;;;;OAKG;IACH,qDAA+B,CAAA;IAE/B;;;;OAIG;IACH,uDAAiC,CAAA;IAEjC,8EAA8E;IAC9E,uDAAiC,CAAA;IAEjC,sDAAsD;IACtD,uDAAiC,CAAA;IAEjC,2DAA2D;IAC3D,6CAAuB,CAAA;IAEvB;;;;;OAKG;IACH,yEAAmD,CAAA;IACnD,2EAAqD,CAAA;IACrD,2EAAqD,CAAA;IACrD,2EAAqD,CAAA;IAErD,mCAAmC;IACnC,iDAA2B,CAAA;IAE3B,8BAA8B;IAC9B,6DAAuC,CAAA;IAEvC,wDAAwD;IACxD,2EAAqD,CAAA;IAErD;;;;OAIG;IACH,+EAAyD,CAAA;IAEzD;;;;OAIG;IACH,2DAAqC,CAAA;IACrC,2DAAqC,CAAA;IAErC,0DAA0D;IAC1D,mEAA6C,CAAA;IAC7C,gDAAgD;IAChD,iEAA2C,CAAA;IAC3C,mFAAmF;IACnF,uEAAiD,CAAA;IACjD,0FAA0F;IAC1F,6FAAuE,CAAA;IACvE,qFAAqF;IACrF,6FAAuE,CAAA;IACvE,sFAAsF;IACtF,2EAAqD,CAAA;IACrD,sFAAsF;IACtF,mFAA6D,CAAA;IAC7D;;;;6EAIyE;IACzE,uFAAiE,CAAA;IACjE;;sFAEkF;IAClF,6FAAuE,CAAA;IACvE;4DACwD;IACxD,mFAA6D,CAAA;IAC7D,2FAA2F;IAC3F,6FAAuE,CAAA;IAEvE;;;;;OAKG;IACH,mDAA6B,CAAA;IAE7B;;;;;;;;;;;;;OAaG;IACH,yDAAmC,CAAA;IACnC,yDAAmC,CAAA;IAEnC,kCAAkC;IAClC,yDAAmC,CAAA;IACnC,yDAAmC,CAAA;IACnC,+DAAyC,CAAA;IACzC,2DAAqC,CAAA;IACrC,6DAAuC,CAAA;IACvC,yDAAmC,CAAA;IACnC,iEAA2C,CAAA;IAC3C,2EAAqD,CAAA;IACrD,6DAAuC,CAAA;IAEvC;;;;;OAKG;IACH,uEAAiD,CAAA;IACjD,iEAA2C,CAAA;IAC3C,yEAAmD,CAAA;IACnD,yEAAmD,CAAA;IACnD,yEAAmD,CAAA;IACnD,2DAAqC,CAAA;IACrC,6DAAuC,CAAA;IACvC,uEAAiD,CAAA;IACjD,uEAAiD,CAAA;IACjD,yEAAmD,CAAA;IACnD,yFAAmE,CAAA;IACnE,2DAAqC,CAAA;IAErC;;;;;OAKG;IACH,6EAAuD,CAAA;IAEvD,iCAAiC;IACjC,uDAAiC,CAAA;IAEjC,2EAA2E;IAC3E,+DAAyC,CAAA;IAEzC;;;;OAIG;IACH,iEAA2C,CAAA;IAC3C,+EAAyD,CAAA;IAEzD,kGAAkG;IAClG,yEAAmD,CAAA;IACnD,0EAA0E;IAC1E,6FAAuE,CAAA;IAEvE;;;OAGG;IACH,uEAAiD,CAAA;IAEjD,4CAA4C;IAC5C,6CAAuB,CAAA;IACvB,wCAAwC;IACxC,mDAA6B,CAAA;IAC7B,yCAAyC;IACzC,yEAAmD,CAAA;IACnD,+DAAyC,CAAA;IACzC,mEAAmE;IACnE,mDAA6B,CAAA;IAC7B;;;OAGG;IACH,iDAA2B,CAAA;IAC3B;;;OAGG;IACH,qDAA+B,CAAA;IAE/B;;;;;OAKG;IACH,yDAAmC,CAAA;IACnC,uDAAiC,CAAA;IACjC,yDAAmC,CAAA;IACnC,uDAAiC,CAAA;IACjC,mDAA6B,CAAA;IAC7B,qDAA+B,CAAA;IAC/B,yDAAmC,CAAA;IACnC,uDAAiC,CAAA;IACjC,uDAAiC,CAAA;IACjC,+DAAyC,CAAA;IACzC,qDAA+B,CAAA;IAC/B,iEAA2C,CAAA;IAC3C,kFAAkF;IAClF,qEAA+C,CAAA;IAC/C,iFAAiF;IACjF,yDAAmC,CAAA;IACnC,wFAAwF;IACxF,uDAAiC,CAAA;IAEjC,0EAA0E;IAC1E,2CAAqB,CAAA;IAErB;;;;OAIG;IACH,2EAAqD,CAAA;IAErD,6BAA6B;IAE7B,4CAA4C;IAC5C,mFAA6D,CAAA;IAE7D,8EAA8E;IAC9E,6EAAuD,CAAA;IAEvD,gCAAgC;IAChC,6CAAuB,CAAA;IACvB,6EAAuD,CAAA;IACvD,2EAAqD,CAAA;IACrD,2DAAqC,CAAA;IACrC,yDAAmC,CAAA;IACnC,2EAAqD,CAAA;IACrD,yEAAmD,CAAA;IAEnD,oGAAoG;IACpG,uEAAiD,CAAA;IAEjD,oCAAoC;IACpC,2EAA2E;IAC3E,wEAAwE;IACxE,0DAA0D;IAC1D,gGAAgG;IAChG,yDAAmC,CAAA;IACnC,mEAAmE;IACnE,2DAAqC,CAAA;IACrC,6CAA6C;IAC7C,yDAAmC,CAAA;IACnC,iFAAiF;IACjF,mEAA6C,CAAA;IAC7C,iGAAiG;IACjG,2DAAqC,CAAA;IACrC,iFAAiF;IACjF,6DAAuC,CAAA;IACvC,kFAAkF;IAClF,6DAAuC,CAAA;IACvC,8FAA8F;IAC9F,yDAAmC,CAAA;IAEnC,gCAAgC;IAChC,sEAAsE;IACtE,0EAA0E;IAC1E,gFAAgF;IAChF,0EAA0E;IAC1E,6DAAuC,CAAA;IACvC,oFAAoF;IACpF,6DAAuC,CAAA;IACvC,iEAAiE;IACjE,2DAAqC,CAAA;IACrC,sGAAsG;IACtG,2DAAqC,CAAA;IACrC,wFAAwF;IACxF,+DAAyC,CAAA;IACzC,uFAAuF;IACvF,yDAAmC,CAAA;AACrC,CAAC,EA/TW,kBAAkB,KAAlB,kBAAkB,QA+T7B;AAED,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,MAAM,CAAN,IAAY,mBAoFX;AApFD,WAAY,mBAAmB;IAC7B,sEAAsE;IACtE,0DAAmC,CAAA;IAEnC,sDAAsD;IACtD,8CAAuB,CAAA;IAEvB,0EAA0E;IAC1E,gEAAyC,CAAA;IAEzC,0CAA0C;IAC1C,0EAAmD,CAAA;IAEnD,iEAAiE;IACjE,wEAAiD,CAAA;IAEjD,2DAA2D;IAC3D,sEAA+C,CAAA;IAE/C;;;OAGG;IACH,4DAAqC,CAAA;IAErC;;;OAGG;IACH,4CAAqB,CAAA;IAErB,oDAAoD;IACpD,0EAAmD,CAAA;IAEnD;;;;OAIG;IACH,8DAAuC,CAAA;IAEvC;;;;OAIG;IACH,wEAAiD,CAAA;IAEjD;;;OAGG;IACH,0DAAmC,CAAA;IAEnC,qEAAqE;IACrE,4CAAqB,CAAA;IAErB;;;;;OAKG;IACH,0DAAmC,CAAA;IAEnC;;;;OAIG;IACH,0DAAmC,CAAA;IACnC,sFAAsF;IACtF,4DAAqC,CAAA;IAErC;;;;;OAKG;IACH,kEAA2C,CAAA;IAE3C,kDAAkD;IAClD,8CAAuB,CAAA;AACzB,CAAC,EApFW,mBAAmB,KAAnB,mBAAmB,QAoF9B;AAED,+EAA+E;AAC/E,0CAA0C;AAC1C,+EAA+E;AAE/E,MAAM,CAAN,IAAY,iBAgFX;AAhFD,WAAY,iBAAiB;IAC3B,0BAA0B;IAC1B,kDAA6B,CAAA;IAC7B,gDAA2B,CAAA;IAC3B;;;;OAIG;IACH,sDAAiC,CAAA;IACjC;;;;;OAKG;IACH,oDAA+B,CAAA;IAC/B;;;OAGG;IACH,kDAA6B,CAAA;IAC7B,sEAAsE;IACtE,oDAA+B,CAAA;IAC/B;;;OAGG;IACH,oDAA+B,CAAA;IAC/B;;;;OAIG;IACH,8CAAyB,CAAA;IAEzB,SAAS;IACT,wDAAmC,CAAA;IACnC,oDAA+B,CAAA;IAC/B,8DAAyC,CAAA;IACzC,2FAA2F;IAC3F,kDAA6B,CAAA;IAE7B,kCAAkC;IAClC,oDAA+B,CAAA;IAC/B,gDAA2B,CAAA;IAC3B,gDAA2B,CAAA;IAC3B,gCAAW,CAAA;IAEX,gBAAgB;IAChB,wDAAmC,CAAA;IACnC,oDAAoD;IACpD,sDAAiC,CAAA;IACjC,kBAAkB;IAClB,kDAA6B,CAAA;IAC7B,uFAAuF;IACvF,wDAAmC,CAAA;IACnC,gEAA2C,CAAA;IAC3C,8EAA8E;IAC9E,4DAAuC,CAAA;IACvC,gFAAgF;IAChF,0DAAqC,CAAA;IACrC,8DAAyC,CAAA;IACzC;;;;OAIG;IACH,0DAAqC,CAAA;IACrC;;;;;;OAMG;IACH,kFAA6D,CAAA;IAC7D,oBAAoB;IACpB,gDAA2B,CAAA;IAC3B,oDAA+B,CAAA;AACjC,CAAC,EAhFW,iBAAiB,KAAjB,iBAAiB,QAgF5B;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,CAAN,IAAY,gBAoFX;AApFD,WAAY,gBAAgB;IAC1B,qDAAqD;IACrD,yDAAqC,CAAA;IAErC,2FAA2F;IAC3F,uEAAmD,CAAA;IAEnD,iEAAiE;IACjE,2DAAuC,CAAA;IAEvC,2DAA2D;IAC3D,uDAAmC,CAAA;IAEnC,+EAA+E;IAC/E,uDAAmC,CAAA;IAEnC,mDAAmD;IACnD,yCAAqB,CAAA;IAErB;;;;OAIG;IACH,qDAAiC,CAAA;IAEjC,wDAAwD;IACxD,2DAAuC,CAAA;IACvC,2DAAuC,CAAA;IACvC,6DAAyC,CAAA;IAEzC,8FAA8F;IAC9F,mEAA+C,CAAA;IAE/C;;;;OAIG;IACH,iEAA6C,CAAA;IAE7C,oDAAoD;IACpD,mDAA+B,CAAA;IAE/B,oCAAoC;IACpC;;;OAGG;IACH,mDAA+B,CAAA;IAC/B,uCAAuC;IACvC,mDAA+B,CAAA;IAC/B,iEAAiE;IACjE,6DAAyC,CAAA;IACzC,4DAA4D;IAC5D,yDAAqC,CAAA;IACrC,iGAAiG;IACjG,2DAAuC,CAAA;IACvC,4EAA4E;IAC5E,+CAA2B,CAAA;IAC3B,iEAAiE;IACjE,qDAAiC,CAAA;IACjC,4DAA4D;IAC5D,2DAAuC,CAAA;IACvC,gEAAgE;IAChE,yDAAqC,CAAA;IACrC,8DAA8D;IAC9D,2DAAuC,CAAA;IAEvC,sCAAsC;IACtC,6DAA6D;IAC7D,qDAAiC,CAAA;IACjC,6DAA6D;IAC7D,+DAA2C,CAAA;IAC3C,iEAAiE;IACjE,qDAAiC,CAAA;IACjC,gFAAgF;IAChF,+DAA2C,CAAA;IAC3C,gEAAgE;IAChE,2DAAuC,CAAA;IACvC,wEAAwE;IACxE,iEAA6C,CAAA;IAC7C,kFAAkF;IAClF,6DAAyC,CAAA;AAC3C,CAAC,EApFW,gBAAgB,KAAhB,gBAAgB,QAoF3B"}
package/dist/session.d.ts CHANGED
@@ -46,6 +46,7 @@ import { StreamModule } from "./modules/stream";
46
46
  import { SystemModule } from "./modules/system";
47
47
  import { MiniappsModule } from "./modules/miniapps";
48
48
  import { ActionsModule } from "./modules/actions";
49
+ import { WidgetsModule } from "./modules/widgets";
49
50
  import { BlobModule } from "./modules/blob";
50
51
  /**
51
52
  * Typed display capabilities for the scene API. All limit fields are optional
@@ -188,7 +189,7 @@ export interface AuthUpdatePayload {
188
189
  * Manifest-declared permission record. v3-aligned: lowercase canonical keys.
189
190
  * Booleans indicate whether the miniapp declared each in its manifest.json.
190
191
  */
191
- export type PermissionType = "location" | "microphone" | "camera" | "notifications" | "calendar" | "apiKeys" | "memory" | "ai" | "speakers" | "displayMirror" | "manageMiniapps" | "platformSettings";
192
+ export type PermissionType = "location" | "microphone" | "camera" | "notifications" | "calendar" | "apiKeys" | "memory" | "ai" | "speakers" | "displayMirror" | "manageMiniapps" | "platformSettings" | "hostWidgets";
192
193
  export type PermissionRecord = Record<PermissionType, boolean>;
193
194
  export declare class NotConnectedError extends Error {
194
195
  readonly code = MiniappErrorCode.NOT_CONNECTED;
@@ -320,6 +321,11 @@ export declare class MiniappSession<TChannels extends object = any> {
320
321
  * action; `handle` exposes one of your own. Both are open to all.
321
322
  */
322
323
  readonly actions: ActionsModule;
324
+ /**
325
+ * Dashboard widgets. `provide` serves a widget this miniapp declares; the
326
+ * host side (`list`, `place`, `send`, `onFrame`) needs HOST_WIDGETS.
327
+ */
328
+ readonly widgets: WidgetsModule;
323
329
  /** Phone-declared glasses capabilities. Null until CONNECT_ACK arrives. */
324
330
  capabilities: GlassesCapabilities | null;
325
331
  /** Host user preferences. Null until CONNECT_ACK arrives (or on runtimes that don't send them). */