@burdenoff/fe-libs 2026.521.1 → 2026.521.3
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/dist/shared/events/index.d.ts +13 -1
- package/dist/shared/events/index.d.ts.map +1 -1
- package/dist/shared/plugins/iframe-mount/PluginIframe.d.ts +75 -0
- package/dist/shared/plugins/iframe-mount/PluginIframe.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/PluginIframe.js +147 -0
- package/dist/shared/plugins/iframe-mount/PluginMount.d.ts +59 -0
- package/dist/shared/plugins/iframe-mount/PluginMount.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/PluginMount.js +129 -0
- package/dist/shared/plugins/iframe-mount/client/index.d.ts +3 -0
- package/dist/shared/plugins/iframe-mount/client/index.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/client/message-bus.d.ts +71 -0
- package/dist/shared/plugins/iframe-mount/client/message-bus.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/client/message-bus.js +65 -0
- package/dist/shared/plugins/iframe-mount/client/rpc.d.ts +25 -0
- package/dist/shared/plugins/iframe-mount/client/rpc.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/client/rpc.js +63 -0
- package/dist/shared/plugins/iframe-mount/index.d.ts +6 -0
- package/dist/shared/plugins/iframe-mount/index.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/index.js +4 -0
- package/dist/shared/plugins/iframe-mount/protocol/contribution.d.ts +83 -0
- package/dist/shared/plugins/iframe-mount/protocol/contribution.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/protocol/envelope.d.ts +136 -0
- package/dist/shared/plugins/iframe-mount/protocol/envelope.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/protocol/envelope.js +10 -0
- package/dist/shared/plugins/iframe-mount/protocol/index.d.ts +3 -0
- package/dist/shared/plugins/iframe-mount/protocol/index.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/sandbox.d.ts +3 -0
- package/dist/shared/plugins/iframe-mount/sandbox.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/sandbox.js +19 -0
- package/dist/shared/plugins/iframe-mount/types.d.ts +57 -0
- package/dist/shared/plugins/iframe-mount/types.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/useFetchContributions.d.ts +31 -0
- package/dist/shared/plugins/iframe-mount/useFetchContributions.d.ts.map +1 -0
- package/dist/shared/plugins/iframe-mount/useFetchContributions.js +68 -0
- package/dist/shared/plugins/index.d.ts +1 -0
- package/dist/shared/plugins/index.d.ts.map +1 -1
- package/dist/shared-events.js +27 -15
- package/dist/shared-plugins.js +6 -1
- package/package.json +1 -1
|
@@ -494,11 +494,23 @@ export interface EventEmitOptions {
|
|
|
494
494
|
export type EventHandler<TName extends BurdenoffEventName> = (event: BurdenoffEvent<TName>) => void;
|
|
495
495
|
export interface EventBus {
|
|
496
496
|
emit<TName extends BurdenoffEventName>(name: TName, payload: BurdenoffEventPayloadMap[TName], options?: EventEmitOptions): void;
|
|
497
|
+
/**
|
|
498
|
+
* Escape hatch for MFE-local domain events that aren't registered in
|
|
499
|
+
* `BurdenoffEventName`. Bypasses the typed name/payload check; the event
|
|
500
|
+
* still flows to `onAny` listeners and the ring buffer, but typed `on`
|
|
501
|
+
* listeners won't fire for it (they're keyed by `BurdenoffEventName`).
|
|
502
|
+
*
|
|
503
|
+
* Prefer the typed `emit()` for cross-MFE platform events (auth,
|
|
504
|
+
* billing, tenant, etc.). Use `emitCustom()` for events that are
|
|
505
|
+
* meaningful only within a single MFE's domain (e.g. `group.created`,
|
|
506
|
+
* `workspaces.invite.viewed`).
|
|
507
|
+
*/
|
|
508
|
+
emitCustom(name: string, payload: unknown, options?: EventEmitOptions): void;
|
|
497
509
|
on<TName extends BurdenoffEventName>(name: TName, handler: EventHandler<TName>): () => void;
|
|
498
510
|
once<TName extends BurdenoffEventName>(name: TName, handler: EventHandler<TName>): () => void;
|
|
499
511
|
getBuffer(options?: {
|
|
500
512
|
limit?: number;
|
|
501
|
-
filter?: BurdenoffEventName;
|
|
513
|
+
filter?: BurdenoffEventName | (string & {});
|
|
502
514
|
}): BurdenoffEvent[] | readonly BurdenoffEvent[];
|
|
503
515
|
onAny(handler: (event: BurdenoffEvent) => void): () => void;
|
|
504
516
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/events/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/events/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGnG,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,sBAAsB,GACtB,2BAA2B,GAC3B,gCAAgC,GAChC,iCAAiC,GACjC,iCAAiC,GACjC,kCAAkC,GAClC,6BAA6B,GAC7B,gCAAgC,GAChC,qBAAqB,GACrB,sBAAsB,GACtB,yBAAyB,GACzB,4BAA4B,GAC5B,yBAAyB,GACzB,2BAA2B,GAC3B,wBAAwB,GACxB,wBAAwB,GACxB,+BAA+B,GAC/B,8BAA8B,GAC9B,oCAAoC,GACpC,gCAAgC,GAChC,uBAAuB,GACvB,uBAAuB,GACvB,yBAAyB,GACzB,sCAAsC,GACtC,sBAAsB,GACtB,sBAAsB,GACtB,4BAA4B,GAC5B,0BAA0B,GAC1B,gCAAgC,GAChC,gCAAgC,GAChC,oCAAoC,GACpC,mCAAmC,GACnC,wBAAwB,GACxB,uBAAuB,GACvB,8BAA8B,GAC9B,gCAAgC,GAChC,iCAAiC,GACjC,0BAA0B,GAC1B,yBAAyB,GACzB,yBAAyB,GACzB,0BAA0B,GAC1B,oBAAoB,GACpB,oBAAoB,GACpB,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,6BAA6B,GAC7B,6BAA6B,GAC7B,6BAA6B,GAC7B,uBAAuB,GACvB,uBAAuB,GACvB,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB,GACzB,wBAAwB,GACxB,wBAAwB,GACxB,wBAAwB,GACxB,yBAAyB,GACzB,yBAAyB,GACzB,yBAAyB,GACzB,yBAAyB,GACzB,4BAA4B,GAC5B,4BAA4B,GAC5B,4BAA4B,GAC5B,4BAA4B,GAC5B,4BAA4B,GAC5B,4BAA4B,GAC5B,oCAAoC,GACpC,mCAAmC,GACnC,oCAAoC,GACpC,oCAAoC,GACpC,qCAAqC,GACrC,qCAAqC,GACrC,4BAA4B,GAC5B,+BAA+B,GAC/B,+BAA+B,GAC/B,+BAA+B,GAC/B,4BAA4B,GAC5B,8BAA8B,GAC9B,0CAA0C,GAC1C,mBAAmB,GACnB,oBAAoB,GACpB,sBAAsB,GACtB,oBAAoB,GACpB,kBAAkB,GAClB,sBAAsB,GACtB,yBAAyB,GACzB,2BAA2B,GAC3B,yBAAyB,GACzB,uBAAuB,GACvB,yBAAyB,GACzB,6BAA6B,GAC7B,oBAAoB,GACpB,oBAAoB,GACpB,sBAAsB,GACtB,4BAA4B,GAC5B,mCAAmC,GACnC,wBAAwB,GACxB,4BAA4B,GAC5B,mCAAmC,GACnC,wBAAwB,GACxB,wBAAwB,GACxB,uBAAuB,GACvB,yBAAyB,GACzB,6BAA6B,GAC7B,2BAA2B,GAC3B,0BAA0B,GAC1B,2BAA2B,GAC3B,sBAAsB,GACtB,0BAA0B,GAC1B,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,mBAAmB,GACnB,uBAAuB,GACvB,mBAAmB,GACnB,sBAAsB,GACtB,sBAAsB,GACtB,sBAAsB,GACtB,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,GACvB,wBAAwB,GACxB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,gCAAgC,EAAE,uBAAuB,CAAC;IAC1D,iCAAiC,EAAE,uBAAuB,CAAC;IAC3D,iCAAiC,EAAE,uBAAuB,CAAC;IAC3D,kCAAkC,EAAE,uBAAuB,CAAC;IAC5D,6BAA6B,EAAE,uBAAuB,CAAC;IACvD,gCAAgC,EAAE,uBAAuB,CAAC;IAC1D,qBAAqB,EAAE,uBAAuB,CAAC;IAC/C,sBAAsB,EAAE,uBAAuB,CAAC;IAChD,yBAAyB,EAAE,uBAAuB,CAAC;IACnD,4BAA4B,EAAE,uBAAuB,CAAC;IACtD,yBAAyB,EAAE,uBAAuB,CAAC;IACnD,2BAA2B,EAAE,uBAAuB,CAAC;IACrD,wBAAwB,EAAE,uBAAuB,CAAC;IAClD,wBAAwB,EAAE,uBAAuB,CAAC;IAClD,+BAA+B,EAAE,uBAAuB,CAAC;IACzD,8BAA8B,EAAE,uBAAuB,CAAC;IACxD,oCAAoC,EAAE,uBAAuB,CAAC;IAC9D,gCAAgC,EAAE,uBAAuB,CAAC;IAC1D,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,yBAAyB,EAAE,uBAAuB,CAAC;IACnD,sCAAsC,EAAE,uBAAuB,CAAC;IAChE,sBAAsB,EAAE,uBAAuB,CAAC;IAChD,sBAAsB,EAAE,uBAAuB,CAAC;IAChD,4BAA4B,EAAE,uBAAuB,CAAC;IACtD,0BAA0B,EAAE,uBAAuB,CAAC;IACpD,gCAAgC,EAAE,uBAAuB,CAAC;IAC1D,gCAAgC,EAAE,uBAAuB,CAAC;IAC1D,oCAAoC,EAAE,uBAAuB,CAAC;IAC9D,mCAAmC,EAAE,uBAAuB,CAAC;IAC7D,wBAAwB,EAAE,uBAAuB,CAAC;IAClD,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,8BAA8B,EAAE,uBAAuB,CAAC;IACxD,gCAAgC,EAAE,uBAAuB,CAAC;IAC1D,iCAAiC,EAAE,uBAAuB,CAAC;IAC3D,0BAA0B,EAAE,uBAAuB,CAAC;IACpD,yBAAyB,EAAE,uBAAuB,CAAC;IACnD,yBAAyB,EAAE,uBAAuB,CAAC;IACnD,0BAA0B,EAAE,uBAAuB,CAAC;CACrD;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,CAAC;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,sBAAsB,EAAE,oBAAoB,CAAC;IAC7C,2BAA2B,EAAE,oBAAoB,CAAC;IAClD,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D,6BAA6B,EAAE,6BAA6B,CAAC;IAC7D,uBAAuB,EAAE,sBAAsB,CAAC;IAChD,uBAAuB,EAAE,sBAAsB,CAAC;IAChD,uBAAuB,EAAE,sBAAsB,CAAC;IAChD,yBAAyB,EAAE,sBAAsB,CAAC;IAClD,yBAAyB,EAAE,sBAAsB,CAAC;IAClD,wBAAwB,EAAE,qBAAqB,CAAC;IAChD,wBAAwB,EAAE,qBAAqB,CAAC;IAChD,wBAAwB,EAAE,qBAAqB,CAAC;IAChD,yBAAyB,EAAE,qBAAqB,CAAC;IACjD,yBAAyB,EAAE,qBAAqB,CAAC;IACjD,yBAAyB,EAAE,qBAAqB,CAAC;IACjD,yBAAyB,EAAE,qBAAqB,CAAC;IACjD,4BAA4B,EAAE,qBAAqB,CAAC;IACpD,4BAA4B,EAAE,qBAAqB,CAAC;IACpD,4BAA4B,EAAE,qBAAqB,CAAC;IACpD,4BAA4B,EAAE,qBAAqB,CAAC;IACpD,4BAA4B,EAAE,qBAAqB,CAAC;IACpD,4BAA4B,EAAE,qBAAqB,CAAC;IACpD,oCAAoC,EAAE,wBAAwB,CAAC;IAC/D,mCAAmC,EAAE,wBAAwB,CAAC;IAC9D,oCAAoC,EAAE,wBAAwB,CAAC;IAC/D,oCAAoC,EAAE,wBAAwB,CAAC;IAC/D,qCAAqC,EAAE,wBAAwB,CAAC;IAChE,qCAAqC,EAAE,wBAAwB,CAAC;IAChE,4BAA4B,EAAE,mBAAmB,CAAC;IAClD,+BAA+B,EAAE,mBAAmB,CAAC;IACrD,+BAA+B,EAAE,mBAAmB,CAAC;IACrD,+BAA+B,EAAE,mBAAmB,CAAC;IACrD,4BAA4B,EAAE,8BAA8B,CAAC;IAC7D,8BAA8B,EAAE,8BAA8B,CAAC;IAC/D,0CAA0C,EAAE,6BAA6B,CAAC;IAC1E,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,sBAAsB,EAAE,mBAAmB,CAAC;IAC5C,yBAAyB,EAAE,mBAAmB,CAAC;IAC/C,2BAA2B,EAAE,mBAAmB,CAAC;IACjD,yBAAyB,EAAE,iBAAiB,CAAC;IAC7C,uBAAuB,EAAE,oBAAoB,CAAC;IAC9C,yBAAyB,EAAE,oBAAoB,CAAC;IAChD,6BAA6B,EAAE,wBAAwB,CAAC;IACxD,oBAAoB,EAAE,iBAAiB,CAAC;IACxC,oBAAoB,EAAE,iBAAiB,CAAC;IACxC,sBAAsB,EAAE,mBAAmB,CAAC;IAC5C,4BAA4B,EAAE,qBAAqB,CAAC;IACpD,mCAAmC,EAAE,mBAAmB,CAAC;IACzD,wBAAwB,EAAE,kBAAkB,CAAC;IAC7C,4BAA4B,EAAE,kBAAkB,CAAC;IACjD,mCAAmC,EAAE,oBAAoB,CAAC;IAC1D,wBAAwB,EAAE,yBAAyB,CAAC;IACpD,wBAAwB,EAAE,yBAAyB,CAAC;IACpD,uBAAuB,EAAE,yBAAyB,CAAC;IACnD,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,6BAA6B,EAAE,2BAA2B,CAAC;IAC3D,2BAA2B,EAAE,6BAA6B,CAAC;IAC3D,0BAA0B,EAAE,4BAA4B,CAAC;IACzD,2BAA2B,EAAE,yBAAyB,CAAC;IACvD,sBAAsB,EAAE,oBAAoB,CAAC;IAC7C,0BAA0B,EAAE,iCAAiC,CAAC;IAC9D,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,oBAAoB,EAAE,gBAAgB,CAAC;IACvC,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,mBAAmB,EAAE,iBAAiB,CAAC;IACvC,uBAAuB,EAAE,mBAAmB,CAAC;IAC7C,mBAAmB,EAAE,iBAAiB,CAAC;IACvC,sBAAsB,EAAE,kBAAkB,CAAC;IAC3C,sBAAsB,EAAE,kBAAkB,CAAC;IAC3C,sBAAsB,EAAE,kBAAkB,CAAC;IAC3C,oBAAoB,EAAE,kBAAkB,CAAC;IACzC,qBAAqB,EAAE,iBAAiB,CAAC;IACzC,qBAAqB,EAAE,iBAAiB,CAAC;IACzC,sBAAsB,EAAE,oBAAoB,CAAC;IAC7C,uBAAuB,EAAE,qBAAqB,CAAC;IAC/C,wBAAwB,EAAE,sBAAsB,CAAC;IACjD,qBAAqB,EAAE,mBAAmB,CAAC;CAC5C;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,8BAA8B;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC/C;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,QAAQ,GAAG,iBAAiB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iCAAiC;IAChD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,GAAG,mBAAmB,GAAG,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;KAAE,CAAC;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc,CAAC,KAAK,SAAS,kBAAkB,GAAG,kBAAkB;IACnF,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACzC,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,CAAC,KAAK,SAAS,kBAAkB,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAEpG,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,KAAK,SAAS,kBAAkB,EACnC,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,EACxC,OAAO,CAAC,EAAE,gBAAgB,GACzB,IAAI,CAAC;IACR;;;;;;;;;;OAUG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC7E,EAAE,CAAC,KAAK,SAAS,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;IAC5F,IAAI,CAAC,KAAK,SAAS,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;IAC9F,SAAS,CAAC,OAAO,CAAC,EAAE;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QAGf,MAAM,CAAC,EAAE,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;KAC7C,GAAG,cAAc,EAAE,GAAG,SAAS,cAAc,EAAE,CAAC;IACjD,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7D;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuED,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,UAAoB,EACpB,MAAc,EACd,SAAmB,EACnB,QAAQ,GACT,EAAE,qBAAqB,2CAOvB;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,UAAoB,EACpB,MAAc,EACd,SAAmB,GACpB,EAAE,qBAAqB,GAAG,QAAQ,CA+ElC;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAED,wBAAgB,QAAQ,CAAC,KAAK,SAAS,kBAAkB,EACvD,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAC3B,IAAI,CAGN;AAED,wBAAgB,eAAe,CAAC,KAAK,SAAS,kBAAkB,EAC9D,IAAI,EAAE,KAAK,EACX,OAAO,CAAC,EAAE,gBAAgB,GACzB,CAAC,OAAO,EAAE,wBAAwB,CAAC,KAAK,CAAC,KAAK,IAAI,CAGpD;AAED,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { PluginCapabilities, PluginErrorPayload, PluginEventEmitPayload, PluginResizeRequestPayload, PluginSetBadgePayload, PluginSetTitlePayload } from './protocol/index.js';
|
|
3
|
+
export interface PluginIframeRpcContext {
|
|
4
|
+
capabilities: PluginCapabilities;
|
|
5
|
+
/** Reflects the iframe iframe back through for downstream handlers. */
|
|
6
|
+
iframe: HTMLIFrameElement;
|
|
7
|
+
}
|
|
8
|
+
export type PluginIframeRpcHandler = (method: string, args: unknown, ctx: PluginIframeRpcContext) => Promise<unknown>;
|
|
9
|
+
export interface PluginIframeProps {
|
|
10
|
+
/** Absolute or relative URL the iframe loads. */
|
|
11
|
+
src: string;
|
|
12
|
+
/** Origin the iframe is allowed to postMessage to / from. */
|
|
13
|
+
origin: string;
|
|
14
|
+
/** Mount point id passed to the plugin in `host:init`. */
|
|
15
|
+
mountPoint: string;
|
|
16
|
+
/** Context payload passed to the plugin in `host:init` (e.g. `{ vibeId }`). */
|
|
17
|
+
context: Record<string, unknown>;
|
|
18
|
+
/** Agent id whose tunnel serves the iframe. */
|
|
19
|
+
agentId: string;
|
|
20
|
+
/** Profile name (CLI segment on the agent). */
|
|
21
|
+
profile: string;
|
|
22
|
+
/** Tunnel base URL the plugin should call for REST. */
|
|
23
|
+
tunnelUrl: string;
|
|
24
|
+
/** Iframe token scoped to the plugin's `capabilities.restPaths`. */
|
|
25
|
+
iframeToken: string;
|
|
26
|
+
/** Capabilities the plugin declared in its manifest. Used to derive sandbox. */
|
|
27
|
+
capabilities: PluginCapabilities;
|
|
28
|
+
/** Theme broadcast to the plugin. Updates re-flow into the iframe via host:theme-change. */
|
|
29
|
+
theme: {
|
|
30
|
+
colorMode: 'light' | 'dark';
|
|
31
|
+
tokens: Record<string, string>;
|
|
32
|
+
};
|
|
33
|
+
/** Locale broadcast to the plugin. */
|
|
34
|
+
locale: string;
|
|
35
|
+
/** Feature-flag snapshot broadcast to the plugin. */
|
|
36
|
+
featureFlags: Record<string, boolean>;
|
|
37
|
+
/** Host version surfaced via `host:init`. */
|
|
38
|
+
hostVersion: string;
|
|
39
|
+
/** RPC handler the host wires up. Method allow-list is enforced separately. */
|
|
40
|
+
onRpcRequest: PluginIframeRpcHandler;
|
|
41
|
+
/** Called when the plugin emits an event UP to the host EventBus. */
|
|
42
|
+
onPluginEvent?: (payload: PluginEventEmitPayload) => void;
|
|
43
|
+
/** Called when the plugin asks to update its tab/widget badge. */
|
|
44
|
+
onBadgeRequest?: (value: PluginSetBadgePayload['value']) => void;
|
|
45
|
+
/** Called when the plugin asks to update its tab/widget title. */
|
|
46
|
+
onTitleRequest?: (value: PluginSetTitlePayload['value']) => void;
|
|
47
|
+
/** Called when the plugin asks the host to resize the iframe. Host decides. */
|
|
48
|
+
onResizeRequest?: (opts: PluginResizeRequestPayload) => void;
|
|
49
|
+
/** Called when the plugin self-reports a runtime error. */
|
|
50
|
+
onPluginError?: (payload: PluginErrorPayload) => void;
|
|
51
|
+
/** Rendered while the iframe is loading / before `plugin:ready`. */
|
|
52
|
+
loadingFallback?: ReactNode;
|
|
53
|
+
/** Rendered when the handshake times out. Receives the error message. */
|
|
54
|
+
errorFallback?: (error: {
|
|
55
|
+
message: string;
|
|
56
|
+
}) => ReactNode;
|
|
57
|
+
/** Override the 10s ready timeout. */
|
|
58
|
+
readyTimeoutMs?: number;
|
|
59
|
+
/** Forwarded `<iframe>` attributes for layout / styling. */
|
|
60
|
+
title?: string;
|
|
61
|
+
className?: string;
|
|
62
|
+
style?: React.CSSProperties;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Host-side iframe primitive. Mounts an iframe at `src`, runs the v1
|
|
66
|
+
* postMessage handshake, derives the sandbox attribute from the
|
|
67
|
+
* plugin's manifest capabilities, and translates the plugin's RPC
|
|
68
|
+
* requests into host service calls.
|
|
69
|
+
*
|
|
70
|
+
* Cross-product: depends only on the inlined `./protocol` + `./client` envelope
|
|
71
|
+
* but not on any product-specific gateway / tunnel concept. Host pages
|
|
72
|
+
* supply the URL + token + RPC handler.
|
|
73
|
+
*/
|
|
74
|
+
export declare function PluginIframe(props: PluginIframeProps): import("react/jsx-runtime").JSX.Element;
|
|
75
|
+
//# sourceMappingURL=PluginIframe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginIframe.d.ts","sourceRoot":"","sources":["../../../../src/shared/plugins/iframe-mount/PluginIframe.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG7E,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EAEtB,0BAA0B,EAE1B,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAY7B,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,kBAAkB,CAAC;IACjC,uEAAuE;IACvE,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,sBAAsB,KACxB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,YAAY,EAAE,kBAAkB,CAAC;IACjC,4FAA4F;IAC5F,KAAK,EAAE;QAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IACvE,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,YAAY,EAAE,sBAAsB,CAAC;IACrC,qEAAqE;IACrE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC1D,kEAAkE;IAClE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE,kEAAkE;IAClE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE,+EAA+E;IAC/E,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAC7D,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,oEAAoE;IACpE,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,yEAAyE;IACzE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAC;IAC1D,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAyPpD"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { deriveSandbox as e } from "./sandbox.js";
|
|
2
|
+
import { ParentMessageBus as t, buildHostEnvelope as n } from "./client/message-bus.js";
|
|
3
|
+
import { RpcDispatcher as r } from "./client/rpc.js";
|
|
4
|
+
import { useEffect as i, useMemo as a, useRef as o, useState as s } from "react";
|
|
5
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
|
+
//#region src/shared/plugins/iframe-mount/PluginIframe.tsx
|
|
7
|
+
var u = 1e4;
|
|
8
|
+
function d(d) {
|
|
9
|
+
let { src: f, origin: p, mountPoint: m, context: h, agentId: g, profile: _, tunnelUrl: v, iframeToken: y, capabilities: b, theme: x, locale: S, featureFlags: C, hostVersion: w, onRpcRequest: T, onPluginEvent: E, onBadgeRequest: D, onTitleRequest: O, onResizeRequest: k, onPluginError: A, loadingFallback: j = null, errorFallback: M, readyTimeoutMs: N = u, title: P, className: F, style: I } = d, L = o(null), R = o(null), z = o(null), B = o(!1), [V, H] = s("loading"), [U, W] = s(null), G = a(() => e(b), [b]), K = o({
|
|
10
|
+
iframeToken: y,
|
|
11
|
+
tunnelUrl: v,
|
|
12
|
+
mountPoint: m,
|
|
13
|
+
context: h,
|
|
14
|
+
agentId: g,
|
|
15
|
+
profile: _,
|
|
16
|
+
theme: x,
|
|
17
|
+
locale: S,
|
|
18
|
+
capabilities: b,
|
|
19
|
+
featureFlags: C,
|
|
20
|
+
sdkVersion: "1",
|
|
21
|
+
hostVersion: w
|
|
22
|
+
});
|
|
23
|
+
K.current = {
|
|
24
|
+
iframeToken: y,
|
|
25
|
+
tunnelUrl: v,
|
|
26
|
+
mountPoint: m,
|
|
27
|
+
context: h,
|
|
28
|
+
agentId: g,
|
|
29
|
+
profile: _,
|
|
30
|
+
theme: x,
|
|
31
|
+
locale: S,
|
|
32
|
+
capabilities: b,
|
|
33
|
+
featureFlags: C,
|
|
34
|
+
sdkVersion: "1",
|
|
35
|
+
hostVersion: w
|
|
36
|
+
};
|
|
37
|
+
let q = () => K.current, J = o(T);
|
|
38
|
+
J.current = T;
|
|
39
|
+
let Y = o(b);
|
|
40
|
+
return Y.current = b, i(() => {
|
|
41
|
+
let e = L.current;
|
|
42
|
+
if (!e) return;
|
|
43
|
+
let i = new t({
|
|
44
|
+
allowedOrigins: [p],
|
|
45
|
+
iframe: e
|
|
46
|
+
});
|
|
47
|
+
R.current = i;
|
|
48
|
+
let a = new r({ send(e, t, n, r) {} });
|
|
49
|
+
z.current = a;
|
|
50
|
+
let o = setTimeout(() => {
|
|
51
|
+
B.current || (H("error"), W(`Plugin did not respond within ${N}ms`));
|
|
52
|
+
}, N), s = i.on(async (t) => {
|
|
53
|
+
switch (t.kind) {
|
|
54
|
+
case "plugin:ready":
|
|
55
|
+
t.payload, B.current = !0, H("ready"), W(null), i.send(n("host:init", q()));
|
|
56
|
+
return;
|
|
57
|
+
case "plugin:rpc-request": {
|
|
58
|
+
let r = t.payload, a = t.requestId;
|
|
59
|
+
if (!a) return;
|
|
60
|
+
if (!Y.current.rpcMethods.includes(r.method)) {
|
|
61
|
+
i.send(n("host:rpc-response", {
|
|
62
|
+
ok: !1,
|
|
63
|
+
error: {
|
|
64
|
+
code: "capability_denied",
|
|
65
|
+
message: `Method '${r.method}' is not in the plugin's declared rpcMethods.`
|
|
66
|
+
}
|
|
67
|
+
}, a));
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
let t = await J.current(r.method, r.args, {
|
|
72
|
+
capabilities: Y.current,
|
|
73
|
+
iframe: e
|
|
74
|
+
});
|
|
75
|
+
i.send(n("host:rpc-response", {
|
|
76
|
+
ok: !0,
|
|
77
|
+
result: t
|
|
78
|
+
}, a));
|
|
79
|
+
} catch (e) {
|
|
80
|
+
let t = e instanceof Error ? e.message : String(e), r = e && typeof e == "object" && "code" in e ? String(e.code ?? "rpc_handler_failed") : "rpc_handler_failed";
|
|
81
|
+
i.send(n("host:rpc-response", {
|
|
82
|
+
ok: !1,
|
|
83
|
+
error: {
|
|
84
|
+
code: r,
|
|
85
|
+
message: t
|
|
86
|
+
}
|
|
87
|
+
}, a));
|
|
88
|
+
}
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
case "plugin:event-emit":
|
|
92
|
+
E?.(t.payload);
|
|
93
|
+
return;
|
|
94
|
+
case "plugin:set-badge":
|
|
95
|
+
D?.(t.payload.value);
|
|
96
|
+
return;
|
|
97
|
+
case "plugin:set-title":
|
|
98
|
+
O?.(t.payload.value);
|
|
99
|
+
return;
|
|
100
|
+
case "plugin:resize-request":
|
|
101
|
+
k?.(t.payload);
|
|
102
|
+
return;
|
|
103
|
+
case "plugin:error":
|
|
104
|
+
A?.(t.payload);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
return () => {
|
|
109
|
+
clearTimeout(o), s(), i.send(n("host:dispose", {})), i.dispose(), a.rejectAll(/* @__PURE__ */ Error("PluginIframe unmounted")), R.current = null, z.current = null, B.current = !1;
|
|
110
|
+
};
|
|
111
|
+
}, [f, p]), i(() => {
|
|
112
|
+
B.current && R.current?.send(n("host:theme-change", {
|
|
113
|
+
colorMode: x.colorMode,
|
|
114
|
+
tokens: x.tokens
|
|
115
|
+
}));
|
|
116
|
+
}, [x.colorMode, x.tokens]), i(() => {
|
|
117
|
+
B.current && R.current?.send(n("host:locale-change", { locale: S }));
|
|
118
|
+
}, [S]), i(() => {
|
|
119
|
+
B.current && R.current?.send(n("host:context-change", { context: h }));
|
|
120
|
+
}, [h]), i(() => {
|
|
121
|
+
if (B.current) for (let [e, t] of Object.entries(C)) R.current?.send(n("host:feature-flag", {
|
|
122
|
+
flag: e,
|
|
123
|
+
value: t
|
|
124
|
+
}));
|
|
125
|
+
}, [C]), /* @__PURE__ */ l("div", {
|
|
126
|
+
className: F,
|
|
127
|
+
style: I,
|
|
128
|
+
children: [
|
|
129
|
+
V === "error" && M ? M({ message: U ?? "" }) : null,
|
|
130
|
+
V === "loading" ? j : null,
|
|
131
|
+
/* @__PURE__ */ c("iframe", {
|
|
132
|
+
ref: L,
|
|
133
|
+
src: f,
|
|
134
|
+
title: P ?? "Plugin iframe",
|
|
135
|
+
sandbox: G,
|
|
136
|
+
style: {
|
|
137
|
+
width: "100%",
|
|
138
|
+
height: "100%",
|
|
139
|
+
border: 0,
|
|
140
|
+
display: V === "error" ? "none" : "block"
|
|
141
|
+
}
|
|
142
|
+
})
|
|
143
|
+
]
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
//#endregion
|
|
147
|
+
export { d as PluginIframe };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { PluginIframe, PluginIframeProps, PluginIframeRpcHandler } from './PluginIframe';
|
|
3
|
+
import { DiscoveredContribution, InProcessPluginEntry, RuntimePreference } from './types';
|
|
4
|
+
export interface PluginMountChildProps {
|
|
5
|
+
/** Discovered contribution being mounted. */
|
|
6
|
+
contribution: DiscoveredContribution;
|
|
7
|
+
/** The chosen runtime (`'iframe'` or `'in-process'`). */
|
|
8
|
+
runtime: 'iframe' | 'in-process';
|
|
9
|
+
/** Rendered iframe element (only present for `runtime === 'iframe'`). */
|
|
10
|
+
iframeProps?: Omit<PluginIframeProps, 'loadingFallback' | 'errorFallback' | 'title' | 'className' | 'style'>;
|
|
11
|
+
/** Rendered React component (only present for `runtime === 'in-process'`). */
|
|
12
|
+
inProcessNode?: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export interface PluginMountProps {
|
|
15
|
+
/** Discovered iframe contributions from the agent. */
|
|
16
|
+
contributions: DiscoveredContribution[];
|
|
17
|
+
/** In-process plugin components registered by the host shell. */
|
|
18
|
+
inProcess?: InProcessPluginEntry[];
|
|
19
|
+
/** Per-page context passed to the plugin via `host:init`. */
|
|
20
|
+
context: Record<string, unknown>;
|
|
21
|
+
/** Agent id whose tunnel serves the iframe contributions. */
|
|
22
|
+
agentId: string;
|
|
23
|
+
/** Theme broadcast to plugin iframes (and to in-process plugins via the bridge). */
|
|
24
|
+
theme: {
|
|
25
|
+
colorMode: 'light' | 'dark';
|
|
26
|
+
tokens: Record<string, string>;
|
|
27
|
+
};
|
|
28
|
+
/** Locale broadcast to plugins. */
|
|
29
|
+
locale: string;
|
|
30
|
+
/** Feature flags surfaced to plugins. */
|
|
31
|
+
featureFlags: Record<string, boolean>;
|
|
32
|
+
/** Host shell version surfaced via `host:init`. */
|
|
33
|
+
hostVersion: string;
|
|
34
|
+
/** RPC handler that resolves `plugin:rpc-request` calls. */
|
|
35
|
+
onRpcRequest: PluginIframeRpcHandler;
|
|
36
|
+
/**
|
|
37
|
+
* Preference between runtimes when a contribution declares both. The
|
|
38
|
+
* default is `iframe` (sandboxed; works for user-installable plugins).
|
|
39
|
+
* Pages that want first-party in-process plugins to win can pass
|
|
40
|
+
* `'in-process'`.
|
|
41
|
+
*/
|
|
42
|
+
prefer?: RuntimePreference;
|
|
43
|
+
/**
|
|
44
|
+
* Renders each contribution. The host page is responsible for the
|
|
45
|
+
* actual tab/widget chrome; this primitive just feeds it the right
|
|
46
|
+
* props.
|
|
47
|
+
*/
|
|
48
|
+
children: (props: PluginMountChildProps) => ReactNode;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Iterator over discovered contributions. Picks a runtime per
|
|
52
|
+
* contribution (iframe or in-process), mints/refreshes the iframe
|
|
53
|
+
* token, and delegates rendering to the consumer via the `children`
|
|
54
|
+
* render-prop.
|
|
55
|
+
*/
|
|
56
|
+
export declare function PluginMount(props: PluginMountProps): import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
/** Re-export so consumers can render the iframe directly from their child render-prop. */
|
|
58
|
+
export { PluginIframe };
|
|
59
|
+
//# sourceMappingURL=PluginMount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginMount.d.ts","sourceRoot":"","sources":["../../../../src/shared/plugins/iframe-mount/PluginMount.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EAEpB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,YAAY,EAAE,sBAAsB,CAAC;IACrC,yDAAyD;IACzD,OAAO,EAAE,QAAQ,GAAG,YAAY,CAAC;IACjC,yEAAyE;IACzE,WAAW,CAAC,EAAE,IAAI,CAChB,iBAAiB,EACjB,iBAAiB,GAAG,eAAe,GAAG,OAAO,GAAG,WAAW,GAAG,OAAO,CACtE,CAAC;IACF,8EAA8E;IAC9E,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,iEAAiE;IACjE,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACnC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,KAAK,EAAE;QAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IACvE,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,YAAY,EAAE,sBAAsB,CAAC;IACrC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,SAAS,CAAC;CACvD;AAOD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAwFlD;AAkKD,0FAA0F;AAC1F,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import "./PluginIframe.js";
|
|
2
|
+
import { useEffect as e, useMemo as t, useRef as n, useState as r } from "react";
|
|
3
|
+
import { Fragment as i, jsx as a } from "react/jsx-runtime";
|
|
4
|
+
//#region src/shared/plugins/iframe-mount/PluginMount.tsx
|
|
5
|
+
function o(e) {
|
|
6
|
+
let { contributions: n, inProcess: r = [], context: o, agentId: l, theme: u, locale: d, featureFlags: f, hostVersion: p, onRpcRequest: m, prefer: h = "iframe", children: g } = e, _ = t(() => {
|
|
7
|
+
let e = /* @__PURE__ */ new Map();
|
|
8
|
+
for (let t of r) e.set(`${t.mountPoint}:${t.id}`, t);
|
|
9
|
+
return e;
|
|
10
|
+
}, [r]);
|
|
11
|
+
return /* @__PURE__ */ a(i, { children: n.map((e) => {
|
|
12
|
+
let { contribution: t, tunnel: n, url: r } = e, i = _.get(`${t.mountPoint}:${t.id}`), v = t.runtimes.includes("iframe"), y = t.runtimes.includes("in-process") && !!i, b = null;
|
|
13
|
+
if (h === "in-process" && y ? b = "in-process" : h === "iframe" && v || v ? b = "iframe" : y && (b = "in-process"), !b) return console.warn(`[PluginMount] No runtime available for contribution ${t.id} (mount ${t.mountPoint}). Declared:`, t.runtimes), null;
|
|
14
|
+
if (b === "in-process") {
|
|
15
|
+
let n = i.Component;
|
|
16
|
+
return /* @__PURE__ */ a(s, {
|
|
17
|
+
child: g,
|
|
18
|
+
childProps: {
|
|
19
|
+
contribution: e,
|
|
20
|
+
runtime: "in-process",
|
|
21
|
+
inProcessNode: /* @__PURE__ */ a(n, { context: o })
|
|
22
|
+
}
|
|
23
|
+
}, `in-process:${t.id}`);
|
|
24
|
+
}
|
|
25
|
+
return /* @__PURE__ */ a(c, {
|
|
26
|
+
discovered: e,
|
|
27
|
+
tunnel: n,
|
|
28
|
+
url: r,
|
|
29
|
+
context: o,
|
|
30
|
+
agentId: l,
|
|
31
|
+
theme: u,
|
|
32
|
+
locale: d,
|
|
33
|
+
featureFlags: f,
|
|
34
|
+
hostVersion: p,
|
|
35
|
+
onRpcRequest: m,
|
|
36
|
+
render: (t) => g({
|
|
37
|
+
contribution: e,
|
|
38
|
+
runtime: "iframe",
|
|
39
|
+
iframeProps: t
|
|
40
|
+
})
|
|
41
|
+
}, `iframe:${t.id}`);
|
|
42
|
+
}) });
|
|
43
|
+
}
|
|
44
|
+
function s(e) {
|
|
45
|
+
return /* @__PURE__ */ a(i, { children: e.child(e.childProps) });
|
|
46
|
+
}
|
|
47
|
+
function c(o) {
|
|
48
|
+
let { discovered: s, tunnel: c, url: l, context: u, agentId: d, theme: f, locale: p, featureFlags: m, hostVersion: h, onRpcRequest: g, render: _ } = o, [v, y] = r({
|
|
49
|
+
token: null,
|
|
50
|
+
expiresAt: 0
|
|
51
|
+
}), b = n(!0), x = s.capabilities.restPaths.join("|"), S = t(() => {
|
|
52
|
+
let e = s.capabilities.restPaths;
|
|
53
|
+
return e && e.length > 0 ? e : [`/ui/${s.pluginKey}`];
|
|
54
|
+
}, [s.pluginKey, x]);
|
|
55
|
+
if (e(() => {
|
|
56
|
+
return b.current = !0, e(S), () => {
|
|
57
|
+
b.current = !1;
|
|
58
|
+
};
|
|
59
|
+
async function e(e) {
|
|
60
|
+
try {
|
|
61
|
+
let { token: t, expiresAt: n } = await c.mintIframeToken({ pathPrefixes: e });
|
|
62
|
+
if (!b.current) return;
|
|
63
|
+
let r = Date.parse(n);
|
|
64
|
+
if (!Number.isFinite(r)) {
|
|
65
|
+
y({
|
|
66
|
+
token: null,
|
|
67
|
+
expiresAt: 0
|
|
68
|
+
});
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
y({
|
|
72
|
+
token: t,
|
|
73
|
+
expiresAt: r
|
|
74
|
+
});
|
|
75
|
+
} catch {
|
|
76
|
+
if (!b.current) return;
|
|
77
|
+
y({
|
|
78
|
+
token: null,
|
|
79
|
+
expiresAt: 0
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}, [c, S]), e(() => {
|
|
84
|
+
if (!v.token || v.expiresAt <= 0) return;
|
|
85
|
+
let e = Math.max(5e3, v.expiresAt - Date.now() - 6e4);
|
|
86
|
+
if (!Number.isFinite(e)) return;
|
|
87
|
+
let t = setTimeout(() => {
|
|
88
|
+
c.mintIframeToken({ pathPrefixes: S }).then(({ token: e, expiresAt: t }) => {
|
|
89
|
+
if (!b.current) return;
|
|
90
|
+
let n = Date.parse(t);
|
|
91
|
+
Number.isFinite(n) && y({
|
|
92
|
+
token: e,
|
|
93
|
+
expiresAt: n
|
|
94
|
+
});
|
|
95
|
+
}).catch(() => {});
|
|
96
|
+
}, e);
|
|
97
|
+
return () => clearTimeout(t);
|
|
98
|
+
}, [
|
|
99
|
+
v.token,
|
|
100
|
+
v.expiresAt,
|
|
101
|
+
c,
|
|
102
|
+
S
|
|
103
|
+
]), !v.token) return null;
|
|
104
|
+
let C = (() => {
|
|
105
|
+
try {
|
|
106
|
+
return new URL(c.tunnelUrl).origin;
|
|
107
|
+
} catch {
|
|
108
|
+
return c.tunnelUrl;
|
|
109
|
+
}
|
|
110
|
+
})();
|
|
111
|
+
return /* @__PURE__ */ a(i, { children: _({
|
|
112
|
+
src: `${c.tunnelUrl.replace(/\/$/, "")}${l.startsWith("/") ? l : `/${l}`}?vt=${encodeURIComponent(v.token)}`,
|
|
113
|
+
origin: C,
|
|
114
|
+
mountPoint: s.contribution.mountPoint,
|
|
115
|
+
context: u,
|
|
116
|
+
agentId: d,
|
|
117
|
+
profile: c.profile,
|
|
118
|
+
tunnelUrl: c.tunnelUrl,
|
|
119
|
+
iframeToken: v.token,
|
|
120
|
+
capabilities: s.capabilities,
|
|
121
|
+
theme: f,
|
|
122
|
+
locale: p,
|
|
123
|
+
featureFlags: m,
|
|
124
|
+
hostVersion: h,
|
|
125
|
+
onRpcRequest: g
|
|
126
|
+
}) });
|
|
127
|
+
}
|
|
128
|
+
//#endregion
|
|
129
|
+
export { o as PluginMount };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/plugins/iframe-mount/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Envelope, HostEnvelope, HostOp, PluginEnvelope, PluginOp } from '../protocol/envelope.js';
|
|
2
|
+
export type EnvelopeHandler<E extends Envelope = Envelope> = (env: E) => void;
|
|
3
|
+
/** Subset of the DOM `Window` we depend on. Tests pass a stub. */
|
|
4
|
+
export interface MessageWindow {
|
|
5
|
+
addEventListener(type: 'message', listener: (event: MessageEvent) => void, options?: {
|
|
6
|
+
signal?: AbortSignal;
|
|
7
|
+
}): void;
|
|
8
|
+
removeEventListener(type: 'message', listener: (event: MessageEvent) => void): void;
|
|
9
|
+
}
|
|
10
|
+
export interface MessageTarget {
|
|
11
|
+
postMessage(message: unknown, targetOrigin: string): void;
|
|
12
|
+
}
|
|
13
|
+
export interface BusOptions {
|
|
14
|
+
/** Identity check on every receive. Tightens the trust boundary. */
|
|
15
|
+
allowedOrigins: string[];
|
|
16
|
+
/** Optional handle to a specific `MessageEventSource` we expect. */
|
|
17
|
+
expectedSource?: MessageEventSource | null;
|
|
18
|
+
/** Stub-friendly window. Defaults to the platform `window` at runtime. */
|
|
19
|
+
window?: MessageWindow;
|
|
20
|
+
}
|
|
21
|
+
declare abstract class BaseMessageBus<TSend extends Envelope, TRecv extends Envelope> {
|
|
22
|
+
protected readonly options: BusOptions;
|
|
23
|
+
protected handlers: Set<EnvelopeHandler<TRecv>>;
|
|
24
|
+
protected disposed: boolean;
|
|
25
|
+
private readonly listener;
|
|
26
|
+
private readonly hostWindow;
|
|
27
|
+
constructor(options: BusOptions);
|
|
28
|
+
on(handler: EnvelopeHandler<TRecv>): () => void;
|
|
29
|
+
dispose(): void;
|
|
30
|
+
protected abstract get target(): MessageTarget;
|
|
31
|
+
protected abstract get targetOrigin(): string;
|
|
32
|
+
protected abstract isExpectedDirection(env: Envelope): env is TRecv;
|
|
33
|
+
send(envelope: TSend): void;
|
|
34
|
+
private handleMessage;
|
|
35
|
+
}
|
|
36
|
+
export interface IframeBusOptions extends BusOptions {
|
|
37
|
+
/** The parent we postMessage UP to. Defaults to `window.parent`. */
|
|
38
|
+
parent?: MessageTarget;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The bus a plugin instance uses to talk to its host shell. Send a
|
|
42
|
+
* `PluginEnvelope` UP, receive `HostEnvelope`s DOWN.
|
|
43
|
+
*/
|
|
44
|
+
export declare class IframeMessageBus extends BaseMessageBus<PluginEnvelope, HostEnvelope> {
|
|
45
|
+
private readonly parentTarget;
|
|
46
|
+
private readonly origin;
|
|
47
|
+
constructor(opts: IframeBusOptions);
|
|
48
|
+
protected get target(): MessageTarget;
|
|
49
|
+
protected get targetOrigin(): string;
|
|
50
|
+
protected isExpectedDirection(env: Envelope): env is HostEnvelope;
|
|
51
|
+
}
|
|
52
|
+
export interface ParentBusOptions extends BusOptions {
|
|
53
|
+
/** The iframe element we postMessage DOWN to. */
|
|
54
|
+
iframe: HTMLIFrameElement;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The bus a host page uses to talk to one iframe-mounted plugin instance.
|
|
58
|
+
* Send a `HostEnvelope` DOWN, receive `PluginEnvelope`s UP.
|
|
59
|
+
*/
|
|
60
|
+
export declare class ParentMessageBus extends BaseMessageBus<HostEnvelope, PluginEnvelope> {
|
|
61
|
+
private readonly iframe;
|
|
62
|
+
private readonly origin;
|
|
63
|
+
constructor(opts: ParentBusOptions);
|
|
64
|
+
protected get target(): MessageTarget;
|
|
65
|
+
protected get targetOrigin(): string;
|
|
66
|
+
protected isExpectedDirection(env: Envelope): env is PluginEnvelope;
|
|
67
|
+
}
|
|
68
|
+
export declare function buildHostEnvelope<P = unknown>(kind: HostOp, payload: P, requestId?: string): HostEnvelope<P>;
|
|
69
|
+
export declare function buildPluginEnvelope<P = unknown>(kind: PluginOp, payload: P, requestId?: string): PluginEnvelope<P>;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=message-bus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-bus.d.ts","sourceRoot":"","sources":["../../../../../src/shared/plugins/iframe-mount/client/message-bus.ts"],"names":[],"mappings":"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"}
|