@syntrologie/runtime-sdk 2.8.0-canary.126 → 2.8.0-canary.127

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/CAPABILITIES.md CHANGED
@@ -72,6 +72,7 @@ The SDK includes the following adaptive packages, each providing specific capabi
72
72
  - [@syntrologie/adapt-content](#syntrologieadapt-content)
73
73
  - [@syntrologie/adapt-faq](#syntrologieadapt-faq)
74
74
  - [@syntrologie/adapt-gamification](#syntrologieadapt-gamification)
75
+ - [@syntrologie/adapt-mcp](#syntrologieadapt-mcp)
75
76
  - [@syntrologie/adapt-nav](#syntrologieadapt-nav)
76
77
  - [@syntrologie/adapt-overlays](#syntrologieadapt-overlays)
77
78
 
@@ -830,6 +831,65 @@ Mount gamification UI elements (leaderboard, badge display, progress tracker) vi
830
831
  - **Progress tracking**: Show achievement progress to motivate users
831
832
 
832
833
 
834
+ ---
835
+
836
+ # @syntrologie/adapt-mcp
837
+
838
+ Loader adaptive for the MCP Apps protocol.
839
+
840
+ ## What it does today
841
+
842
+ Nothing observable from tile config. This adaptive is currently a pure loader:
843
+ it pulls [`@modelcontextprotocol/ext-apps`](https://www.npmjs.com/package/@modelcontextprotocol/ext-apps) into the page and exposes its `App`, `AppBridge`,
844
+ and `PostMessageTransport` classes on `window.MCPApp`. No actions, no widgets,
845
+ no surfaces.
846
+
847
+ ## Why it exists separately from `runtime-sdk`
848
+
849
+ The MCP Apps bridge adds a non-trivial amount of code and a new dep
850
+ (`@modelcontextprotocol/ext-apps`) to any page that includes it. Most Syntro
851
+ deployments don't need it — only pages that want to render interactive MCP-app
852
+ cards do. Splitting it into its own adaptive means the runtime stays lean and
853
+ the bridge code only loads when a tile references it.
854
+
855
+ This package is deliberately **not** listed in `BUNDLED_APP_IDS` in
856
+ `packages/runtime-sdk/src/apps/AppLoader.ts`, so the AppLoader treats it as a
857
+ CDN-hosted adaptive and fetches it on demand.
858
+
859
+ ## Loading
860
+
861
+ The `./cdn` entrypoint is the CDN bundle. When it runs in a browser:
862
+
863
+ 1. Imports `App`, `AppBridge`, `PostMessageTransport` from
864
+ `@modelcontextprotocol/ext-apps/app-bridge`.
865
+ 2. Assigns them to `window.MCPApp`.
866
+ 3. Calls `window.SynOS.appRegistry.register(manifest)` if the host registry is
867
+ present.
868
+
869
+ After this runs, any subsequent page code can use `window.MCPApp.App` to
870
+ construct an MCP App instance without reloading the library.
871
+
872
+ ## Capabilities (none yet)
873
+
874
+ | Kind | Available? | Notes |
875
+ |------|------------|-------|
876
+ | Actions | — | TBD once bridge requirements are defined. |
877
+ | Widgets | — | TBD. |
878
+ | Surfaces | — | TBD. |
879
+
880
+ This file gets aggregated into `runtime-sdk/CAPABILITIES.md` during build. When
881
+ actions land here, document them in the normal adaptive format (kind, description,
882
+ params schema, example config).
883
+
884
+ ## Next steps (not in this package yet)
885
+
886
+ - Canvas/host wiring: instantiate `AppBridge` per rendered MCP-app iframe.
887
+ - Action registry: map `data-action` clicks to `app.callTool(...)` invocations.
888
+ - Per-channel MCP client proxy on the canvas server.
889
+
890
+ Those live in other PRs once we lock in the full interactivity design.
891
+
892
+
833
893
  ---
834
894
 
835
895
  # @syntrologie/adapt-nav
@@ -3640,7 +3640,7 @@ function getAntiFlickerSnippet(config = {}) {
3640
3640
  }
3641
3641
 
3642
3642
  // src/version.ts
3643
- var SDK_VERSION = "2.8.0-canary.126";
3643
+ var SDK_VERSION = "2.8.0-canary.127";
3644
3644
 
3645
3645
  // src/types.ts
3646
3646
  var SDK_SCHEMA_VERSION = "2.0";
@@ -12684,4 +12684,4 @@ export {
12684
12684
  encodeToken,
12685
12685
  Syntro
12686
12686
  };
12687
- //# sourceMappingURL=chunk-HB2GDS5R.js.map
12687
+ //# sourceMappingURL=chunk-NSFN2DIC.js.map