catalyst-core 0.2.0-beta.3 → 0.3.0-beta.2

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 (167) hide show
  1. package/babel.native.config.cjs +8 -0
  2. package/bin/catalyst.js +49 -105
  3. package/changelog.md +8 -0
  4. package/dist/caching.js +1 -1
  5. package/dist/globals.d.ts +7 -0
  6. package/dist/index.jsx +8 -0
  7. package/dist/logger.js +74 -3
  8. package/dist/native/androidProject/app/build.gradle.kts +45 -4
  9. package/dist/native/androidProject/app/src/main/java/io/yourname/androidproject/NativeBridge.kt +86 -0
  10. package/dist/native/androidProject/app/src/main/java/io/yourname/androidproject/utils/BridgeUtils.kt +8 -0
  11. package/dist/native/androidProject/app/src/main/java/io/yourname/androidproject/utils/FrameworkServerUtils.kt +173 -13
  12. package/dist/native/androidProject/settings.gradle.kts +10 -0
  13. package/dist/native/androidSetup.js +300 -8
  14. package/dist/native/bridge/WebBridge.js +481 -59
  15. package/dist/native/bridge/constants/NativeInterfaces.js +304 -45
  16. package/dist/native/bridge/errors.js +250 -26
  17. package/dist/native/bridge/hooks/index.js +132 -1
  18. package/dist/native/bridge/hooks/useAI.js +94 -0
  19. package/dist/native/bridge/hooks/useCamera.js +347 -9
  20. package/dist/native/bridge/hooks/useDataProtection.js +200 -2
  21. package/dist/native/bridge/hooks/useDeviceInfo.js +71 -2
  22. package/dist/native/bridge/hooks/useFilePicker.js +429 -2
  23. package/dist/native/bridge/hooks/useGoogleSignIn.js +81 -1
  24. package/dist/native/bridge/hooks/useHapticFeedback.js +196 -1
  25. package/dist/native/bridge/hooks/useIntent.js +95 -1
  26. package/dist/native/bridge/hooks/useNativeTransition.js +202 -27
  27. package/dist/native/bridge/hooks/useNetworkStatus.js +84 -3
  28. package/dist/native/bridge/hooks/useNotification.js +318 -2
  29. package/dist/native/bridge/hooks/useSafeArea.js +84 -2
  30. package/dist/native/bridge/hooks/useVideoStream.js +434 -6
  31. package/dist/native/bridge/hooks/utils.js +27 -1
  32. package/dist/native/bridge/hooks.js +16 -1
  33. package/dist/native/bridge/perf/collectors/ApiCollector.js +66 -3
  34. package/dist/native/bridge/perf/collectors/CacheCollector.js +186 -11
  35. package/dist/native/bridge/perf/collectors/HookCollector.js +141 -19
  36. package/dist/native/bridge/perf/collectors/InsightsCollector.js +481 -23
  37. package/dist/native/bridge/perf/collectors/InteractionCollector.js +245 -10
  38. package/dist/native/bridge/perf/collectors/KeyboardCollector.js +107 -8
  39. package/dist/native/bridge/perf/collectors/NavigationCollector.js +273 -32
  40. package/dist/native/bridge/perf/collectors/NetworkTimingCollector.js +178 -2
  41. package/dist/native/bridge/perf/collectors/RenderCollector.js +258 -14
  42. package/dist/native/bridge/perf/collectors/ScrollCollector.js +95 -9
  43. package/dist/native/bridge/perf/collectors/ThreadCollector.js +90 -6
  44. package/dist/native/bridge/perf/core/constants.js +103 -20
  45. package/dist/native/bridge/perf/core/measure.js +179 -30
  46. package/dist/native/bridge/perf/core/session.js +89 -23
  47. package/dist/native/bridge/perf/core/store.js +554 -1
  48. package/dist/native/bridge/perf/core/summary.js +174 -1
  49. package/dist/native/bridge/perf/core/traceExport.js +240 -1
  50. package/dist/native/bridge/perf/core/waterfalls.js +146 -1
  51. package/dist/native/bridge/perf/index.js +359 -38
  52. package/dist/native/bridge/safeArea.js +53 -5
  53. package/dist/native/bridge/standardizedHooks.js +595 -82
  54. package/dist/native/bridge/useBaseHook.js +274 -38
  55. package/dist/native/bridge/utils/CameraUtils.js +201 -56
  56. package/dist/native/bridge/utils/FileObjectConverter.js +129 -18
  57. package/dist/native/bridge/utils/NativeBridge.js +425 -141
  58. package/dist/native/buildAndroid/assets.js +510 -13
  59. package/dist/native/buildAndroid/build.js +296 -19
  60. package/dist/native/buildAndroid/config.js +87 -1
  61. package/dist/native/buildAndroid/index.js +406 -1
  62. package/dist/native/buildAppAndroid.js +34 -2
  63. package/dist/native/buildAppIos.js +62 -2
  64. package/dist/native/buildIos/assets.js +609 -8
  65. package/dist/native/buildIos/build.js +639 -20
  66. package/dist/native/buildIos/config.js +294 -12
  67. package/dist/native/buildIos/index.js +343 -6
  68. package/dist/native/buildIos/plugins.js +343 -16
  69. package/dist/native/internal-plugins/device-info-plugin/android/DeviceInfoPlugin.kt +43 -0
  70. package/dist/native/internal-plugins/device-info-plugin/ios/DeviceInfoPlugin.swift +28 -0
  71. package/dist/native/internal-plugins/device-info-plugin/manifest.json +19 -0
  72. package/dist/native/internalPluginUtils.js +232 -7
  73. package/dist/native/package.json +3 -0
  74. package/dist/native/plugin-bridge/PluginBridge.js +227 -1
  75. package/dist/native/pluginComposerAndroid.js +407 -23
  76. package/dist/native/pluginComposerIos.js +435 -11
  77. package/dist/native/renameAndroidProject.js +1094 -88
  78. package/dist/native/setupEmulatorIos.js +289 -22
  79. package/dist/native/setupServer.js +160 -19
  80. package/dist/native/terminalProgress.js +199 -11
  81. package/dist/native/utils.js +193 -15
  82. package/dist/offline/catalyst-sw.js +145 -1
  83. package/dist/offline/registerServiceWorker.js +33 -1
  84. package/dist/otel.js +375 -46
  85. package/dist/router/ClientRouter.js +14 -2
  86. package/dist/router/ServerRouter.js +9 -1
  87. package/dist/router.js +1 -1
  88. package/dist/scripts/build.js +112 -3
  89. package/dist/scripts/checkVersion.js +3 -1
  90. package/dist/scripts/cleanCache.js +30 -1
  91. package/dist/scripts/generateOfflineManifest.js +116 -1
  92. package/dist/scripts/loadEnvironmentVariables.js +32 -6
  93. package/dist/scripts/plugins.js +309 -1
  94. package/dist/scripts/preServerInit.js +13 -0
  95. package/dist/scripts/scriptUtils.js +54 -3
  96. package/dist/scripts/serve.js +51 -4
  97. package/dist/scripts/start.js +47 -10
  98. package/dist/scripts/validator.js +149 -1
  99. package/dist/sentry.cjs +127 -0
  100. package/dist/sentry.js +125 -5
  101. package/dist/server/expressServer.js +296 -5
  102. package/dist/server/manifestCache.js +36 -0
  103. package/dist/server/renderer/ChunkExtractor.js +144 -0
  104. package/dist/server/renderer/document/Body.jsx +59 -0
  105. package/dist/server/renderer/document/FastRefresh.jsx +20 -0
  106. package/dist/server/renderer/document/Head.jsx +60 -0
  107. package/dist/server/renderer/document/index.jsx +2 -0
  108. package/dist/server/renderer/extract.js +149 -31
  109. package/dist/server/renderer/handler.jsx +450 -0
  110. package/dist/server/renderer/index.js +8 -1
  111. package/dist/server/renderer/render.js +47 -0
  112. package/dist/server/utils/botDetectionMiddleware.js +29 -0
  113. package/dist/server/utils/cjsRequire.js +10 -0
  114. package/dist/server/utils/userAgentUtil.js +87 -9
  115. package/dist/server/utils/validator.js +164 -1
  116. package/dist/vite/FastRefresh.jsx +20 -0
  117. package/dist/vite/inject-cache-key-plugin.js +276 -0
  118. package/dist/vite/loadCustomViteConfig.js +22 -0
  119. package/dist/vite/manifest-categorization-plugin.js +455 -0
  120. package/dist/vite/node-loader.mjs +458 -0
  121. package/dist/vite/scssParams.js +21 -0
  122. package/dist/vite/vite.config.client.js +130 -0
  123. package/dist/vite/vite.config.js +498 -0
  124. package/dist/vite/vite.config.server.js +84 -0
  125. package/dist/web-router/components/MetaTag.jsx +34 -0
  126. package/dist/web-router/components/RouterDataProvider.jsx +332 -0
  127. package/dist/web-router/components/Split.jsx +200 -0
  128. package/dist/web-router/components/SplitInview.jsx +106 -0
  129. package/dist/web-router/components/SsrRequestContext.jsx +14 -0
  130. package/dist/web-router/context.jsx +12 -0
  131. package/dist/web-router/hooks.jsx +72 -0
  132. package/dist/web-router/types/components/MetaTag.d.ts +2 -0
  133. package/dist/web-router/types/components/RouterDataProvider.d.ts +95 -0
  134. package/dist/web-router/types/context.d.ts +14 -0
  135. package/dist/web-router/types/hooks.d.ts +1 -0
  136. package/dist/web-router/types/index.d.ts +3 -0
  137. package/dist/web-router/types/utils/metaDataUtils.d.ts +24 -0
  138. package/dist/web-router/utils/metaDataUtils.jsx +119 -0
  139. package/mcp_v2/conversion-tasks.json +35 -17
  140. package/mcp_v2/knowledge-base.json +176 -17
  141. package/mcp_v2/lib/helpers.js +10 -0
  142. package/mcp_v2/mcp.js +40 -8
  143. package/mcp_v2/package.json +1 -0
  144. package/mcp_v2/tools/build.js +161 -37
  145. package/mcp_v2/tools/conversion.js +106 -5
  146. package/mcp_v2/tools/tasks.js +18 -14
  147. package/package.json +35 -68
  148. package/babel.config.js +0 -32
  149. package/dist/index.js +0 -1
  150. package/dist/scripts/devBuild.js +0 -3
  151. package/dist/scripts/devServe.js +0 -3
  152. package/dist/scripts/loadScriptsBeforeServerStarts.js +0 -4
  153. package/dist/scripts/registerAliases.js +0 -6
  154. package/dist/server/renderer/document/Body.js +0 -11
  155. package/dist/server/renderer/document/Head.js +0 -9
  156. package/dist/server/renderer/document/index.js +0 -1
  157. package/dist/server/renderer/handler.js +0 -47
  158. package/dist/server/startServer.js +0 -57
  159. package/dist/webpack/babel-plugins/remove-client.plugin.js +0 -5
  160. package/dist/webpack/babel-plugins/remove-ssr.plugin.js +0 -5
  161. package/dist/webpack/babel.config.client.js +0 -1
  162. package/dist/webpack/babel.config.ssr.js +0 -1
  163. package/dist/webpack/base.babel.js +0 -7
  164. package/dist/webpack/development.client.babel.js +0 -10
  165. package/dist/webpack/production.client.babel.js +0 -4
  166. package/dist/webpack/production.ssr.babel.js +0 -8
  167. package/dist/webpack/scssParams.js +0 -9
@@ -1,47 +1,306 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.isValidInterface=exports.isValidCommand=exports.isValidCallback=exports.getInterfacesByCategory=exports.default=exports.debugInterfaces=exports.TRANSPORT_TYPES=exports.RESPONSE_STATUS=exports.PERMISSION_STATUS=exports.NATIVE_COMMANDS=exports.NATIVE_CALLBACKS=exports.INTERFACE_CATEGORIES=exports.INTENT_STATES=exports.HAPTIC_FEEDBACK_TYPES=exports.FILE_PICKER_STATES=exports.CAMERA_SOURCE=exports.CAMERA_QUALITY=exports.CAMERA_FORMAT=exports.CAMERA_FLASH_MODE=exports.CAMERA_DEVICE=exports.ALL_INTERFACES=exports.ALL_COMMANDS=exports.ALL_CALLBACKS=void 0;// Native Bridge Interface Constants
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isValidInterface = exports.isValidCommand = exports.isValidCallback = exports.getInterfacesByCategory = exports.default = exports.debugInterfaces = exports.TRANSPORT_TYPES = exports.RESPONSE_STATUS = exports.PERMISSION_STATUS = exports.NATIVE_COMMANDS = exports.NATIVE_CALLBACKS = exports.INTERFACE_CATEGORIES = exports.INTENT_STATES = exports.HAPTIC_FEEDBACK_TYPES = exports.FILE_PICKER_STATES = exports.CAMERA_SOURCE = exports.CAMERA_QUALITY = exports.CAMERA_FORMAT = exports.CAMERA_FLASH_MODE = exports.CAMERA_DEVICE = exports.ALL_INTERFACES = exports.ALL_COMMANDS = exports.ALL_CALLBACKS = void 0;
7
+ // Native Bridge Interface Constants
2
8
  // Centralized definitions for all native interface communications
9
+
3
10
  // Command Interfaces: Web → Native (outgoing commands)
4
- const NATIVE_COMMANDS=exports.NATIVE_COMMANDS={// Camera commands
5
- OPEN_CAMERA:"openCamera",REQUEST_CAMERA_PERMISSION:"requestCameraPermission",// Video stream commands
6
- START_VIDEO_STREAM:"startVideoStream",STOP_VIDEO_STREAM:"stopVideoStream",SET_VIDEO_STREAM_ZOOM:"setVideoStreamZoom",SET_VIDEO_STREAM_TORCH:"setVideoStreamTorch",SET_VIDEO_STREAM_FPS:"setVideoStreamFps",FLIP_VIDEO_STREAM:"flipVideoStream",// File commands
7
- PICK_FILE:"pickFile",OPEN_FILE_WITH_INTENT:"openFileWithIntent",// Haptic feedback commands
8
- REQUEST_HAPTIC_FEEDBACK:"requestHapticFeedback",// Notification commands
9
- SCHEDULE_LOCAL_NOTIFICATION:"scheduleLocalNotification",CANCEL_LOCAL_NOTIFICATION:"cancelLocalNotification",REQUEST_NOTIFICATION_PERMISSION:"requestNotificationPermission",REGISTER_FOR_PUSH_NOTIFICATIONS:"registerForPushNotifications",UPDATE_BADGE_COUNT:"updateBadgeCount",SUBSCRIBE_TO_TOPIC:"subscribeToTopic",UNSUBSCRIBE_FROM_TOPIC:"unsubscribeFromTopic",GET_SUBSCRIBED_TOPICS:"getSubscribedTopics",// Device info commands
10
- GET_DEVICE_INFO:"getDeviceInfo",// Network commands
11
- GET_NETWORK_STATUS:"getNetworkStatus",// Auth commands
12
- GOOGLE_SIGN_IN:"googleSignIn",// Transition commands
13
- START_TRANSITION:"startTransition",COMMIT_TRANSITION:"commitTransition",CANCEL_TRANSITION:"cancelTransition",// Safe area commands
14
- GET_SAFE_AREA:"getSafeArea",// Security commands
15
- SET_SCREEN_SECURE:"setScreenSecure",GET_SCREEN_SECURE:"getScreenSecure",CLEAR_WEB_DATA:"clearWebData"};// Callback Interfaces: Native → Web (incoming events/callbacks)
16
- const NATIVE_CALLBACKS=exports.NATIVE_CALLBACKS={// Camera callbacks
17
- CAMERA_PERMISSION_STATUS:"CAMERA_PERMISSION_STATUS",ON_CAMERA_CAPTURE:"ON_CAMERA_CAPTURE",ON_CAMERA_ERROR:"ON_CAMERA_ERROR",// Video stream callbacks
18
- ON_VIDEO_STREAM_READY:"ON_VIDEO_STREAM_READY",ON_VIDEO_STREAM_STOPPED:"ON_VIDEO_STREAM_STOPPED",ON_QR_DETECTED:"ON_QR_DETECTED",ON_TORCH_CHANGED:"ON_TORCH_CHANGED",ON_ZOOM_CHANGED:"ON_ZOOM_CHANGED",// File picker callbacks
19
- ON_FILE_PICKED:"ON_FILE_PICKED",ON_FILE_PICK_ERROR:"ON_FILE_PICK_ERROR",ON_FILE_PICK_CANCELLED:"ON_FILE_PICK_CANCELLED",ON_FILE_PICK_STATE_UPDATE:"ON_FILE_PICK_STATE_UPDATE",// Intent callbacks
20
- ON_INTENT_SUCCESS:"ON_INTENT_SUCCESS",ON_INTENT_ERROR:"ON_INTENT_ERROR",ON_INTENT_CANCELLED:"ON_INTENT_CANCELLED",// Haptic feedback callbacks
21
- HAPTIC_FEEDBACK:"HAPTIC_FEEDBACK",// Notification callbacks
22
- NOTIFICATION_PERMISSION_STATUS:"NOTIFICATION_PERMISSION_STATUS",LOCAL_NOTIFICATION_SCHEDULED:"LOCAL_NOTIFICATION_SCHEDULED",LOCAL_NOTIFICATION_CANCELLED:"LOCAL_NOTIFICATION_CANCELLED",PUSH_NOTIFICATION_TOKEN:"PUSH_NOTIFICATION_TOKEN",NOTIFICATION_RECEIVED:"NOTIFICATION_RECEIVED",NOTIFICATION_ACTION_PERFORMED:"NOTIFICATION_ACTION_PERFORMED",NOTIFICATION_TAPPED:"NOTIFICATION_TAPPED",TOPIC_SUBSCRIPTION_RESULT:"TOPIC_SUBSCRIPTION_RESULT",SUBSCRIBED_TOPICS_RESULT:"SUBSCRIBED_TOPICS_RESULT",// Device info callbacks
23
- ON_DEVICE_INFO_SUCCESS:"ON_DEVICE_INFO_SUCCESS",ON_DEVICE_INFO_ERROR:"ON_DEVICE_INFO_ERROR",// Auth callbacks
24
- ON_GOOGLE_SIGN_IN_SUCCESS:"ON_GOOGLE_SIGN_IN_SUCCESS",ON_GOOGLE_SIGN_IN_ERROR:"ON_GOOGLE_SIGN_IN_ERROR",ON_GOOGLE_SIGN_IN_CANCELLED:"ON_GOOGLE_SIGN_IN_CANCELLED",// Network callbacks
25
- NETWORK_STATUS_CHANGED:"NETWORK_STATUS_CHANGED",// Safe area callbacks
26
- ON_SAFE_AREA_INSETS_UPDATED:"ON_SAFE_AREA_INSETS_UPDATED",// Transition callbacks
27
- ON_TRANSITION_COMMITTED:"ON_TRANSITION_COMMITTED",ON_TRANSITION_CANCELLED:"ON_TRANSITION_CANCELLED",ON_TRANSITION_TIMEOUT:"ON_TRANSITION_TIMEOUT",// Security callbacks
28
- ON_SCREEN_SECURE_SET:"ON_SCREEN_SECURE_SET",ON_SCREEN_SECURE_STATUS:"ON_SCREEN_SECURE_STATUS",ON_SCREEN_SECURE_ERROR:"ON_SCREEN_SECURE_ERROR",ON_WEB_DATA_CLEARED:"ON_WEB_DATA_CLEARED",ON_WEB_DATA_CLEAR_ERROR:"ON_WEB_DATA_CLEAR_ERROR",// Perf telemetry callbacks (native → web)
29
- CATALYST_PERF_EVENT:"CATALYST_PERF_EVENT"};// Interface Categories for easier management
30
- const INTERFACE_CATEGORIES=exports.INTERFACE_CATEGORIES={CAMERA:{commands:[NATIVE_COMMANDS.OPEN_CAMERA,NATIVE_COMMANDS.REQUEST_CAMERA_PERMISSION],callbacks:[NATIVE_CALLBACKS.CAMERA_PERMISSION_STATUS,NATIVE_CALLBACKS.ON_CAMERA_CAPTURE,NATIVE_CALLBACKS.ON_CAMERA_ERROR]},FILE:{commands:[NATIVE_COMMANDS.PICK_FILE,NATIVE_COMMANDS.OPEN_FILE_WITH_INTENT],callbacks:[NATIVE_CALLBACKS.ON_FILE_PICKED,NATIVE_CALLBACKS.ON_FILE_PICK_ERROR,NATIVE_CALLBACKS.ON_FILE_PICK_CANCELLED,NATIVE_CALLBACKS.ON_FILE_PICK_STATE_UPDATE]},INTENT:{commands:[NATIVE_COMMANDS.OPEN_FILE_WITH_INTENT],callbacks:[NATIVE_CALLBACKS.ON_INTENT_SUCCESS,NATIVE_CALLBACKS.ON_INTENT_ERROR,NATIVE_CALLBACKS.ON_INTENT_CANCELLED]},HAPTIC:{commands:[NATIVE_COMMANDS.REQUEST_HAPTIC_FEEDBACK],callbacks:[NATIVE_CALLBACKS.HAPTIC_FEEDBACK]},NOTIFICATION:{commands:[NATIVE_COMMANDS.SCHEDULE_LOCAL_NOTIFICATION,NATIVE_COMMANDS.CANCEL_LOCAL_NOTIFICATION,NATIVE_COMMANDS.REQUEST_NOTIFICATION_PERMISSION,NATIVE_COMMANDS.REGISTER_FOR_PUSH_NOTIFICATIONS,NATIVE_COMMANDS.UPDATE_BADGE_COUNT,NATIVE_COMMANDS.SUBSCRIBE_TO_TOPIC,NATIVE_COMMANDS.UNSUBSCRIBE_FROM_TOPIC,NATIVE_COMMANDS.GET_SUBSCRIBED_TOPICS],callbacks:[NATIVE_CALLBACKS.NOTIFICATION_PERMISSION_STATUS,NATIVE_CALLBACKS.LOCAL_NOTIFICATION_SCHEDULED,NATIVE_CALLBACKS.LOCAL_NOTIFICATION_CANCELLED,NATIVE_CALLBACKS.PUSH_NOTIFICATION_TOKEN,NATIVE_CALLBACKS.NOTIFICATION_RECEIVED,NATIVE_CALLBACKS.NOTIFICATION_ACTION_PERFORMED,NATIVE_CALLBACKS.NOTIFICATION_TAPPED,NATIVE_CALLBACKS.TOPIC_SUBSCRIPTION_RESULT,NATIVE_CALLBACKS.SUBSCRIBED_TOPICS_RESULT]},DEVICE_INFO:{commands:[NATIVE_COMMANDS.GET_DEVICE_INFO],callbacks:[NATIVE_CALLBACKS.ON_DEVICE_INFO_SUCCESS,NATIVE_CALLBACKS.ON_DEVICE_INFO_ERROR]},AUTH:{commands:[NATIVE_COMMANDS.GOOGLE_SIGN_IN],callbacks:[NATIVE_CALLBACKS.ON_GOOGLE_SIGN_IN_SUCCESS,NATIVE_CALLBACKS.ON_GOOGLE_SIGN_IN_ERROR,NATIVE_CALLBACKS.ON_GOOGLE_SIGN_IN_CANCELLED]},NETWORK:{commands:[NATIVE_COMMANDS.GET_NETWORK_STATUS],callbacks:[NATIVE_CALLBACKS.NETWORK_STATUS_CHANGED]},SECURITY:{commands:[NATIVE_COMMANDS.SET_SCREEN_SECURE,NATIVE_COMMANDS.GET_SCREEN_SECURE,NATIVE_COMMANDS.CLEAR_WEB_DATA],callbacks:[NATIVE_CALLBACKS.ON_SCREEN_SECURE_SET,NATIVE_CALLBACKS.ON_SCREEN_SECURE_ERROR,NATIVE_CALLBACKS.ON_WEB_DATA_CLEARED,NATIVE_CALLBACKS.ON_WEB_DATA_CLEAR_ERROR]},TRANSITION:{commands:[NATIVE_COMMANDS.START_TRANSITION,NATIVE_COMMANDS.COMMIT_TRANSITION,NATIVE_COMMANDS.CANCEL_TRANSITION],callbacks:[NATIVE_CALLBACKS.ON_TRANSITION_COMMITTED,NATIVE_CALLBACKS.ON_TRANSITION_CANCELLED,NATIVE_CALLBACKS.ON_TRANSITION_TIMEOUT]}};// All available interfaces (for validation)
31
- const ALL_COMMANDS=exports.ALL_COMMANDS=Object.values(NATIVE_COMMANDS);const ALL_CALLBACKS=exports.ALL_CALLBACKS=Object.values(NATIVE_CALLBACKS);const ALL_INTERFACES=exports.ALL_INTERFACES=[...ALL_COMMANDS,...ALL_CALLBACKS];// Permission status constants
32
- const PERMISSION_STATUS=exports.PERMISSION_STATUS={GRANTED:"GRANTED",DENIED:"DENIED",NOT_DETERMINED:"NOT_DETERMINED",RESTRICTED:"RESTRICTED"};// Haptic feedback types (matching Android implementation)
33
- const HAPTIC_FEEDBACK_TYPES=exports.HAPTIC_FEEDBACK_TYPES={VIRTUAL_KEY:"VIRTUAL_KEY",LONG_PRESS:"LONG_PRESS",DEFAULT:"DEFAULT",// Legacy types for backward compatibility
34
- LIGHT:"VIRTUAL_KEY",MEDIUM:"DEFAULT",HEAVY:"LONG_PRESS"};// File picker state constants
35
- const FILE_PICKER_STATES=exports.FILE_PICKER_STATES={OPENING:"opening",PROCESSING:"processing",IDLE:null};// Intent processing states
36
- const INTENT_STATES=exports.INTENT_STATES={PROCESSING:"processing",DOWNLOADING:"downloading",OPENING:"opening",IDLE:null};// Camera quality constants
37
- const CAMERA_QUALITY=exports.CAMERA_QUALITY={HIGH:"high",MEDIUM:"medium",LOW:"low"};// Camera format constants
38
- const CAMERA_FORMAT=exports.CAMERA_FORMAT={JPEG:"jpeg",PNG:"png"};// Camera device constants
39
- const CAMERA_DEVICE=exports.CAMERA_DEVICE={FRONT:"front",REAR:"rear",BACK:"rear"// Alias for rear
40
- };// Camera flash mode constants
41
- const CAMERA_FLASH_MODE=exports.CAMERA_FLASH_MODE={AUTO:"auto",ON:"on",OFF:"off"};// Transport type constants (matching native implementation)
42
- const TRANSPORT_TYPES=exports.TRANSPORT_TYPES={BASE64:"BASE64",FILE_URL:"FILE_URL",FRAMEWORK_SERVER:"FRAMEWORK_SERVER"};// Camera source constants
43
- const CAMERA_SOURCE=exports.CAMERA_SOURCE={CAMERA:"camera",FILE_PICKER:"file_picker"};// Response status constants
44
- const RESPONSE_STATUS=exports.RESPONSE_STATUS={SUCCESS:"SUCCESS",ERROR:"ERROR",CANCELLED:"CANCELLED"};// Utility functions for interface validation
45
- const isValidCommand=command=>ALL_COMMANDS.includes(command);exports.isValidCommand=isValidCommand;const isValidCallback=callback=>ALL_CALLBACKS.includes(callback);exports.isValidCallback=isValidCallback;const isValidInterface=interfaceName=>ALL_INTERFACES.includes(interfaceName);// Get interfaces by category
46
- exports.isValidInterface=isValidInterface;const getInterfacesByCategory=category=>{const categoryData=INTERFACE_CATEGORIES[category.toUpperCase()];if(!categoryData){throw new Error(`Invalid category: ${category}`);}return categoryData;};// Debug helper to list all interfaces
47
- exports.getInterfacesByCategory=getInterfacesByCategory;const debugInterfaces=()=>{console.group("🌉 Native Bridge Interfaces");console.log("Commands:",ALL_COMMANDS);console.log("Callbacks:",ALL_CALLBACKS);console.log("Categories:",Object.keys(INTERFACE_CATEGORIES));console.groupEnd();};exports.debugInterfaces=debugInterfaces;var _default=exports.default={NATIVE_COMMANDS,NATIVE_CALLBACKS,INTERFACE_CATEGORIES,ALL_COMMANDS,ALL_CALLBACKS,ALL_INTERFACES,PERMISSION_STATUS,HAPTIC_FEEDBACK_TYPES,FILE_PICKER_STATES,INTENT_STATES,CAMERA_QUALITY,CAMERA_FORMAT,CAMERA_DEVICE,CAMERA_FLASH_MODE,TRANSPORT_TYPES,CAMERA_SOURCE,RESPONSE_STATUS,isValidCommand,isValidCallback,isValidInterface,getInterfacesByCategory,debugInterfaces};
11
+ const NATIVE_COMMANDS = exports.NATIVE_COMMANDS = {
12
+ // Camera commands
13
+ OPEN_CAMERA: "openCamera",
14
+ REQUEST_CAMERA_PERMISSION: "requestCameraPermission",
15
+ // Video stream commands
16
+ START_VIDEO_STREAM: "startVideoStream",
17
+ STOP_VIDEO_STREAM: "stopVideoStream",
18
+ SET_VIDEO_STREAM_ZOOM: "setVideoStreamZoom",
19
+ SET_VIDEO_STREAM_TORCH: "setVideoStreamTorch",
20
+ SET_VIDEO_STREAM_FPS: "setVideoStreamFps",
21
+ FLIP_VIDEO_STREAM: "flipVideoStream",
22
+ // File commands
23
+ PICK_FILE: "pickFile",
24
+ OPEN_FILE_WITH_INTENT: "openFileWithIntent",
25
+ // Haptic feedback commands
26
+ REQUEST_HAPTIC_FEEDBACK: "requestHapticFeedback",
27
+ // Notification commands
28
+ SCHEDULE_LOCAL_NOTIFICATION: "scheduleLocalNotification",
29
+ CANCEL_LOCAL_NOTIFICATION: "cancelLocalNotification",
30
+ REQUEST_NOTIFICATION_PERMISSION: "requestNotificationPermission",
31
+ REGISTER_FOR_PUSH_NOTIFICATIONS: "registerForPushNotifications",
32
+ UPDATE_BADGE_COUNT: "updateBadgeCount",
33
+ SUBSCRIBE_TO_TOPIC: "subscribeToTopic",
34
+ UNSUBSCRIBE_FROM_TOPIC: "unsubscribeFromTopic",
35
+ GET_SUBSCRIBED_TOPICS: "getSubscribedTopics",
36
+ // Device info commands
37
+ GET_DEVICE_INFO: "getDeviceInfo",
38
+ // Network commands
39
+ GET_NETWORK_STATUS: "getNetworkStatus",
40
+ // Auth commands
41
+ GOOGLE_SIGN_IN: "googleSignIn",
42
+ // Transition commands
43
+ START_TRANSITION: "startTransition",
44
+ COMMIT_TRANSITION: "commitTransition",
45
+ CANCEL_TRANSITION: "cancelTransition",
46
+ // Safe area commands
47
+ GET_SAFE_AREA: "getSafeArea",
48
+ // Security commands
49
+ SET_SCREEN_SECURE: "setScreenSecure",
50
+ GET_SCREEN_SECURE: "getScreenSecure",
51
+ CLEAR_WEB_DATA: "clearWebData",
52
+ // Native AI commands
53
+ INIT_AI: "initAI",
54
+ GENERATE_NATIVE: "generateNative"
55
+ };
56
+
57
+ // Callback Interfaces: Native → Web (incoming events/callbacks)
58
+ const NATIVE_CALLBACKS = exports.NATIVE_CALLBACKS = {
59
+ // Camera callbacks
60
+ CAMERA_PERMISSION_STATUS: "CAMERA_PERMISSION_STATUS",
61
+ ON_CAMERA_CAPTURE: "ON_CAMERA_CAPTURE",
62
+ ON_CAMERA_ERROR: "ON_CAMERA_ERROR",
63
+ // Video stream callbacks
64
+ ON_VIDEO_STREAM_READY: "ON_VIDEO_STREAM_READY",
65
+ ON_VIDEO_STREAM_STOPPED: "ON_VIDEO_STREAM_STOPPED",
66
+ ON_QR_DETECTED: "ON_QR_DETECTED",
67
+ ON_TORCH_CHANGED: "ON_TORCH_CHANGED",
68
+ ON_ZOOM_CHANGED: "ON_ZOOM_CHANGED",
69
+ // File picker callbacks
70
+ ON_FILE_PICKED: "ON_FILE_PICKED",
71
+ ON_FILE_PICK_ERROR: "ON_FILE_PICK_ERROR",
72
+ ON_FILE_PICK_CANCELLED: "ON_FILE_PICK_CANCELLED",
73
+ ON_FILE_PICK_STATE_UPDATE: "ON_FILE_PICK_STATE_UPDATE",
74
+ // Intent callbacks
75
+ ON_INTENT_SUCCESS: "ON_INTENT_SUCCESS",
76
+ ON_INTENT_ERROR: "ON_INTENT_ERROR",
77
+ ON_INTENT_CANCELLED: "ON_INTENT_CANCELLED",
78
+ // Haptic feedback callbacks
79
+ HAPTIC_FEEDBACK: "HAPTIC_FEEDBACK",
80
+ // Notification callbacks
81
+ NOTIFICATION_PERMISSION_STATUS: "NOTIFICATION_PERMISSION_STATUS",
82
+ LOCAL_NOTIFICATION_SCHEDULED: "LOCAL_NOTIFICATION_SCHEDULED",
83
+ LOCAL_NOTIFICATION_CANCELLED: "LOCAL_NOTIFICATION_CANCELLED",
84
+ PUSH_NOTIFICATION_TOKEN: "PUSH_NOTIFICATION_TOKEN",
85
+ NOTIFICATION_RECEIVED: "NOTIFICATION_RECEIVED",
86
+ NOTIFICATION_ACTION_PERFORMED: "NOTIFICATION_ACTION_PERFORMED",
87
+ NOTIFICATION_TAPPED: "NOTIFICATION_TAPPED",
88
+ TOPIC_SUBSCRIPTION_RESULT: "TOPIC_SUBSCRIPTION_RESULT",
89
+ SUBSCRIBED_TOPICS_RESULT: "SUBSCRIBED_TOPICS_RESULT",
90
+ // Device info callbacks
91
+ ON_DEVICE_INFO_SUCCESS: "ON_DEVICE_INFO_SUCCESS",
92
+ ON_DEVICE_INFO_ERROR: "ON_DEVICE_INFO_ERROR",
93
+ // Auth callbacks
94
+ ON_GOOGLE_SIGN_IN_SUCCESS: "ON_GOOGLE_SIGN_IN_SUCCESS",
95
+ ON_GOOGLE_SIGN_IN_ERROR: "ON_GOOGLE_SIGN_IN_ERROR",
96
+ ON_GOOGLE_SIGN_IN_CANCELLED: "ON_GOOGLE_SIGN_IN_CANCELLED",
97
+ // Network callbacks
98
+ NETWORK_STATUS_CHANGED: "NETWORK_STATUS_CHANGED",
99
+ // Safe area callbacks
100
+ ON_SAFE_AREA_INSETS_UPDATED: "ON_SAFE_AREA_INSETS_UPDATED",
101
+ // Transition callbacks
102
+ ON_TRANSITION_COMMITTED: "ON_TRANSITION_COMMITTED",
103
+ ON_TRANSITION_CANCELLED: "ON_TRANSITION_CANCELLED",
104
+ ON_TRANSITION_TIMEOUT: "ON_TRANSITION_TIMEOUT",
105
+ // Security callbacks
106
+ ON_SCREEN_SECURE_SET: "ON_SCREEN_SECURE_SET",
107
+ ON_SCREEN_SECURE_STATUS: "ON_SCREEN_SECURE_STATUS",
108
+ ON_SCREEN_SECURE_ERROR: "ON_SCREEN_SECURE_ERROR",
109
+ ON_WEB_DATA_CLEARED: "ON_WEB_DATA_CLEARED",
110
+ ON_WEB_DATA_CLEAR_ERROR: "ON_WEB_DATA_CLEAR_ERROR",
111
+ // Native AI callbacks
112
+ ON_AI_READY: "ON_AI_READY",
113
+ ON_AI_TOKEN: "ON_AI_TOKEN",
114
+ ON_AI_DONE: "ON_AI_DONE",
115
+ ON_AI_ERROR: "ON_AI_ERROR",
116
+ ON_AI_PROGRESS: "ON_AI_PROGRESS",
117
+ ON_AI_LOG: "ON_AI_LOG",
118
+ // Perf telemetry callbacks (native → web)
119
+ CATALYST_PERF_EVENT: "CATALYST_PERF_EVENT"
120
+ };
121
+
122
+ // Interface Categories for easier management
123
+ const INTERFACE_CATEGORIES = exports.INTERFACE_CATEGORIES = {
124
+ CAMERA: {
125
+ commands: [NATIVE_COMMANDS.OPEN_CAMERA, NATIVE_COMMANDS.REQUEST_CAMERA_PERMISSION],
126
+ callbacks: [NATIVE_CALLBACKS.CAMERA_PERMISSION_STATUS, NATIVE_CALLBACKS.ON_CAMERA_CAPTURE, NATIVE_CALLBACKS.ON_CAMERA_ERROR]
127
+ },
128
+ FILE: {
129
+ commands: [NATIVE_COMMANDS.PICK_FILE, NATIVE_COMMANDS.OPEN_FILE_WITH_INTENT],
130
+ callbacks: [NATIVE_CALLBACKS.ON_FILE_PICKED, NATIVE_CALLBACKS.ON_FILE_PICK_ERROR, NATIVE_CALLBACKS.ON_FILE_PICK_CANCELLED, NATIVE_CALLBACKS.ON_FILE_PICK_STATE_UPDATE]
131
+ },
132
+ INTENT: {
133
+ commands: [NATIVE_COMMANDS.OPEN_FILE_WITH_INTENT],
134
+ callbacks: [NATIVE_CALLBACKS.ON_INTENT_SUCCESS, NATIVE_CALLBACKS.ON_INTENT_ERROR, NATIVE_CALLBACKS.ON_INTENT_CANCELLED]
135
+ },
136
+ HAPTIC: {
137
+ commands: [NATIVE_COMMANDS.REQUEST_HAPTIC_FEEDBACK],
138
+ callbacks: [NATIVE_CALLBACKS.HAPTIC_FEEDBACK]
139
+ },
140
+ NOTIFICATION: {
141
+ commands: [NATIVE_COMMANDS.SCHEDULE_LOCAL_NOTIFICATION, NATIVE_COMMANDS.CANCEL_LOCAL_NOTIFICATION, NATIVE_COMMANDS.REQUEST_NOTIFICATION_PERMISSION, NATIVE_COMMANDS.REGISTER_FOR_PUSH_NOTIFICATIONS, NATIVE_COMMANDS.UPDATE_BADGE_COUNT, NATIVE_COMMANDS.SUBSCRIBE_TO_TOPIC, NATIVE_COMMANDS.UNSUBSCRIBE_FROM_TOPIC, NATIVE_COMMANDS.GET_SUBSCRIBED_TOPICS],
142
+ callbacks: [NATIVE_CALLBACKS.NOTIFICATION_PERMISSION_STATUS, NATIVE_CALLBACKS.LOCAL_NOTIFICATION_SCHEDULED, NATIVE_CALLBACKS.LOCAL_NOTIFICATION_CANCELLED, NATIVE_CALLBACKS.PUSH_NOTIFICATION_TOKEN, NATIVE_CALLBACKS.NOTIFICATION_RECEIVED, NATIVE_CALLBACKS.NOTIFICATION_ACTION_PERFORMED, NATIVE_CALLBACKS.NOTIFICATION_TAPPED, NATIVE_CALLBACKS.TOPIC_SUBSCRIPTION_RESULT, NATIVE_CALLBACKS.SUBSCRIBED_TOPICS_RESULT]
143
+ },
144
+ DEVICE_INFO: {
145
+ commands: [NATIVE_COMMANDS.GET_DEVICE_INFO],
146
+ callbacks: [NATIVE_CALLBACKS.ON_DEVICE_INFO_SUCCESS, NATIVE_CALLBACKS.ON_DEVICE_INFO_ERROR]
147
+ },
148
+ AUTH: {
149
+ commands: [NATIVE_COMMANDS.GOOGLE_SIGN_IN],
150
+ callbacks: [NATIVE_CALLBACKS.ON_GOOGLE_SIGN_IN_SUCCESS, NATIVE_CALLBACKS.ON_GOOGLE_SIGN_IN_ERROR, NATIVE_CALLBACKS.ON_GOOGLE_SIGN_IN_CANCELLED]
151
+ },
152
+ NETWORK: {
153
+ commands: [NATIVE_COMMANDS.GET_NETWORK_STATUS],
154
+ callbacks: [NATIVE_CALLBACKS.NETWORK_STATUS_CHANGED]
155
+ },
156
+ SECURITY: {
157
+ commands: [NATIVE_COMMANDS.SET_SCREEN_SECURE, NATIVE_COMMANDS.GET_SCREEN_SECURE, NATIVE_COMMANDS.CLEAR_WEB_DATA],
158
+ callbacks: [NATIVE_CALLBACKS.ON_SCREEN_SECURE_SET, NATIVE_CALLBACKS.ON_SCREEN_SECURE_ERROR, NATIVE_CALLBACKS.ON_WEB_DATA_CLEARED, NATIVE_CALLBACKS.ON_WEB_DATA_CLEAR_ERROR]
159
+ },
160
+ TRANSITION: {
161
+ commands: [NATIVE_COMMANDS.START_TRANSITION, NATIVE_COMMANDS.COMMIT_TRANSITION, NATIVE_COMMANDS.CANCEL_TRANSITION],
162
+ callbacks: [NATIVE_CALLBACKS.ON_TRANSITION_COMMITTED, NATIVE_CALLBACKS.ON_TRANSITION_CANCELLED, NATIVE_CALLBACKS.ON_TRANSITION_TIMEOUT]
163
+ },
164
+ AI: {
165
+ commands: [NATIVE_COMMANDS.INIT_AI, NATIVE_COMMANDS.GENERATE_NATIVE],
166
+ callbacks: [NATIVE_CALLBACKS.ON_AI_READY, NATIVE_CALLBACKS.ON_AI_TOKEN, NATIVE_CALLBACKS.ON_AI_DONE, NATIVE_CALLBACKS.ON_AI_ERROR, NATIVE_CALLBACKS.ON_AI_PROGRESS, NATIVE_CALLBACKS.ON_AI_LOG]
167
+ }
168
+ };
169
+
170
+ // All available interfaces (for validation)
171
+ const ALL_COMMANDS = exports.ALL_COMMANDS = Object.values(NATIVE_COMMANDS);
172
+ const ALL_CALLBACKS = exports.ALL_CALLBACKS = Object.values(NATIVE_CALLBACKS);
173
+ const ALL_INTERFACES = exports.ALL_INTERFACES = [...ALL_COMMANDS, ...ALL_CALLBACKS];
174
+
175
+ // Permission status constants
176
+ const PERMISSION_STATUS = exports.PERMISSION_STATUS = {
177
+ GRANTED: "GRANTED",
178
+ DENIED: "DENIED",
179
+ NOT_DETERMINED: "NOT_DETERMINED",
180
+ RESTRICTED: "RESTRICTED"
181
+ };
182
+
183
+ // Haptic feedback types (matching Android implementation)
184
+ const HAPTIC_FEEDBACK_TYPES = exports.HAPTIC_FEEDBACK_TYPES = {
185
+ VIRTUAL_KEY: "VIRTUAL_KEY",
186
+ LONG_PRESS: "LONG_PRESS",
187
+ DEFAULT: "DEFAULT",
188
+ // Legacy types for backward compatibility
189
+ LIGHT: "VIRTUAL_KEY",
190
+ MEDIUM: "DEFAULT",
191
+ HEAVY: "LONG_PRESS"
192
+ };
193
+
194
+ // File picker state constants
195
+ const FILE_PICKER_STATES = exports.FILE_PICKER_STATES = {
196
+ OPENING: "opening",
197
+ PROCESSING: "processing",
198
+ IDLE: null
199
+ };
200
+
201
+ // Intent processing states
202
+ const INTENT_STATES = exports.INTENT_STATES = {
203
+ PROCESSING: "processing",
204
+ DOWNLOADING: "downloading",
205
+ OPENING: "opening",
206
+ IDLE: null
207
+ };
208
+
209
+ // Camera quality constants
210
+ const CAMERA_QUALITY = exports.CAMERA_QUALITY = {
211
+ HIGH: "high",
212
+ MEDIUM: "medium",
213
+ LOW: "low"
214
+ };
215
+
216
+ // Camera format constants
217
+ const CAMERA_FORMAT = exports.CAMERA_FORMAT = {
218
+ JPEG: "jpeg",
219
+ PNG: "png"
220
+ };
221
+
222
+ // Camera device constants
223
+ const CAMERA_DEVICE = exports.CAMERA_DEVICE = {
224
+ FRONT: "front",
225
+ REAR: "rear",
226
+ BACK: "rear" // Alias for rear
227
+ };
228
+
229
+ // Camera flash mode constants
230
+ const CAMERA_FLASH_MODE = exports.CAMERA_FLASH_MODE = {
231
+ AUTO: "auto",
232
+ ON: "on",
233
+ OFF: "off"
234
+ };
235
+
236
+ // Transport type constants (matching native implementation)
237
+ const TRANSPORT_TYPES = exports.TRANSPORT_TYPES = {
238
+ BASE64: "BASE64",
239
+ FILE_URL: "FILE_URL",
240
+ FRAMEWORK_SERVER: "FRAMEWORK_SERVER"
241
+ };
242
+
243
+ // Camera source constants
244
+ const CAMERA_SOURCE = exports.CAMERA_SOURCE = {
245
+ CAMERA: "camera",
246
+ FILE_PICKER: "file_picker"
247
+ };
248
+
249
+ // Response status constants
250
+ const RESPONSE_STATUS = exports.RESPONSE_STATUS = {
251
+ SUCCESS: "SUCCESS",
252
+ ERROR: "ERROR",
253
+ CANCELLED: "CANCELLED"
254
+ };
255
+
256
+ // Utility functions for interface validation
257
+ const isValidCommand = command => ALL_COMMANDS.includes(command);
258
+ exports.isValidCommand = isValidCommand;
259
+ const isValidCallback = callback => ALL_CALLBACKS.includes(callback);
260
+ exports.isValidCallback = isValidCallback;
261
+ const isValidInterface = interfaceName => ALL_INTERFACES.includes(interfaceName);
262
+
263
+ // Get interfaces by category
264
+ exports.isValidInterface = isValidInterface;
265
+ const getInterfacesByCategory = category => {
266
+ const categoryData = INTERFACE_CATEGORIES[category.toUpperCase()];
267
+ if (!categoryData) {
268
+ throw new Error(`Invalid category: ${category}`);
269
+ }
270
+ return categoryData;
271
+ };
272
+
273
+ // Debug helper to list all interfaces
274
+ exports.getInterfacesByCategory = getInterfacesByCategory;
275
+ const debugInterfaces = () => {
276
+ console.group("🌉 Native Bridge Interfaces");
277
+ console.log("Commands:", ALL_COMMANDS);
278
+ console.log("Callbacks:", ALL_CALLBACKS);
279
+ console.log("Categories:", Object.keys(INTERFACE_CATEGORIES));
280
+ console.groupEnd();
281
+ };
282
+ exports.debugInterfaces = debugInterfaces;
283
+ var _default = exports.default = {
284
+ NATIVE_COMMANDS,
285
+ NATIVE_CALLBACKS,
286
+ INTERFACE_CATEGORIES,
287
+ ALL_COMMANDS,
288
+ ALL_CALLBACKS,
289
+ ALL_INTERFACES,
290
+ PERMISSION_STATUS,
291
+ HAPTIC_FEEDBACK_TYPES,
292
+ FILE_PICKER_STATES,
293
+ INTENT_STATES,
294
+ CAMERA_QUALITY,
295
+ CAMERA_FORMAT,
296
+ CAMERA_DEVICE,
297
+ CAMERA_FLASH_MODE,
298
+ TRANSPORT_TYPES,
299
+ CAMERA_SOURCE,
300
+ RESPONSE_STATUS,
301
+ isValidCommand,
302
+ isValidCallback,
303
+ isValidInterface,
304
+ getInterfacesByCategory,
305
+ debugInterfaces
306
+ };