@qontinui/ui-bridge 0.2.0 → 0.3.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.
Files changed (108) hide show
  1. package/dist/ai/index.d.mts +4 -4
  2. package/dist/ai/index.d.ts +4 -4
  3. package/dist/babel-plugin/index.js +515 -0
  4. package/dist/babel-plugin/index.js.map +1 -0
  5. package/dist/babel-plugin/index.mjs +499 -0
  6. package/dist/babel-plugin/index.mjs.map +1 -0
  7. package/dist/control/index.d.mts +5 -5
  8. package/dist/control/index.d.ts +5 -5
  9. package/dist/core/index.d.mts +115 -44
  10. package/dist/core/index.d.ts +115 -44
  11. package/dist/core/index.js +0 -1560
  12. package/dist/core/index.js.map +1 -1
  13. package/dist/core/index.mjs +1 -1549
  14. package/dist/core/index.mjs.map +1 -1
  15. package/dist/debug/index.d.mts +3 -3
  16. package/dist/debug/index.d.ts +3 -3
  17. package/dist/index.d.mts +7 -8
  18. package/dist/index.d.ts +7 -8
  19. package/dist/index.js +859 -873
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.mjs +860 -862
  22. package/dist/index.mjs.map +1 -1
  23. package/dist/{metrics-C9XRi_mL.d.ts → metrics-BfiT_rhZ.d.ts} +2 -2
  24. package/dist/{metrics-NC3csD0R.d.mts → metrics-DTA2bwG7.d.mts} +2 -2
  25. package/dist/native/control/index.js +453 -0
  26. package/dist/native/control/index.js.map +1 -0
  27. package/dist/native/control/index.mjs +450 -0
  28. package/dist/native/control/index.mjs.map +1 -0
  29. package/dist/native/core/index.js +486 -0
  30. package/dist/native/core/index.js.map +1 -0
  31. package/dist/native/core/index.mjs +475 -0
  32. package/dist/native/core/index.mjs.map +1 -0
  33. package/dist/native/debug/index.js +451 -0
  34. package/dist/native/debug/index.js.map +1 -0
  35. package/dist/native/debug/index.mjs +449 -0
  36. package/dist/native/debug/index.mjs.map +1 -0
  37. package/dist/native/index.js +2274 -0
  38. package/dist/native/index.js.map +1 -0
  39. package/dist/native/index.mjs +2246 -0
  40. package/dist/native/index.mjs.map +1 -0
  41. package/dist/native/react/index.js +1401 -0
  42. package/dist/native/react/index.js.map +1 -0
  43. package/dist/native/react/index.mjs +1389 -0
  44. package/dist/native/react/index.mjs.map +1 -0
  45. package/dist/native/server/index.js +415 -0
  46. package/dist/native/server/index.js.map +1 -0
  47. package/dist/native/server/index.mjs +410 -0
  48. package/dist/native/server/index.mjs.map +1 -0
  49. package/dist/react/index.d.mts +20 -7
  50. package/dist/react/index.d.ts +20 -7
  51. package/dist/react/index.js +42 -4
  52. package/dist/react/index.js.map +1 -1
  53. package/dist/react/index.mjs +42 -4
  54. package/dist/react/index.mjs.map +1 -1
  55. package/dist/{registry-CIEDjbQ9.d.ts → registry-BKLEm-yk.d.ts} +9 -15
  56. package/dist/{registry-SsSDq46X.d.mts → registry-BmZgyCz8.d.mts} +9 -15
  57. package/dist/render-log/index.d.mts +1 -1
  58. package/dist/render-log/index.d.ts +1 -1
  59. package/dist/server/express.d.mts +36 -0
  60. package/dist/server/express.d.ts +36 -0
  61. package/dist/server/express.js +196 -0
  62. package/dist/server/express.js.map +1 -0
  63. package/dist/server/express.mjs +192 -0
  64. package/dist/server/express.mjs.map +1 -0
  65. package/dist/server/handlers.d.mts +93 -0
  66. package/dist/server/handlers.d.ts +93 -0
  67. package/dist/server/handlers.js +4278 -0
  68. package/dist/server/handlers.js.map +1 -0
  69. package/dist/server/handlers.mjs +4275 -0
  70. package/dist/server/handlers.mjs.map +1 -0
  71. package/dist/server/index.d.mts +10 -0
  72. package/dist/server/index.d.ts +10 -0
  73. package/dist/server/index.js +5352 -0
  74. package/dist/server/index.js.map +1 -0
  75. package/dist/server/index.mjs +5337 -0
  76. package/dist/server/index.mjs.map +1 -0
  77. package/dist/server/nextjs.d.mts +126 -0
  78. package/dist/server/nextjs.d.ts +126 -0
  79. package/dist/server/nextjs.js +287 -0
  80. package/dist/server/nextjs.js.map +1 -0
  81. package/dist/server/nextjs.mjs +282 -0
  82. package/dist/server/nextjs.mjs.map +1 -0
  83. package/dist/server/standalone.d.mts +6 -0
  84. package/dist/server/standalone.d.ts +6 -0
  85. package/dist/server/standalone.js +719 -0
  86. package/dist/server/standalone.js.map +1 -0
  87. package/dist/server/standalone.mjs +715 -0
  88. package/dist/server/standalone.mjs.map +1 -0
  89. package/dist/standalone-BURj8J3G.d.ts +212 -0
  90. package/dist/standalone-Dwmel29d.d.mts +212 -0
  91. package/dist/swc-plugin/index.d.mts +79 -0
  92. package/dist/swc-plugin/index.d.ts +79 -0
  93. package/dist/swc-plugin/index.js +15 -0
  94. package/dist/swc-plugin/index.js.map +1 -0
  95. package/dist/swc-plugin/index.mjs +9 -0
  96. package/dist/swc-plugin/index.mjs.map +1 -0
  97. package/dist/{types-CFT3Dnx4.d.mts → types-B5Q0GVo0.d.mts} +115 -3
  98. package/dist/{types-Dr6tH-bm.d.mts → types-B7J7noLK.d.mts} +1 -1
  99. package/dist/{types-oCTrRxSw.d.ts → types-BkNRILUa.d.ts} +1 -1
  100. package/dist/types-CEQLnFMv.d.mts +156 -0
  101. package/dist/types-CHnlwiTK.d.ts +156 -0
  102. package/dist/{types-BvCfFuEV.d.ts → types-DfPqwU-i.d.ts} +115 -3
  103. package/dist/{types-CPMbN_Iw.d.mts → types-jKVgTI6_.d.mts} +356 -160
  104. package/dist/{types-CPMbN_Iw.d.ts → types-jKVgTI6_.d.ts} +356 -160
  105. package/package.json +106 -3
  106. package/swc-plugin-wasm/ui_bridge_swc_plugin.wasm +0 -0
  107. package/dist/websocket-client-CX4QJesI.d.ts +0 -124
  108. package/dist/websocket-client-C_Na0OSp.d.mts +0 -124
@@ -1035,7 +1035,9 @@ var UIBridgeRegistry = class {
1035
1035
  })) ?? [],
1036
1036
  elementIds: options.elementIds,
1037
1037
  registeredAt: Date.now(),
1038
- mounted: true
1038
+ mounted: true,
1039
+ getState: options.getState,
1040
+ getComputed: options.getComputed
1039
1041
  };
1040
1042
  this.components.set(id, registered);
1041
1043
  this.emit("component:registered", { id, name: options.name });
@@ -1066,6 +1068,20 @@ var UIBridgeRegistry = class {
1066
1068
  getAllComponents() {
1067
1069
  return Array.from(this.components.values());
1068
1070
  }
1071
+ /**
1072
+ * Get the current state and computed properties of a component
1073
+ */
1074
+ getComponentState(id) {
1075
+ const component = this.components.get(id);
1076
+ if (!component || !component.mounted) {
1077
+ return null;
1078
+ }
1079
+ return {
1080
+ state: component.getState?.() ?? {},
1081
+ computed: component.getComputed?.() ?? {},
1082
+ timestamp: Date.now()
1083
+ };
1084
+ }
1069
1085
  /**
1070
1086
  * Register a workflow
1071
1087
  */
@@ -3838,11 +3854,31 @@ function useUIComponent(options) {
3838
3854
  const registeredRef = react.useRef(false);
3839
3855
  const actionsRef = react.useRef(options.actions || []);
3840
3856
  const elementIdsRef = react.useRef(options.elementIds || []);
3857
+ const stateRef = react.useRef(options.state);
3858
+ const computedRef = react.useRef(options.computed);
3841
3859
  const { id, name, description, autoRegister = true } = options;
3842
3860
  react.useEffect(() => {
3843
3861
  actionsRef.current = options.actions || [];
3844
3862
  elementIdsRef.current = options.elementIds || [];
3845
- }, [options.actions, options.elementIds]);
3863
+ stateRef.current = options.state;
3864
+ computedRef.current = options.computed;
3865
+ }, [options.actions, options.elementIds, options.state, options.computed]);
3866
+ const createGetComputed = react.useCallback(() => {
3867
+ return () => {
3868
+ const computed = computedRef.current;
3869
+ if (!computed) return {};
3870
+ const result = {};
3871
+ for (const [key, def] of Object.entries(computed)) {
3872
+ try {
3873
+ const getter = typeof def === "function" ? def : def.getter;
3874
+ result[key] = getter();
3875
+ } catch {
3876
+ result[key] = void 0;
3877
+ }
3878
+ }
3879
+ return result;
3880
+ };
3881
+ }, []);
3846
3882
  const register = react.useCallback(() => {
3847
3883
  if (!bridge || registeredRef.current) return;
3848
3884
  bridge.registry.registerComponent(id, {
@@ -3854,10 +3890,12 @@ function useUIComponent(options) {
3854
3890
  description: a.description,
3855
3891
  handler: a.handler
3856
3892
  })),
3857
- elementIds: elementIdsRef.current
3893
+ elementIds: elementIdsRef.current,
3894
+ getState: stateRef.current,
3895
+ getComputed: createGetComputed()
3858
3896
  });
3859
3897
  registeredRef.current = true;
3860
- }, [bridge, id, name, description]);
3898
+ }, [bridge, id, name, description, createGetComputed]);
3861
3899
  const unregister = react.useCallback(() => {
3862
3900
  if (!bridge || !registeredRef.current) return;
3863
3901
  bridge.registry.unregisterComponent(id);