@mittwald/flow-remote-core 0.2.0-alpha.1006 → 0.2.0-alpha.1007

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.
@@ -13,4 +13,5 @@ export { connectHostRenderRoot, connectHostRenderRootRef, connectRemoteReceiver
13
13
  export { connectRemoteIframe, connectRemoteIframeRef } from './packages/remote-core/src/connection/connectRemoteIframe.mjs';
14
14
  export { Version } from './packages/remote-core/src/connection/types.mjs';
15
15
  export { RemoteError } from './packages/remote-core/src/error.mjs';
16
+ export { componentRenderedEventSchema, parseReportedEvent, reportedEventSchema } from './packages/remote-core/src/events/remoteEvents.mjs';
16
17
  //# sourceMappingURL=index-node.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-node.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index-node.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
package/dist/js/index.mjs CHANGED
@@ -12,4 +12,5 @@ export { connectHostRenderRoot, connectHostRenderRootRef, connectRemoteReceiver
12
12
  export { connectRemoteIframe, connectRemoteIframeRef } from './packages/remote-core/src/connection/connectRemoteIframe.mjs';
13
13
  export { Version } from './packages/remote-core/src/connection/types.mjs';
14
14
  export { RemoteError } from './packages/remote-core/src/error.mjs';
15
+ export { componentRenderedEventSchema, parseReportedEvent, reportedEventSchema } from './packages/remote-core/src/events/remoteEvents.mjs';
15
16
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,4 +1,5 @@
1
1
  import { Version } from './types.mjs';
2
+ import { parseReportedEvent } from '../events/remoteEvents.mjs';
2
3
  import { getWithMergedHostConfig } from '../ext-bridge/getWithMergedHostConfig.mjs';
3
4
  import { emptyImplementation } from '../ext-bridge/implementation.mjs';
4
5
  import { FlowThreadSerialization } from '../serialization/FlowThreadSerialization.mjs';
@@ -23,6 +24,7 @@ const connectRemoteIframe = (opts) => {
23
24
  onError,
24
25
  onNavigationStateChanged,
25
26
  onDeprecation,
27
+ onEvent,
26
28
  extBridgeImplementation: extBridgeImplementationProp = emptyImplementation,
27
29
  hostConfig
28
30
  } = opts;
@@ -55,6 +57,12 @@ const connectRemoteIframe = (opts) => {
55
57
  reportDeprecation: async (message) => {
56
58
  onDeprecation?.(message);
57
59
  },
60
+ reportEvent: async (event) => {
61
+ const parsed = parseReportedEvent(event);
62
+ if (parsed) {
63
+ onEvent?.(parsed);
64
+ }
65
+ },
58
66
  getHostConfig: async () => {
59
67
  return hostConfig;
60
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connectRemoteIframe.mjs","sources":["../../../../../../src/connection/connectRemoteIframe.ts"],"sourcesContent":["import {\n Version,\n type HostExports,\n type HostToRemoteConnection,\n type HostToRemoteConnectionReadyEvent,\n type NavigationState,\n type RemoteExports,\n type RemoteExtBridgeConnectionApi,\n type RemoteReadyEvent,\n type RemoteReadyEventInput,\n} from \"@/connection/types\";\nimport { getWithMergedHostConfig } from \"@/ext-bridge/getWithMergedHostConfig\";\nimport { emptyImplementation } from \"@/ext-bridge/implementation\";\nimport { FlowThreadSerialization } from \"@/serialization/FlowThreadSerialization\";\nimport { type HostConfig } from \"@mittwald/flow-core\";\nimport type { RemoteConnection } from \"@mittwald/remote-dom-core/elements\";\nimport { ThreadIframe } from \"@quilted/threads\";\n\ninterface Options {\n connection: RemoteConnection;\n iframe: HTMLIFrameElement;\n hostConfig: HostConfig;\n onReady?: (event: HostToRemoteConnectionReadyEvent) => void;\n onLoadingChanged?: (isLoading: boolean) => void;\n onError?: (error: string) => void;\n onNavigationStateChanged?: (state: NavigationState) => void;\n onDeprecation?: (message: string) => void;\n extBridgeImplementation?: RemoteExtBridgeConnectionApi;\n}\n\nconst normalizeReadyEvent = (\n event?: RemoteReadyEventInput,\n): RemoteReadyEvent => {\n if (typeof event === \"number\") {\n return {\n version: event,\n };\n }\n\n return (\n event ?? {\n version: Version.v1,\n }\n );\n};\n\nexport const connectRemoteIframe = (opts: Options): HostToRemoteConnection => {\n const {\n connection,\n iframe,\n onReady,\n onLoadingChanged,\n onError,\n onNavigationStateChanged,\n onDeprecation,\n extBridgeImplementation: extBridgeImplementationProp = emptyImplementation,\n hostConfig,\n } = opts;\n\n const extBridgeImplementation = {\n ...extBridgeImplementationProp,\n getConfig: getWithMergedHostConfig(extBridgeImplementationProp, hostConfig),\n };\n\n const result: HostToRemoteConnection = {\n thread: new ThreadIframe<RemoteExports, HostExports>(iframe, {\n serialization: new FlowThreadSerialization(),\n exports: {\n ...extBridgeImplementation,\n setIsReady: async (event) => {\n const readyEvent = normalizeReadyEvent(event);\n result.version = readyEvent.version;\n onReady?.({\n connection: result,\n remoteReadyEvent: readyEvent,\n });\n },\n setIsLoading: async (isLoading: boolean) => {\n onLoadingChanged?.(isLoading);\n },\n setError: async (error: string) => {\n onError?.(error);\n },\n setNavigationState: async (state) => {\n onNavigationStateChanged?.(state);\n },\n reportDeprecation: async (message: string) => {\n onDeprecation?.(message);\n },\n getHostConfig: async () => {\n return hostConfig;\n },\n },\n }),\n updateHostPathname: (hostPathname?: string) => {\n if (hostPathname === undefined) {\n return;\n }\n\n if (result.version >= Version.v2) {\n result.thread.imports.setPathname(hostPathname);\n }\n },\n reportHostError: async (error) => {\n if (result.version >= Version.v5) {\n await result.thread.imports.setHostError(error);\n }\n },\n version: 0,\n };\n\n result.thread.imports.render(connection);\n return result;\n};\n\nexport const connectRemoteIframeRef =\n (opts: Omit<Options, \"iframe\">) => (ref: HTMLIFrameElement | null) => {\n if (!ref) {\n return;\n }\n\n if (\"__remoteConnection\" in ref) {\n return ref[\"__remoteConnection\"] as HostToRemoteConnection;\n }\n\n const connection = connectRemoteIframe({\n iframe: ref,\n ...opts,\n });\n Object.assign(ref, { __remoteConnection: connection });\n return connection;\n };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectRemoteIframe.mjs","sources":["../../../../../../src/connection/connectRemoteIframe.ts"],"sourcesContent":["import {\n Version,\n type HostExports,\n type HostToRemoteConnection,\n type HostToRemoteConnectionReadyEvent,\n type NavigationState,\n type RemoteExports,\n type RemoteExtBridgeConnectionApi,\n type RemoteReadyEvent,\n type RemoteReadyEventInput,\n} from \"@/connection/types\";\nimport { parseReportedEvent, type ReportedEvent } from \"@/events/remoteEvents\";\nimport { getWithMergedHostConfig } from \"@/ext-bridge/getWithMergedHostConfig\";\nimport { emptyImplementation } from \"@/ext-bridge/implementation\";\nimport { FlowThreadSerialization } from \"@/serialization/FlowThreadSerialization\";\nimport { type HostConfig } from \"@mittwald/flow-core\";\nimport type { RemoteConnection } from \"@mittwald/remote-dom-core/elements\";\nimport { ThreadIframe } from \"@quilted/threads\";\n\ninterface Options {\n connection: RemoteConnection;\n iframe: HTMLIFrameElement;\n hostConfig: HostConfig;\n onReady?: (event: HostToRemoteConnectionReadyEvent) => void;\n onLoadingChanged?: (isLoading: boolean) => void;\n onError?: (error: string) => void;\n onNavigationStateChanged?: (state: NavigationState) => void;\n onDeprecation?: (message: string) => void;\n onEvent?: (event: ReportedEvent) => void;\n extBridgeImplementation?: RemoteExtBridgeConnectionApi;\n}\n\nconst normalizeReadyEvent = (\n event?: RemoteReadyEventInput,\n): RemoteReadyEvent => {\n if (typeof event === \"number\") {\n return {\n version: event,\n };\n }\n\n return (\n event ?? {\n version: Version.v1,\n }\n );\n};\n\nexport const connectRemoteIframe = (opts: Options): HostToRemoteConnection => {\n const {\n connection,\n iframe,\n onReady,\n onLoadingChanged,\n onError,\n onNavigationStateChanged,\n onDeprecation,\n onEvent,\n extBridgeImplementation: extBridgeImplementationProp = emptyImplementation,\n hostConfig,\n } = opts;\n\n const extBridgeImplementation = {\n ...extBridgeImplementationProp,\n getConfig: getWithMergedHostConfig(extBridgeImplementationProp, hostConfig),\n };\n\n const result: HostToRemoteConnection = {\n thread: new ThreadIframe<RemoteExports, HostExports>(iframe, {\n serialization: new FlowThreadSerialization(),\n exports: {\n ...extBridgeImplementation,\n setIsReady: async (event) => {\n const readyEvent = normalizeReadyEvent(event);\n result.version = readyEvent.version;\n onReady?.({\n connection: result,\n remoteReadyEvent: readyEvent,\n });\n },\n setIsLoading: async (isLoading: boolean) => {\n onLoadingChanged?.(isLoading);\n },\n setError: async (error: string) => {\n onError?.(error);\n },\n setNavigationState: async (state) => {\n onNavigationStateChanged?.(state);\n },\n reportDeprecation: async (message: string) => {\n onDeprecation?.(message);\n },\n reportEvent: async (event) => {\n const parsed = parseReportedEvent(event);\n if (parsed) {\n onEvent?.(parsed);\n }\n },\n getHostConfig: async () => {\n return hostConfig;\n },\n },\n }),\n updateHostPathname: (hostPathname?: string) => {\n if (hostPathname === undefined) {\n return;\n }\n\n if (result.version >= Version.v2) {\n result.thread.imports.setPathname(hostPathname);\n }\n },\n reportHostError: async (error) => {\n if (result.version >= Version.v5) {\n await result.thread.imports.setHostError(error);\n }\n },\n version: 0,\n };\n\n result.thread.imports.render(connection);\n return result;\n};\n\nexport const connectRemoteIframeRef =\n (opts: Omit<Options, \"iframe\">) => (ref: HTMLIFrameElement | null) => {\n if (!ref) {\n return;\n }\n\n if (\"__remoteConnection\" in ref) {\n return ref[\"__remoteConnection\"] as HostToRemoteConnection;\n }\n\n const connection = connectRemoteIframe({\n iframe: ref,\n ...opts,\n });\n Object.assign(ref, { __remoteConnection: connection });\n return connection;\n };\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sources":["../../../../../../src/connection/types.ts"],"sourcesContent":["import type {\n ExtBridgeConfigInput,\n ExtBridgeConnectionApi,\n} from \"@mittwald/ext-bridge\";\nimport type { HostConfig } from \"@mittwald/flow-core\";\nimport type { RemoteConnection } from \"@mittwald/remote-dom-core\";\nimport type { ThreadIframe, ThreadNestedIframe } from \"@quilted/threads\";\nexport type { RemoteConnection } from \"@mittwald/remote-dom-core\";\n\nexport interface NavigationState {\n pathname: string;\n isPending: boolean;\n}\n\nexport interface RemoteReadyEvent {\n version: Version;\n packageVersion?: string;\n}\n\nexport type RemoteReadyEventInput = Version | RemoteReadyEvent;\n\nexport type RemoteExtBridgeConfig = Omit<\n ExtBridgeConfigInput,\n keyof HostConfig\n>;\n\nexport interface RemoteExtBridgeConnectionApi extends Omit<\n ExtBridgeConnectionApi,\n \"getConfig\"\n> {\n getConfig: () => Promise<RemoteExtBridgeConfig>;\n}\n\n/**\n * Breaking Change warning: Do not remove/rename/modify existing properties of\n * this interface, as they might be used by existing extensions.\n *\n * When addding properties, make sure to release the host before all clients.\n */\nexport interface HostExports extends ExtBridgeConnectionApi {\n setIsReady: (event?: RemoteReadyEventInput) => Promise<void>;\n setIsLoading: (isLoading: boolean) => Promise<void>;\n setError: (error: string) => Promise<void>;\n setNavigationState: (state: NavigationState) => Promise<void>;\n getHostConfig: () => Promise<HostConfig>;\n reportDeprecation: (message: string) => Promise<void>;\n}\n\nexport interface RemoteExports {\n render: (connection: RemoteConnection) => Promise<void>;\n setPathname: (pathname: string) => Promise<void>;\n setHostError: (error: string) => Promise<void>;\n}\n\nexport type RemoteToHostConnection = ThreadNestedIframe<\n HostExports,\n RemoteExports\n>;\n\nexport interface HostToRemoteConnection {\n version: Version;\n thread: ThreadIframe<RemoteExports, HostExports>;\n updateHostPathname: (hostPathname?: string) => void;\n reportHostError: (error: string) => Promise<void>;\n}\n\nexport interface HostToRemoteConnectionReadyEvent {\n connection: HostToRemoteConnection;\n remoteReadyEvent: RemoteReadyEvent;\n}\n\nexport enum Version {\n vUnknown = 0,\n v1 = 1,\n v2 = 2,\n v3 = 3,\n v4 = 4,\n v5 = 5,\n}\n"],"names":["Version"],"mappings":"AAuEO,IAAK,OAAA,qBAAAA,QAAAA,KAAL;AACL,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AANU,EAAA,OAAAA,QAAAA;AAAA,CAAA,EAAA,OAAA,IAAA,EAAA;;;;"}
1
+ {"version":3,"file":"types.mjs","sources":["../../../../../../src/connection/types.ts"],"sourcesContent":["import type {\n ExtBridgeConfigInput,\n ExtBridgeConnectionApi,\n} from \"@mittwald/ext-bridge\";\nimport type { HostConfig } from \"@mittwald/flow-core\";\nimport type { ReportedEvent } from \"@/events/remoteEvents\";\nimport type { RemoteConnection } from \"@mittwald/remote-dom-core\";\nimport type { ThreadIframe, ThreadNestedIframe } from \"@quilted/threads\";\nexport type { RemoteConnection } from \"@mittwald/remote-dom-core\";\n\nexport interface NavigationState {\n pathname: string;\n isPending: boolean;\n}\n\nexport interface RemoteReadyEvent {\n version: Version;\n packageVersion?: string;\n}\n\nexport type RemoteReadyEventInput = Version | RemoteReadyEvent;\n\nexport type RemoteExtBridgeConfig = Omit<\n ExtBridgeConfigInput,\n keyof HostConfig\n>;\n\nexport interface RemoteExtBridgeConnectionApi extends Omit<\n ExtBridgeConnectionApi,\n \"getConfig\"\n> {\n getConfig: () => Promise<RemoteExtBridgeConfig>;\n}\n\n/**\n * Breaking Change warning: Do not remove/rename/modify existing properties of\n * this interface, as they might be used by existing extensions.\n *\n * When addding properties, make sure to release the host before all clients.\n */\nexport interface HostExports extends ExtBridgeConnectionApi {\n setIsReady: (event?: RemoteReadyEventInput) => Promise<void>;\n setIsLoading: (isLoading: boolean) => Promise<void>;\n setError: (error: string) => Promise<void>;\n setNavigationState: (state: NavigationState) => Promise<void>;\n getHostConfig: () => Promise<HostConfig>;\n reportDeprecation: (message: string) => Promise<void>;\n reportEvent: (event: ReportedEvent) => Promise<void>;\n}\n\nexport interface RemoteExports {\n render: (connection: RemoteConnection) => Promise<void>;\n setPathname: (pathname: string) => Promise<void>;\n setHostError: (error: string) => Promise<void>;\n}\n\nexport type RemoteToHostConnection = ThreadNestedIframe<\n HostExports,\n RemoteExports\n>;\n\nexport interface HostToRemoteConnection {\n version: Version;\n thread: ThreadIframe<RemoteExports, HostExports>;\n updateHostPathname: (hostPathname?: string) => void;\n reportHostError: (error: string) => Promise<void>;\n}\n\nexport interface HostToRemoteConnectionReadyEvent {\n connection: HostToRemoteConnection;\n remoteReadyEvent: RemoteReadyEvent;\n}\n\nexport enum Version {\n vUnknown = 0,\n v1 = 1,\n v2 = 2,\n v3 = 3,\n v4 = 4,\n v5 = 5,\n}\n"],"names":["Version"],"mappings":"AAyEO,IAAK,OAAA,qBAAAA,QAAAA,KAAL;AACL,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AANU,EAAA,OAAAA,QAAAA;AAAA,CAAA,EAAA,OAAA,IAAA,EAAA;;;;"}
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+
3
+ const componentRenderedEventSchema = z.object({
4
+ event: z.literal("ComponentRendered"),
5
+ data: z.object({
6
+ /** Display name of the Flow component the extension rendered. */
7
+ component: z.string()
8
+ })
9
+ });
10
+ const reportedEventSchema = z.discriminatedUnion("event", [
11
+ componentRenderedEventSchema
12
+ ]);
13
+ const parseReportedEvent = (event) => {
14
+ const result = reportedEventSchema.safeParse(event);
15
+ return result.success ? result.data : void 0;
16
+ };
17
+
18
+ export { componentRenderedEventSchema, parseReportedEvent, reportedEventSchema };
19
+ //# sourceMappingURL=remoteEvents.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteEvents.mjs","sources":["../../../../../../src/events/remoteEvents.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const componentRenderedEventSchema = z.object({\n event: z.literal(\"ComponentRendered\"),\n data: z.object({\n /** Display name of the Flow component the extension rendered. */\n component: z.string(),\n }),\n});\n\nexport const reportedEventSchema = z.discriminatedUnion(\"event\", [\n componentRenderedEventSchema,\n]);\n\nexport type ComponentRenderedEvent = z.infer<\n typeof componentRenderedEventSchema\n>;\n\nexport type ReportedEvent = z.infer<typeof reportedEventSchema>;\n\nexport const parseReportedEvent = (\n event: unknown,\n): ReportedEvent | undefined => {\n const result = reportedEventSchema.safeParse(event);\n return result.success ? result.data : undefined;\n};\n"],"names":[],"mappings":";;AAEO,MAAM,4BAAA,GAA+B,EAAE,MAAA,CAAO;AAAA,EACnD,KAAA,EAAO,CAAA,CAAE,OAAA,CAAQ,mBAAmB,CAAA;AAAA,EACpC,IAAA,EAAM,EAAE,MAAA,CAAO;AAAA;AAAA,IAEb,SAAA,EAAW,EAAE,MAAA;AAAO,GACrB;AACH,CAAC;AAEM,MAAM,mBAAA,GAAsB,CAAA,CAAE,kBAAA,CAAmB,OAAA,EAAS;AAAA,EAC/D;AACF,CAAC;AAQM,MAAM,kBAAA,GAAqB,CAChC,KAAA,KAC8B;AAC9B,EAAA,MAAM,MAAA,GAAS,mBAAA,CAAoB,SAAA,CAAU,KAAK,CAAA;AAClD,EAAA,OAAO,MAAA,CAAO,OAAA,GAAU,MAAA,CAAO,IAAA,GAAO,MAAA;AACxC;;;;"}
@@ -1,4 +1,5 @@
1
1
  import { HostToRemoteConnection, HostToRemoteConnectionReadyEvent, NavigationState, RemoteExtBridgeConnectionApi } from './types';
2
+ import { ReportedEvent } from '../events/remoteEvents';
2
3
  import { HostConfig } from '@mittwald/flow-core';
3
4
  import { RemoteConnection } from '@mittwald/remote-dom-core/elements';
4
5
  interface Options {
@@ -10,6 +11,7 @@ interface Options {
10
11
  onError?: (error: string) => void;
11
12
  onNavigationStateChanged?: (state: NavigationState) => void;
12
13
  onDeprecation?: (message: string) => void;
14
+ onEvent?: (event: ReportedEvent) => void;
13
15
  extBridgeImplementation?: RemoteExtBridgeConnectionApi;
14
16
  }
15
17
  export declare const connectRemoteIframe: (opts: Options) => HostToRemoteConnection;
@@ -1 +1 @@
1
- {"version":3,"file":"connectRemoteIframe.d.ts","sourceRoot":"","sources":["../../../src/connection/connectRemoteIframe.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,eAAe,EAEpB,KAAK,4BAA4B,EAGlC,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,UAAU,OAAO;IACf,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;IAC5D,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,uBAAuB,CAAC,EAAE,4BAA4B,CAAC;CACxD;AAkBD,eAAO,MAAM,mBAAmB,GAAI,MAAM,OAAO,KAAG,sBAmEnD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAChC,MAAM,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,KAAK,iBAAiB,GAAG,IAAI,uCAehE,CAAC"}
1
+ {"version":3,"file":"connectRemoteIframe.d.ts","sourceRoot":"","sources":["../../../src/connection/connectRemoteIframe.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,eAAe,EAEpB,KAAK,4BAA4B,EAGlC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI/E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,UAAU,OAAO;IACf,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;IAC5D,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,uBAAuB,CAAC,EAAE,4BAA4B,CAAC;CACxD;AAkBD,eAAO,MAAM,mBAAmB,GAAI,MAAM,OAAO,KAAG,sBA0EnD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAChC,MAAM,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,KAAK,iBAAiB,GAAG,IAAI,uCAehE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { ExtBridgeConfigInput, ExtBridgeConnectionApi } from '@mittwald/ext-bridge';
2
2
  import { HostConfig } from '@mittwald/flow-core';
3
+ import { ReportedEvent } from '../events/remoteEvents';
3
4
  import { RemoteConnection } from '@mittwald/remote-dom-core';
4
5
  import { ThreadIframe, ThreadNestedIframe } from '@quilted/threads';
5
6
  export type { RemoteConnection } from '@mittwald/remote-dom-core';
@@ -29,6 +30,7 @@ export interface HostExports extends ExtBridgeConnectionApi {
29
30
  setNavigationState: (state: NavigationState) => Promise<void>;
30
31
  getHostConfig: () => Promise<HostConfig>;
31
32
  reportDeprecation: (message: string) => Promise<void>;
33
+ reportEvent: (event: ReportedEvent) => Promise<void>;
32
34
  }
33
35
  export interface RemoteExports {
34
36
  render: (connection: RemoteConnection) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/connection/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAE/D,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,oBAAoB,EACpB,MAAM,UAAU,CACjB,CAAC;AAEF,MAAM,WAAW,4BAA6B,SAAQ,IAAI,CACxD,sBAAsB,EACtB,WAAW,CACZ;IACC,SAAS,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACjD;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAY,SAAQ,sBAAsB;IACzD,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,kBAAkB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,aAAa,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CACrD,WAAW,EACX,aAAa,CACd,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACjD,kBAAkB,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,sBAAsB,CAAC;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,oBAAY,OAAO;IACjB,QAAQ,IAAI;IACZ,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;CACP"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/connection/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAE/D,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,oBAAoB,EACpB,MAAM,UAAU,CACjB,CAAC;AAEF,MAAM,WAAW,4BAA6B,SAAQ,IAAI,CACxD,sBAAsB,EACtB,WAAW,CACZ;IACC,SAAS,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACjD;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAY,SAAQ,sBAAsB;IACzD,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,kBAAkB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,aAAa,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,WAAW,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CACrD,WAAW,EACX,aAAa,CACd,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACjD,kBAAkB,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,sBAAsB,CAAC;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,oBAAY,OAAO;IACjB,QAAQ,IAAI;IACZ,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;IACN,EAAE,IAAI;CACP"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ export declare const componentRenderedEventSchema: z.ZodObject<{
3
+ event: z.ZodLiteral<"ComponentRendered">;
4
+ data: z.ZodObject<{
5
+ component: z.ZodString;
6
+ }, z.core.$strip>;
7
+ }, z.core.$strip>;
8
+ export declare const reportedEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
9
+ event: z.ZodLiteral<"ComponentRendered">;
10
+ data: z.ZodObject<{
11
+ component: z.ZodString;
12
+ }, z.core.$strip>;
13
+ }, z.core.$strip>], "event">;
14
+ export type ComponentRenderedEvent = z.infer<typeof componentRenderedEventSchema>;
15
+ export type ReportedEvent = z.infer<typeof reportedEventSchema>;
16
+ export declare const parseReportedEvent: (event: unknown) => ReportedEvent | undefined;
17
+ //# sourceMappingURL=remoteEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteEvents.d.ts","sourceRoot":"","sources":["../../../src/events/remoteEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,4BAA4B;;;;;iBAMvC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;4BAE9B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,KACb,aAAa,GAAG,SAGlB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=remoteEvents.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteEvents.test.d.ts","sourceRoot":"","sources":["../../../src/events/remoteEvents.test.ts"],"names":[],"mappings":""}
@@ -3,4 +3,5 @@ export { RemoteElement, RemoteEvent, type RemoteElementConstructor, } from '@mit
3
3
  export * from './serialization';
4
4
  export * from './connection';
5
5
  export * from './error';
6
+ export * from './events/remoteEvents';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,wBAAwB,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,wBAAwB,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mittwald/flow-remote-core",
3
- "version": "0.2.0-alpha.1006",
3
+ "version": "0.2.0-alpha.1007",
4
4
  "type": "module",
5
5
  "description": "Core functionality to setup a remote/host environment",
6
6
  "homepage": "https://flow.mittwald.de",
@@ -31,13 +31,14 @@
31
31
  "@quilted/threads": "^3.3.1",
32
32
  "@types/invariant": "^2.2.37",
33
33
  "invariant": "^2.2.4",
34
- "remeda": "^2.39.0"
34
+ "remeda": "^2.39.0",
35
+ "zod": "^4.4.3"
35
36
  },
36
37
  "devDependencies": {
37
- "@mittwald/ext-bridge": "0.2.0-alpha.1006",
38
- "@mittwald/flow-core": "0.2.0-alpha.1006",
39
- "@mittwald/flow-react-components": "0.2.0-alpha.1006",
40
- "@mittwald/typescript-config": "0.2.0-alpha.1006",
38
+ "@mittwald/ext-bridge": "0.2.0-alpha.1007",
39
+ "@mittwald/flow-core": "0.2.0-alpha.1007",
40
+ "@mittwald/flow-react-components": "0.2.0-alpha.1007",
41
+ "@mittwald/typescript-config": "0.2.0-alpha.1007",
41
42
  "@types/node": "^25.9.3",
42
43
  "nx": "^22.7.5",
43
44
  "prettier": "^3.8.4",
@@ -51,13 +52,13 @@
51
52
  "vitest": "^4.1.10"
52
53
  },
53
54
  "peerDependencies": {
54
- "@mittwald/ext-bridge": "0.2.0-alpha.1006",
55
- "@mittwald/flow-react-components": "0.2.0-alpha.1006"
55
+ "@mittwald/ext-bridge": "0.2.0-alpha.1007",
56
+ "@mittwald/flow-react-components": "0.2.0-alpha.1007"
56
57
  },
57
58
  "peerDependenciesMeta": {
58
59
  "@mittwald/ext-bridge": {
59
60
  "optional": true
60
61
  }
61
62
  },
62
- "gitHead": "2a66c505347d09068ab36d35ebb49d461260e429"
63
+ "gitHead": "e471545f006ac5cba09a53fa310e2544b7be43d7"
63
64
  }