@ggui-ai/iframe-runtime 0.7.0 → 0.9.0

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.
@@ -3,7 +3,7 @@
3
3
  * ("did this generated UI work for you?").
4
4
  *
5
5
  * The in-iframe twin of the host-chrome `UiFeedback` component in
6
- * `@ggui-ai/react`: same three verdicts — Love / Dislike / Other
6
+ * `@ggui-ai/mcp-apps-react`: same three verdicts — Love / Dislike / Other
7
7
  * (free-text comment) — same acknowledgement after submit, same
8
8
  * dismiss control, same payload semantics (trimmed comment only on
9
9
  * `verdict: 'other'`, context stamps present exactly when known).
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
4
4
  * ("did this generated UI work for you?").
5
5
  *
6
6
  * The in-iframe twin of the host-chrome `UiFeedback` component in
7
- * `@ggui-ai/react`: same three verdicts — Love / Dislike / Other
7
+ * `@ggui-ai/mcp-apps-react`: same three verdicts — Love / Dislike / Other
8
8
  * (free-text comment) — same acknowledgement after submit, same
9
9
  * dismiss control, same payload semantics (trimmed comment only on
10
10
  * `verdict: 'other'`, context stamps present exactly when known).
@@ -13,10 +13,13 @@
13
13
  *
14
14
  * Sink-reachability gate — never render a dead affordance:
15
15
  *
16
- * - `window.parent !== window` → a parent window exists, the
17
- * `ggui:observe` envelope has somewhere to go → mount. Parents
18
- * that don't understand the envelope ignore it (best-effort emit;
19
- * one postMessage of cost).
16
+ * - `window.parent !== window` → a parent window exists → this
17
+ * module's own precondition holds. The CALLER (bootSequence)
18
+ * additionally gates on a live sink: an injected `onObserve`
19
+ * emitter, or a first-party embed host (the only parent that
20
+ * consumes `ggui:observe`). Third-party MCP-Apps hosts drop the
21
+ * envelope, so the affordance is NOT mounted there — a feedback
22
+ * control that can never deliver feedback is worse than none.
20
23
  * - `window.parent === window` → top-level tab (the `/r/<shortCode>`
21
24
  * share-link viewer) → NO mount. There is no parent to receive
22
25
  * the envelope, so a rendered affordance would drop every click
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ggui-ai/iframe-runtime",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "description": "The iframe-local ggui runtime: a self-contained ESM bundle that boots inside an MCP Apps host iframe, runs the protocol-version handshake, opens the live-channel WebSocket, and mounts the rendered UI. Bundles React, ReactDOM, and the ggui design system so generated component code has a single seam to read from.",
5
5
  "keywords": [
6
6
  "ggui",
@@ -35,12 +35,12 @@
35
35
  "qrcode-generator": "^2.0.4",
36
36
  "react": "^19.0.0",
37
37
  "react-dom": "^19.0.0",
38
- "@ggui-ai/live-channel": "0.7.0",
39
- "@ggui-ai/gadgets": "0.7.0",
40
- "@ggui-ai/design": "0.7.0",
41
- "@ggui-ai/preview-a2ui": "0.7.0",
42
- "@ggui-ai/protocol": "0.7.0",
43
- "@ggui-ai/wire": "0.7.0"
38
+ "@ggui-ai/live-channel": "0.9.0",
39
+ "@ggui-ai/gadgets": "0.9.0",
40
+ "@ggui-ai/design": "0.9.0",
41
+ "@ggui-ai/preview-a2ui": "0.9.0",
42
+ "@ggui-ai/protocol": "0.9.0",
43
+ "@ggui-ai/wire": "0.9.0"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "@modelcontextprotocol/sdk": "^1.27.0"