@buoy-gg/core 7.0.79 → 7.0.81
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/bundlers/vite.mjs +1 -1
- package/lib/commonjs/Buoy.js +1 -1
- package/lib/commonjs/auto.web.js +1 -1
- package/lib/commonjs/bundlerKey.js +1 -0
- package/lib/commonjs/floatingMenu/AppHost.js +1 -1
- package/lib/commonjs/floatingMenu/BrowserToolRuntime.js +1 -1
- package/lib/commonjs/floatingMenu/FloatingDevTools.js +1 -1
- package/lib/commonjs/floatingMenu/FloatingDevTools.web.js +1 -1
- package/lib/commonjs/floatingMenu/ToolHost.js +1 -1
- package/lib/commonjs/floatingMenu/autoExternalSync.js +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/Buoy.js +1 -1
- package/lib/module/auto.web.js +1 -1
- package/lib/module/bundlerKey.js +1 -0
- package/lib/module/floatingMenu/AppHost.js +1 -1
- package/lib/module/floatingMenu/BrowserToolRuntime.js +1 -1
- package/lib/module/floatingMenu/FloatingDevTools.js +1 -1
- package/lib/module/floatingMenu/FloatingDevTools.web.js +1 -1
- package/lib/module/floatingMenu/ToolHost.js +1 -1
- package/lib/module/floatingMenu/autoExternalSync.js +1 -1
- package/lib/module/version.js +1 -1
- package/lib/typescript/commonjs/Buoy.d.ts +1 -1
- package/lib/typescript/commonjs/auto.web.d.ts +1 -5
- package/lib/typescript/commonjs/bundlerKey.d.ts +6 -0
- package/lib/typescript/commonjs/floatingMenu/FloatingDevTools.d.ts +2 -1
- package/lib/typescript/commonjs/version.d.ts +1 -1
- package/lib/typescript/module/Buoy.d.ts +1 -1
- package/lib/typescript/module/auto.web.d.ts +1 -5
- package/lib/typescript/module/bundlerKey.d.ts +6 -0
- package/lib/typescript/module/floatingMenu/FloatingDevTools.d.ts +2 -1
- package/lib/typescript/module/version.d.ts +1 -1
- package/lib/web/auto.mjs +1 -1
- package/lib/web/chunks/{FloatingDevTools.web-5EMC7ZIE.mjs → FloatingDevTools.web-ESKLKOSQ.mjs} +1 -1
- package/lib/web/chunks/FloatingDevTools.web-H4R5WRDU.mjs +1 -0
- package/lib/web/chunks/FloatingDevTools.web-OZM47G4Z.mjs +1 -0
- package/lib/web/chunks/chunk-5PL4HAS6.mjs +10 -0
- package/lib/web/chunks/chunk-74RBGVOS.mjs +1 -0
- package/lib/web/chunks/chunk-H4EIRXRJ.mjs +10 -0
- package/lib/web/chunks/chunk-JXTHZBMM.mjs +2 -2
- package/lib/web/chunks/chunk-YXDQX4XV.mjs +10 -0
- package/lib/web/index.mjs +1 -1
- package/package.json +5 -5
- package/lib/web/chunks/chunk-EFTCKGMC.mjs +0 -10
package/bundlers/vite.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{existsSync as $,readFileSync as k,realpathSync as N}from"node:fs";import{createRequire as z}from"node:module";import c from"node:path";export function missingReactNativeWeb(e=import.meta.url){try{z(e).resolve("react-native-web");return false}catch{return true}}const B=[["network","network"],["storage","storage"],["events","events"],["console","console"],["env","env"],["redux","redux"],["zustand","zustand"],["jotai","jotai"],["react-query","react-query"],["route-events","route-events"],["time-machine","time-machine"],["clock","clock"],["lifecycle","lifecycle"],["location","location"],["permissions","permissions"],["notifications","push-notifications"],["scenarios","scenarios"],["sentry","sentry"],["ask-buoy","ask-buoy"],["impersonate","impersonate"],["perf-monitor","perf-monitor"],["js-top","js-top"],["highlight-updates","highlight-updates"],["debug-borders","debug-borders"],["images","images"],["assets","assets"],["image-overlay","image-overlay"],["tv-remote","tv-remote"],["focus-inspector","focus-inspector"],["external-sync","external-sync"]];const x="@buoy-gg/core/web/installed-tools";const O="@buoy-gg/core/web/register";const H="@buoy-gg/core/web/register-network";const J="\0buoy:installed-tools";const P="@buoy-gg/solid";const q="@buoy-gg/solid/register";const C=["solid-js","solid-js/web","solid-js/store"];const A="#buoy-solid-auto";const M="\0buoy:solid-links";const V=["@buoy-gg/solid","@buoy-gg/solid/register","@buoy-gg/solid/router","@buoy-gg/solid/store","@buoy-gg/solid/highlights"];const v="@buoy-gg/vue";const W="@buoy-gg/vue/register";const G=[{name:"solid",pkg:P,register:q,dedupe:()=>C},{name:"vue",pkg:v,register:W,dedupe:e=>["vue",...e["@tanstack/vue-query"]?["@tanstack/query-core"]:[]]}];export function frameworkHost(e){const t=j(e);return G.find(n=>t[n.pkg])}function D(e){for(let t=e;;t=c.dirname(t)){const n=c.join(t,"package.json");if($(n))return n;if(c.dirname(t)===t)return void 0}}function j(e){const t=D(e);try{const n=t?JSON.parse(k(t,"utf8")):{};return{...n.dependencies,...n.devDependencies,...n.optionalDependencies,...n.peerDependencies}}catch{return{}}}export function wantsSolid2(e){const t=String(j(e)["solid-js"]??"");return t==="next"||/^[\s^~>=v]*2(?:\.|$)/.test(t)}export function earlyHook(e,t=true){if(t===false)return void 0;if(t==="react")return O;if(t==="network")return H;return frameworkHost(e)?.register??O}export function disabledEntry(e,t){const[n,o,...s]=t.split("/");if(n!=="@buoy-gg"||!o)return void 0;const r=c.join(_(e,`${n}/${o}`)??"","package.json");if(!$(r))return void 0;try{const a=JSON.parse(k(r,"utf8")).exports?.[s.length?`./${s.join("/")}`:"."];const i=a&&typeof a==="object"?a["buoy-disabled"]:void 0;return typeof i==="string"?c.join(c.dirname(r),i):void 0}catch{return void 0}}function _(e,t){for(let n=e;;n=c.dirname(n)){const o=c.join(n,"node_modules",t);if($(c.join(o,"package.json")))return o;if(c.dirname(n)===n)return void 0}}export function solidLinksModule(e,t){const n=j(e);const o=new Set(t.map(({key:a})=>a));const s=Boolean(n["@tanstack/solid-query"])&&o.has("react-query");const r=Boolean(n["@solidjs/router"])&&o.has("route-events");return[s||r?"import { useContext, getOwner } from 'solid-js';":"",s?"import { QueryClientContext, onlineManager } from '@tanstack/solid-query';":"",r?"import { useLocation, useCurrentMatches, useNavigate } from '@solidjs/router';":"","export function useBuoyLinks(options) {"," const links = {};",s?" const client = useContext(QueryClientContext);\n if (client) { links.queryClient = client(); links.onlineManager = onlineManager; }":"",r?[" try {"," const location = useLocation(), matches = useCurrentMatches(), navigate = useNavigate(), owner = getOwner();"," links.router = () => import('@buoy-gg/solid/router').then((m) => m.connectBuoyRouter({ location, matches, navigate, routes: options.routes, owner }));"," } catch { /* not inside <Router> */ }"].join("\n"):""," return links;","}",""].filter(Boolean).join("\n")}function F(e){const t=new Map;const n=(o,s)=>{for(const r of s){const a=r.startsWith("@buoy-gg/")&&!t.has(r)?_(o,r):void 0;if(!a)continue;const i=N(a);t.set(r,i);let d=[];try{d=Object.keys(JSON.parse(k(c.join(i,"package.json"),"utf8")).dependencies??{})}catch{}n(i,d)}};n(e,[...Object.keys(j(e)),"@buoy-gg/core"]);return[...t.values()]}function Q(e,t){const n=(r,a)=>{for(const i of a){const d=_(i,r);if(d)return d}return void 0};const o=n("react-dom",[e,...t]);const s={react:n("react",[...o?[N(o)]:[],e,...t]),"react-dom":o,"react-native-web":n("react-native-web",[e,...t])};return Object.fromEntries(Object.entries(s).filter(([,r])=>r))}function K(e,t){for(let n=e;;n=c.dirname(n)){const o=c.join(n,"node_modules",t,"package.json");if($(o)){try{return JSON.parse(k(o,"utf8"))}catch{return void 0}}if(c.dirname(n)===n)return void 0}}export function findInstalledTools(e,{exclude:t=[]}={}){const n=D(e);let o;try{const i=n?JSON.parse(k(n,"utf8")):{};const d={...i.dependencies,...i.devDependencies,...i.optionalDependencies,...i.peerDependencies};if(d["@buoy-gg/core"])o=new Set(Object.keys(d))}catch{}const s=new Set(t.map(i=>i.replace(/^@buoy-gg\//,"")));const r=[];const a=[];for(const[i,d]of B){const y=`@buoy-gg/${i}`;if(s.has(i)||s.has(d)||o&&!o.has(y))continue;const m=K(e,y);if(!m)continue;if(m.exports&&typeof m.exports==="object"&&m.exports["./web"])r.push({id:y,key:d});else a.push(y)}return{found:r,missingWeb:a}}export function installedToolsModule(e,{assetList:t}={}){const n=e.map(({id:a},i)=>`import * as t${i} from ${JSON.stringify(`${a}/web`)};`);const o=e.map(({key:a},i)=>`${JSON.stringify(a)}: t${i}`);const s=e.findIndex(({key:a})=>a==="assets");const r=t&&s!==-1?`t${s}.loadBrowserAssetManifest?.(${JSON.stringify(t)})?.catch?.(() => {});
|
|
1
|
+
import{existsSync as $,readFileSync as k,realpathSync as N}from"node:fs";import{createRequire as z}from"node:module";import c from"node:path";export function missingReactNativeWeb(e=import.meta.url){try{z(e).resolve("react-native-web");return false}catch{return true}}const B=[["network","network"],["storage","storage"],["events","events"],["console","console"],["env","env"],["redux","redux"],["zustand","zustand"],["jotai","jotai"],["react-query","react-query"],["route-events","route-events"],["time-machine","time-machine"],["clock","clock"],["lifecycle","lifecycle"],["location","location"],["permissions","permissions"],["notifications","push-notifications"],["scenarios","scenarios"],["bug-links","bug-links"],["sentry","sentry"],["ask-buoy","ask-buoy"],["impersonate","impersonate"],["perf-monitor","perf-monitor"],["js-top","js-top"],["highlight-updates","highlight-updates"],["debug-borders","debug-borders"],["images","images"],["assets","assets"],["image-overlay","image-overlay"],["tv-remote","tv-remote"],["focus-inspector","focus-inspector"],["external-sync","external-sync"]];const x="@buoy-gg/core/web/installed-tools";const O="@buoy-gg/core/web/register";const H="@buoy-gg/core/web/register-network";const J="\0buoy:installed-tools";const P="@buoy-gg/solid";const q="@buoy-gg/solid/register";const C=["solid-js","solid-js/web","solid-js/store"];const A="#buoy-solid-auto";const M="\0buoy:solid-links";const V=["@buoy-gg/solid","@buoy-gg/solid/register","@buoy-gg/solid/router","@buoy-gg/solid/store","@buoy-gg/solid/highlights"];const v="@buoy-gg/vue";const W="@buoy-gg/vue/register";const G=[{name:"solid",pkg:P,register:q,dedupe:()=>C},{name:"vue",pkg:v,register:W,dedupe:e=>["vue",...e["@tanstack/vue-query"]?["@tanstack/query-core"]:[]]}];export function frameworkHost(e){const t=j(e);return G.find(n=>t[n.pkg])}function D(e){for(let t=e;;t=c.dirname(t)){const n=c.join(t,"package.json");if($(n))return n;if(c.dirname(t)===t)return void 0}}function j(e){const t=D(e);try{const n=t?JSON.parse(k(t,"utf8")):{};return{...n.dependencies,...n.devDependencies,...n.optionalDependencies,...n.peerDependencies}}catch{return{}}}export function wantsSolid2(e){const t=String(j(e)["solid-js"]??"");return t==="next"||/^[\s^~>=v]*2(?:\.|$)/.test(t)}export function earlyHook(e,t=true){if(t===false)return void 0;if(t==="react")return O;if(t==="network")return H;return frameworkHost(e)?.register??O}export function disabledEntry(e,t){const[n,o,...s]=t.split("/");if(n!=="@buoy-gg"||!o)return void 0;const r=c.join(_(e,`${n}/${o}`)??"","package.json");if(!$(r))return void 0;try{const a=JSON.parse(k(r,"utf8")).exports?.[s.length?`./${s.join("/")}`:"."];const i=a&&typeof a==="object"?a["buoy-disabled"]:void 0;return typeof i==="string"?c.join(c.dirname(r),i):void 0}catch{return void 0}}function _(e,t){for(let n=e;;n=c.dirname(n)){const o=c.join(n,"node_modules",t);if($(c.join(o,"package.json")))return o;if(c.dirname(n)===n)return void 0}}export function solidLinksModule(e,t){const n=j(e);const o=new Set(t.map(({key:a})=>a));const s=Boolean(n["@tanstack/solid-query"])&&o.has("react-query");const r=Boolean(n["@solidjs/router"])&&o.has("route-events");return[s||r?"import { useContext, getOwner } from 'solid-js';":"",s?"import { QueryClientContext, onlineManager } from '@tanstack/solid-query';":"",r?"import { useLocation, useCurrentMatches, useNavigate } from '@solidjs/router';":"","export function useBuoyLinks(options) {"," const links = {};",s?" const client = useContext(QueryClientContext);\n if (client) { links.queryClient = client(); links.onlineManager = onlineManager; }":"",r?[" try {"," const location = useLocation(), matches = useCurrentMatches(), navigate = useNavigate(), owner = getOwner();"," links.router = () => import('@buoy-gg/solid/router').then((m) => m.connectBuoyRouter({ location, matches, navigate, routes: options.routes, owner }));"," } catch { /* not inside <Router> */ }"].join("\n"):""," return links;","}",""].filter(Boolean).join("\n")}function F(e){const t=new Map;const n=(o,s)=>{for(const r of s){const a=r.startsWith("@buoy-gg/")&&!t.has(r)?_(o,r):void 0;if(!a)continue;const i=N(a);t.set(r,i);let d=[];try{d=Object.keys(JSON.parse(k(c.join(i,"package.json"),"utf8")).dependencies??{})}catch{}n(i,d)}};n(e,[...Object.keys(j(e)),"@buoy-gg/core"]);return[...t.values()]}function Q(e,t){const n=(r,a)=>{for(const i of a){const d=_(i,r);if(d)return d}return void 0};const o=n("react-dom",[e,...t]);const s={react:n("react",[...o?[N(o)]:[],e,...t]),"react-dom":o,"react-native-web":n("react-native-web",[e,...t])};return Object.fromEntries(Object.entries(s).filter(([,r])=>r))}function K(e,t){for(let n=e;;n=c.dirname(n)){const o=c.join(n,"node_modules",t,"package.json");if($(o)){try{return JSON.parse(k(o,"utf8"))}catch{return void 0}}if(c.dirname(n)===n)return void 0}}export function findInstalledTools(e,{exclude:t=[]}={}){const n=D(e);let o;try{const i=n?JSON.parse(k(n,"utf8")):{};const d={...i.dependencies,...i.devDependencies,...i.optionalDependencies,...i.peerDependencies};if(d["@buoy-gg/core"])o=new Set(Object.keys(d))}catch{}const s=new Set(t.map(i=>i.replace(/^@buoy-gg\//,"")));const r=[];const a=[];for(const[i,d]of B){const y=`@buoy-gg/${i}`;if(s.has(i)||s.has(d)||o&&!o.has(y))continue;const m=K(e,y);if(!m)continue;if(m.exports&&typeof m.exports==="object"&&m.exports["./web"])r.push({id:y,key:d});else a.push(y)}return{found:r,missingWeb:a}}export function installedToolsModule(e,{assetList:t}={}){const n=e.map(({id:a},i)=>`import * as t${i} from ${JSON.stringify(`${a}/web`)};`);const o=e.map(({key:a},i)=>`${JSON.stringify(a)}: t${i}`);const s=e.findIndex(({key:a})=>a==="assets");const r=t&&s!==-1?`t${s}.loadBrowserAssetManifest?.(${JSON.stringify(t)})?.catch?.(() => {});
|
|
2
2
|
`:"";return`${n.join("\n")}
|
|
3
3
|
${r}export const installedTools = { ${o.join(", ")} };
|
|
4
4
|
export const installedToolsFound = true;
|
package/lib/commonjs/Buoy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Buoy=void 0;exports.applyDefaultLicenseKey=applyDefaultLicenseKey;exports.default=void 0;exports.defaultLicenseKey=defaultLicenseKey;exports.isTelemetryEnabled=isTelemetryEnabled;var _license=require("@buoy-gg/license");let telemetryEnabled=true;function isTelemetryEnabled(){return telemetryEnabled}let initKeyGiven=false;let defaultKeyApplied=false;function defaultLicenseKey(){if(initKeyGiven)return void 0;try{const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Buoy=void 0;exports.applyDefaultLicenseKey=applyDefaultLicenseKey;exports.default=void 0;exports.defaultLicenseKey=defaultLicenseKey;exports.isTelemetryEnabled=isTelemetryEnabled;var _license=require("@buoy-gg/license");let telemetryEnabled=true;function isTelemetryEnabled(){return telemetryEnabled}let initKeyGiven=false;let defaultKeyApplied=false;function defaultLicenseKey(e){if(initKeyGiven)return void 0;try{const t=process.env.EXPO_PUBLIC_BUOY_KEY;if(t)return t}catch{}try{const t=process.env.NEXT_PUBLIC_BUOY_KEY;if(t)return t}catch{}return e?.()}function applyDefaultLicenseKey(){if(defaultKeyApplied)return;defaultKeyApplied=true;const e=defaultLicenseKey();if(e)void _license.LicenseManager.configure(e).catch(()=>{})}const Buoy=exports.Buoy={init(e){if(e.telemetry===false)telemetryEnabled=false;if(e.licenseKey!==void 0)initKeyGiven=true;void _license.LicenseManager.configure(e.licenseKey).catch(t=>{console.warn("[Buoy] License initialization failed:",t)})},async initAsync(e){if(e.telemetry===false)telemetryEnabled=false;if(e.licenseKey!==void 0)initKeyGiven=true;return _license.LicenseManager.configure(e.licenseKey)},isPro(){return _license.LicenseManager.isPro()},getState(){return _license.LicenseManager.getState()},async forceReregister(){await _license.LicenseManager.forceReregister()}};var _default=exports.default=Buoy;
|
package/lib/commonjs/auto.web.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.BuoyDevTools=BuoyDevTools;exports.bundlerKey
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.BuoyDevTools=BuoyDevTools;Object.defineProperty(exports,"bundlerKey",{enumerable:true,get:function(){return _bundlerKey.bundlerKey}});exports.shouldShowBuoy=shouldShowBuoy;var _react=require("react");var _bundlerKey=require("./bundlerKey.js");function _interopRequireWildcard(t,r){if("function"==typeof WeakMap)var i=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(e,s){if(!s&&e&&e.__esModule)return e;var n,l,u={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return u;if(n=s?a:i){if(n.has(e))return n.get(e);n.set(e,u)}for(const o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((l=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,o))&&(l.get||l.set)?n(u,o,l):u[o]=e[o]);return u})(t,r)}function shouldShowBuoy(){if(typeof window==="undefined")return false;const t=window.Capacitor;let r=false;try{r=t?.isNativePlatform?.()===true}catch{r=false}if(r)return t?.DEBUG===true;return typeof __DEV__!=="undefined"?Boolean(__DEV__):process.env.NODE_ENV!=="production"}let host;function loadHost(){host??=(0,_react.lazy)(()=>Promise.resolve().then(()=>_interopRequireWildcard(require("./floatingMenu/FloatingDevTools.web"))).then(t=>({default:t.FloatingDevTools})));return host}function BuoyDevTools({enabled:t,...r}){const[i,a]=(0,_react.useState)(false);(0,_react.useEffect)(()=>{a(t??shouldShowBuoy())},[t]);if(!i)return null;const e=r.licenseKey??(0,_bundlerKey.bundlerKey)();return(0,_react.createElement)(_react.Suspense,{fallback:null},(0,_react.createElement)(loadHost(),{...r,licenseKey:e}))}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.bundlerKey=bundlerKey;function bundlerKey(){try{const e=import.meta.env.VITE_BUOY_KEY;if(e)return e}catch{}try{const e=process.env.NEXT_PUBLIC_BUOY_KEY;if(e)return e}catch{}return void 0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.useAppHost=exports.AppOverlay=exports.AppHostProvider=void 0;var _sharedUi=require("@buoy-gg/shared-ui");var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _AppHostLogic=require("./AppHostLogic.js");var _AppIcon=require("./AppIcon");var _MinimizedToolsContext=require("./MinimizedToolsContext.js");var _ToolHost=require("./ToolHost.js");var _DevToolsSettingsModal=require("./DevToolsSettingsModal");var _DevToolsVisibilityContext=require("./DevToolsVisibilityContext.js");var _hardwareBack=require("./hardwareBack.js");var _jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(t,s){if("function"==typeof WeakMap)var c=new WeakMap,m=new WeakMap;return(_interopRequireWildcard=function(i,f){if(!f&&i&&i.__esModule)return i;var l,d,u={__proto__:null,default:i};if(null===i||"object"!=typeof i&&"function"!=typeof i)return u;if(l=f?m:c){if(l.has(i))return l.get(i);l.set(i,u)}for(const p in i)"default"!==p&&{}.hasOwnProperty.call(i,p)&&((d=(l=Object.defineProperty)&&Object.getOwnPropertyDescriptor(i,p))&&(d.get||d.set)?l(u,p,d):u[p]=i[p]);return u})(t,s)}const AppHostContext=(0,_react.createContext)(null);const STORAGE_KEY_OPEN_APPS="@react_buoy_open_apps";const PERSISTENCE_DELAY=500;const AppHostProvider=({children:t})=>{const[s,c]=(0,_react.useState)([]);const[m,i]=(0,_react.useState)(false);const f=(0,_react.useRef)(null);const l=(0,_react.useRef)([]);const d=(0,_react.useRef)(null);const{restore:u}=(0,_MinimizedToolsContext.useMinimizedTools)();const p=(0,_react.useCallback)(n=>{let o="";c(r=>{const{apps:a,instanceId:v,wasMinimized:y}=(0,_AppHostLogic.resolveOpenAppsState)(r,n,()=>`${n.id}-${Date.now()}-${Math.random().toString(36).slice(2)}`);o=v;if(y){setTimeout(()=>u(v),0)}return a});return o},[u]);const e=(0,_react.useCallback)(()=>{if(m)return;if(!l.current.length)return;const n=d.current;if(!n||n.length===0){i(true);return}d.current=null;n.forEach(({id:o,minimized:r})=>{const a=l.current.find(v=>v.id===o);if(a){const v=(0,_AppIcon.renderAppIcon)(a.icon,{slot:"dial",size:20,color:a.color});p({id:a.id,title:a.name,component:a.component,props:a.props,launchMode:a.launchMode||"self-modal",singleton:a.singleton,icon:v,color:a.color,modal:a.modal,minimized:r})}});i(true)},[m,p]);(0,_react.useEffect)(()=>{const n=async()=>{try{const o=await _sharedUi.persistentStorage.getItem(STORAGE_KEY_OPEN_APPS);if(o){const r=JSON.parse(o);let a;if(Array.isArray(r)&&r.length>0){if(typeof r[0]==="string"){a=r.map(v=>({id:v,minimized:false}))}else{a=r}if(a.length){d.current=a;e();return}}}}catch(o){}i(true)};n()},[e]);(0,_react.useEffect)(()=>{if(!m)return;if(f.current){clearTimeout(f.current)}f.current=setTimeout(()=>{const n=s.map(o=>({id:o.id,minimized:o.minimized??false}));_sharedUi.persistentStorage.setItem(STORAGE_KEY_OPEN_APPS,JSON.stringify(n))},PERSISTENCE_DELAY);return()=>{if(f.current){clearTimeout(f.current)}}},[s,m]);const g=(0,_react.useCallback)(n=>{l.current=n;e()},[e]);const h=(0,_react.useCallback)(n=>{c(o=>{if(!o.length)return o;if(!n)return o.slice(0,-1);return o.filter(r=>r.instanceId!==n)})},[]);const S=(0,_react.useCallback)(()=>c([]),[]);const b=(0,_react.useCallback)(n=>{c(o=>o.map(r=>r.instanceId===n?{...r,minimized:true}:r))},[]);const M=(0,_react.useCallback)((n,o)=>{c(r=>(0,_AppHostLogic.restoreOpenApp)(r,n,o))},[]);const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.useAppHost=exports.AppOverlay=exports.AppHostProvider=void 0;var _sharedUi=require("@buoy-gg/shared-ui");var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _AppHostLogic=require("./AppHostLogic.js");var _AppIcon=require("./AppIcon");var _MinimizedToolsContext=require("./MinimizedToolsContext.js");var _ToolHost=require("./ToolHost.js");var _DevToolsSettingsModal=require("./DevToolsSettingsModal");var _DevToolsVisibilityContext=require("./DevToolsVisibilityContext.js");var _hardwareBack=require("./hardwareBack.js");var _jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(t,s){if("function"==typeof WeakMap)var c=new WeakMap,m=new WeakMap;return(_interopRequireWildcard=function(i,f){if(!f&&i&&i.__esModule)return i;var l,d,u={__proto__:null,default:i};if(null===i||"object"!=typeof i&&"function"!=typeof i)return u;if(l=f?m:c){if(l.has(i))return l.get(i);l.set(i,u)}for(const p in i)"default"!==p&&{}.hasOwnProperty.call(i,p)&&((d=(l=Object.defineProperty)&&Object.getOwnPropertyDescriptor(i,p))&&(d.get||d.set)?l(u,p,d):u[p]=i[p]);return u})(t,s)}const AppHostContext=(0,_react.createContext)(null);const STORAGE_KEY_OPEN_APPS="@react_buoy_open_apps";const PERSISTENCE_DELAY=500;const AppHostProvider=({children:t})=>{const[s,c]=(0,_react.useState)([]);const[m,i]=(0,_react.useState)(false);const f=(0,_react.useRef)(null);const l=(0,_react.useRef)([]);const d=(0,_react.useRef)(null);const{restore:u}=(0,_MinimizedToolsContext.useMinimizedTools)();const p=(0,_react.useCallback)(n=>{let o="";c(r=>{const{apps:a,instanceId:v,wasMinimized:y}=(0,_AppHostLogic.resolveOpenAppsState)(r,n,()=>`${n.id}-${Date.now()}-${Math.random().toString(36).slice(2)}`);o=v;if(y){setTimeout(()=>u(v),0)}return a});return o},[u]);const e=(0,_react.useCallback)(()=>{if(m)return;if(!l.current.length)return;const n=d.current;if(!n||n.length===0){i(true);return}d.current=null;n.forEach(({id:o,minimized:r})=>{const a=l.current.find(v=>v.id===o);if(a){const v=(0,_AppIcon.renderAppIcon)(a.icon,{slot:"dial",size:20,color:a.color});p({id:a.id,title:a.name,component:a.component,props:a.props,launchMode:a.launchMode||"self-modal",singleton:a.singleton,icon:v,color:a.color,modal:a.modal,minimized:r})}});i(true)},[m,p]);(0,_react.useEffect)(()=>{const n=async()=>{try{const o=await _sharedUi.persistentStorage.getItem(STORAGE_KEY_OPEN_APPS);if(o){const r=JSON.parse(o);let a;if(Array.isArray(r)&&r.length>0){if(typeof r[0]==="string"){a=r.map(v=>({id:v,minimized:false}))}else{a=r}if(a.length){d.current=a;e();return}}}}catch(o){}i(true)};n()},[e]);(0,_react.useEffect)(()=>{if(!m)return;if(f.current){clearTimeout(f.current)}f.current=setTimeout(()=>{const n=s.map(o=>({id:o.id,minimized:o.minimized??false}));_sharedUi.persistentStorage.setItem(STORAGE_KEY_OPEN_APPS,JSON.stringify(n))},PERSISTENCE_DELAY);return()=>{if(f.current){clearTimeout(f.current)}}},[s,m]);const g=(0,_react.useCallback)(n=>{l.current=n;e()},[e]);const h=(0,_react.useCallback)(n=>{c(o=>{if(!o.length)return o;if(!n)return o.slice(0,-1);return o.filter(r=>r.instanceId!==n)})},[]);const S=(0,_react.useCallback)(()=>c([]),[]);const b=(0,_react.useCallback)(n=>{c(o=>o.map(r=>r.instanceId===n?{...r,minimized:true}:r))},[]);const M=(0,_react.useCallback)((n,o)=>{c(r=>(0,_AppHostLogic.restoreOpenApp)(r,n,o))},[]);const I=(0,_react.useCallback)(n=>{const o=s.find(r=>r.instanceId===n);return o?.minimized??false},[s]);const{isDialOpen:A}=(0,_DevToolsVisibilityContext.useDevToolsVisibility)();(0,_hardwareBack.useHardwareBack)(s.length>0,()=>{const n=(0,_hardwareBack.resolveBackTarget)(s,A);if(n?.kind!=="tool")return false;h(n.instanceId);return true});const x=(0,_react.useMemo)(()=>({openApps:s,isAnyOpen:s.filter(n=>n.launchMode!=="toggle-only"&&!n.minimized).length>0,open:p,close:h,closeAll:S,registerApps:g,minimize:b,restore:M,isMinimized:I}),[s,p,h,S,g,b,M,I]);return(0,_jsxRuntime.jsx)(AppHostContext.Provider,{value:x,children:t})};exports.AppHostProvider=AppHostProvider;const useAppHost=()=>{const t=(0,_react.useContext)(AppHostContext);if(!t){return{openApps:[],isAnyOpen:false,open:()=>"",close:()=>{},closeAll:()=>{},minimize:()=>{},restore:(s,c)=>{},isMinimized:()=>false}}return t};exports.useAppHost=useAppHost;const AppRenderer=({app:t,zIndex:s,onClose:c,onMinimize:m,minimizeTargetPosition:i,globalEnableSharedModalDimensions:f})=>{const l=t.component;const d=!t.minimized;const u={...t.props??{},...f===true?{enableSharedModalDimensions:true}:{}};if(t.modal&&(t.launchMode==="self-modal"||!t.launchMode)){return(0,_jsxRuntime.jsx)(_ToolHost.ToolModalShell,{app:t,config:t.modal,visible:d,zIndex:s,onClose:c,onMinimize:m,initialModalState:t.restoreState,enableSharedModalDimensions:f===true,bodyProps:u})}if(t.launchMode==="self-modal"){return(0,_jsxRuntime.jsx)(l,{...u,visible:d,onClose:c,onRequestClose:c,onMinimize:m,minimizeTargetPosition:i,initialModalState:t.restoreState,instanceId:t.instanceId,zIndex:s})}if(t.launchMode==="inline"){if(!d)return null;return(0,_jsxRuntime.jsx)(_reactNative.View,{nativeID:"buoy-tool-host",pointerEvents:"box-none",style:[_reactNative.StyleSheet.absoluteFill,{zIndex:s}],children:(0,_jsxRuntime.jsx)(l,{...u,onClose:c,onMinimize:m,minimizeTargetPosition:i,initialModalState:t.restoreState,instanceId:t.instanceId})})}return(0,_jsxRuntime.jsx)(_reactNative.Modal,{visible:d,transparent:true,animationType:"slide",onRequestClose:c,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.backdrop,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.card,children:(0,_jsxRuntime.jsx)(l,{...u,onClose:c,onMinimize:m,minimizeTargetPosition:i,initialModalState:t.restoreState,instanceId:t.instanceId})})})})};const AppOverlay=()=>{const{openApps:t,close:s,minimize:c}=useAppHost();const{minimize:m,restore:i,getNextIconPosition:f,minimizedTools:l}=(0,_MinimizedToolsContext.useMinimizedTools)();const{settings:d}=(0,_DevToolsSettingsModal.useDevToolsSettings)();(0,_react.useEffect)(()=>{(0,_sharedUi.setExpandableWindowControls)(d.globalSettings?.expandableWindowControls!==false)},[d.globalSettings?.expandableWindowControls]);_react.default.useEffect(()=>{t.forEach(e=>{if(e.minimized&&e.launchMode!=="toggle-only"){const g=l.some(h=>h.instanceId===e.instanceId);if(!g){m({instanceId:e.instanceId,id:e.id,title:e.title||e.id,icon:e.icon,color:e.color})}}});l.forEach(e=>{const g=t.find(h=>h.instanceId===e.instanceId);if(!g||!g.minimized){i(e.instanceId)}})},[t,l,m,i]);const u=t.filter(e=>e.launchMode!=="toggle-only");if(u.length===0)return null;const p=9e3;return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:u.map((e,g)=>{const h=p+g;const S=f();const b=M=>{c(e.instanceId);m({instanceId:e.instanceId,id:e.id,title:e.title||e.id,icon:e.icon,color:e.color,modalState:M})};return(0,_jsxRuntime.jsx)(AppRenderer,{app:e,zIndex:h,onClose:()=>s(e.instanceId),onMinimize:b,minimizeTargetPosition:S,globalEnableSharedModalDimensions:d.globalSettings?.enableSharedModalDimensions},e.instanceId)})})};exports.AppOverlay=AppOverlay;const styles=_reactNative.StyleSheet.create({backdrop:{flex:1,backgroundColor:"rgba(0,0,0,0.28)",alignItems:"center",justifyContent:"center"},card:{maxHeight:"90%",width:"94%",borderRadius:12,backgroundColor:"white",overflow:"hidden"}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.BrowserToolRuntime=BrowserToolRuntime;var _react=require("react");var _license=require("@buoy-gg/license");var _sharedUi=require("@buoy-gg/shared-ui");var _externalSyncGate=require("./externalSyncGate.js");var _deviceIdentity=require("./deviceIdentity.js");var _capacitorHostInfo=require("./capacitorHostInfo.js");var _appSyncAdapter=require("./sync/appSyncAdapter.js");var _jsxRuntime=require("react/jsx-runtime");const roots=["ConsoleRoot","RouteTracker","ReactQueryTracker","ReduxAutoInstrument","PerfMonitorRoot","AutomationResumer","ImagesRoot"];const overlays=["DebugBordersStandaloneOverlay","HighlightUpdatesOverlay","ImageOverlayStandalone","PerfMonitorOverlay","JsTopHudOverlay","ImpersonateOverlay","ScenariosOverlay"];function BrowserToolRuntime(e){const c=(0,_react.useMemo)(()=>Object.fromEntries(Object.entries(e.modules).map(([l,p])=>[l.replace(/^@buoy-gg\//,"").replace(/\/web$/,""),p])),[e.modules]);const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.BrowserToolRuntime=BrowserToolRuntime;var _react=require("react");var _license=require("@buoy-gg/license");var _sharedUi=require("@buoy-gg/shared-ui");var _externalSyncGate=require("./externalSyncGate.js");var _deviceIdentity=require("./deviceIdentity.js");var _capacitorHostInfo=require("./capacitorHostInfo.js");var _appSyncAdapter=require("./sync/appSyncAdapter.js");var _jsxRuntime=require("react/jsx-runtime");const roots=["ConsoleRoot","RouteTracker","ReactQueryTracker","ReduxAutoInstrument","PerfMonitorRoot","AutomationResumer","ImagesRoot"];const overlays=["DebugBordersStandaloneOverlay","HighlightUpdatesOverlay","ImageOverlayStandalone","PerfMonitorOverlay","JsTopHudOverlay","ImpersonateOverlay","ScenariosOverlay","BugLinksOverlay"];function BrowserToolRuntime(e){const c=(0,_react.useMemo)(()=>Object.fromEntries(Object.entries(e.modules).map(([l,p])=>[l.replace(/^@buoy-gg\//,"").replace(/\/web$/,""),p])),[e.modules]);const s=c["react-query"];return s?.useReactQuerySyncAdapter?(0,_jsxRuntime.jsx)(QueryRuntime,{...e,modules:c,query:s}):(0,_jsxRuntime.jsx)(ToolRuntime,{...e,modules:c})}function QueryRuntime(e){const c=e.query.useReactQuerySyncAdapter();return(0,_jsxRuntime.jsx)(ToolRuntime,{...e,queryAdapter:c})}function ToolRuntime({modules:e,apps:c,requiredEnvVars:s,externalSync:l,headless:p,sentryGetClient:y,queryAdapter:r}){const{isPro:d,tier:g}=(0,_license.useLicense)();const n=(0,_react.useMemo)(()=>{const a={app:_appSyncAdapter.appSyncAdapter};for(const[t,o]of Object.entries(e)){for(const[u,S]of Object.entries(o)){if(u.endsWith("SyncAdapter")&&S&&typeof S==="object")a[t]=S}}if(r)a.query=r;if(e.env?.createEnvSyncAdapter)a.env=e.env.createEnvSyncAdapter(s??[]);for(const t of c??[])if(t.sync)a[`custom:${t.id}`]=t.sync;return a},[e,c,s,r]);const v=(0,_react.useRef)(n);v.current=n;(0,_react.useEffect)(()=>(0,_sharedUi.registerToolAdapters)(()=>v.current),[]);(0,_react.useEffect)(()=>{const a=[];const t=o=>{const u=o?.();if(typeof u==="function")a.push(u)};t(e.network?.startNetworkCapture);t(e.storage?.startBrowserStorageCapture);t(e.assets?.startBrowserAssetCapture);t(e.three?.startThreeCapture);if((0,_license.resolveDevBuild)(typeof __DEV__!=="undefined"?__DEV__:process.env.NODE_ENV!=="production")){t(e["time-machine"]?.startTimeMachineFloatingToolPersistence)}if(e.storage?.storageSyncAdapter?.subscribe)t(()=>e.storage.storageSyncAdapter.subscribe(()=>{}));if(e["focus-inspector"]?.focusInspectorSyncAdapter?.subscribe)t(()=>e["focus-inspector"].focusInspectorSyncAdapter.subscribe(()=>{}));return()=>{for(const o of a.reverse())o()}},[e]);const R=e["external-sync"];const i=(0,_license.resolveDevBuild)(typeof __DEV__!=="undefined"?__DEV__:process.env.NODE_ENV!=="production");const f=(0,_externalSyncGate.shouldMountExternalSync)({isDevelopment:i,isLicensed:d,externalSync:l,isAvailable:Boolean(R)});const _=(0,_externalSyncGate.externalSyncOptions)(l);(0,_license.installCapacitorBridge)({release:!i&&Boolean(_?.enableInRelease)});if(!i&&_?.enableInRelease)warnOnce((0,_externalSyncGate.releaseTransportProblem)(_.socketURL,_));const b=e.sentry?.SentryRoot;return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[Object.entries(e).flatMap(([a,t])=>roots.map(o=>{const u=t[o];return u?(0,_jsxRuntime.jsx)(u,{},`${a}:${o}`):null})),b&&(0,_jsxRuntime.jsx)(b,{getClient:y}),Object.entries(e).flatMap(([a,t])=>overlays.map(o=>{const u=t[o];return u&&(!p||o==="ScenariosOverlay"||o==="ImpersonateOverlay"||o==="BugLinksOverlay")?(0,_jsxRuntime.jsx)(u,{},`${a}:${o}`):null})),f&&(0,_jsxRuntime.jsx)(BrowserExternalSync,{module:R,tools:n,options:_,isPro:d,tier:g,dev:i})]})}let warned=null;function warnOnce(e){if(!e||e===warned)return;warned=e;console.warn("[Buoy]",e)}function BrowserExternalSync({module:e,tools:c,options:s,isPro:l,tier:p,dev:y}){const r=(0,_capacitorHostInfo.useHostInfo)();const d=(0,_deviceIdentity.useDeviceIdentity)(s,{appName:r.appName,hardwareName:r.hardwareName,platform:r.platform});const g=(0,_react.useMemo)(()=>(0,_capacitorHostInfo.capacitorBrokerURL)(s?.socketURL??(y?e.getDefaultSocketURL():_externalSyncGate.RELEASE_DEFAULT_SOCKET_URL),Boolean(s?.socketURL),r.platform),[s?.socketURL,y,e,r.platform]);const{socket:n}=e.useExternalSyncSocket({deviceName:d?.deviceName??"Buoy Browser",socketURL:g,persistentDeviceId:r.ready?d?.deviceId??null:null,platform:r.platform,extraDeviceInfo:r.extraDeviceInfo,enableLogs:s?.enableLogs});(0,_react.useEffect)(()=>{const i=(0,_capacitorHostInfo.capacitorTransportProblem)(g,r.platform);if(!n||!i)return;const f=()=>warnOnce(i);n.on("connect_error",f);return()=>{n.off("connect_error",f)}},[n,g,r.platform]);(0,_react.useEffect)(()=>{if(!n)return;const i=()=>{if(!n.connected||!_license.LicenseManager.hasAccountAccess())return;const f=_license.LicenseManager.getState();if(!l&&(f.isInitialized===false||f.isValidating===true))return;n.emit("device-license",{isPro:l?"1":"0",tier:p})};i();n.on("connect",i);return()=>{n.off("connect",i)}},[n,l,p]);const v=s?.releaseActions?.join(",")??"";const R=(0,_react.useMemo)(()=>(0,_externalSyncGate.applyReleaseActionPolicy)(c,y,v?v.split(","):void 0),[c,y,v]);e.useExternalSync({tools:R,socket:n,deviceId:r.ready?d?.deviceId??null:null,enableLogs:s?.enableLogs});return null}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.FloatingDevTools=void 0;var _sharedUi=require("@buoy-gg/shared-ui");var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _AppHost=require("./AppHost");var _TeamToolCloser=require("./TeamToolCloser.js");var _teamToolsNote=require("./teamToolsNote.js");var _FloatingMenu=require("./FloatingMenu.js");var _ToolOpenerBridge=require("./ToolOpenerBridge.js");var _autoDiscoverPresets=require("./autoDiscoverPresets.js");var _installPing=require("../telemetry/installPing.js");var _Buoy=require("../Buoy.js");var _AppIcon=require("./AppIcon");var _DevToolsVisibilityContext=require("./DevToolsVisibilityContext.js");var _optionalRequire=require("./optionalRequire.js");var _MinimizedToolsContext=require("./MinimizedToolsContext.js");var _defaultConfig=require("./defaultConfig.js");var _DefaultConfigContext=require("./DefaultConfigContext.js");var _license=_interopRequireWildcard(require("@buoy-gg/license"));var licenseModule=_license;var _floatingToolsCore=require("@buoy-gg/floating-tools-core");var _BuoySignIn=require("./BuoySignIn");var _autoExternalSync=require("./autoExternalSync.js");var _externalSyncGate=require("./externalSyncGate.js");var _jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(t,n){if("function"==typeof WeakMap)var s=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(r,j){if(!j&&r&&r.__esModule)return r;var l,u,g={__proto__:null,default:r};if(null===r||"object"!=typeof r&&"function"!=typeof r)return g;if(l=j?a:s){if(l.has(r))return l.get(r);l.set(r,g)}for(const i in r)"default"!==i&&{}.hasOwnProperty.call(r,i)&&((u=(l=Object.defineProperty)&&Object.getOwnPropertyDescriptor(r,i))&&(u.get||u.set)?l(g,i,u):g[i]=r[i]);return g})(t,n)}let warnedReleaseTransport=null;function warnReleaseTransportOnce(t){if(!t||t===warnedReleaseTransport)return;warnedReleaseTransport=t;console.warn("[Buoy]",t)}function resolveSignInAppId(t){if(t&&typeof t==="object"&&t.appId)return t.appId;try{const{Platform:n}=require("react-native");const s=require("expo-constants");const a=(s?.default??s)?.expoConfig;const r=n.OS==="android"?a?.android?.package:a?.ios?.bundleIdentifier;if(typeof r==="string"&&r)return r}catch{}try{const n=require("expo-application");const s=(n?.default??n)?.applicationId;if(typeof s==="string"&&s)return s}catch{}return null}const FloatingDevTools=({apps:t,requiredEnvVars:n,requiredStorageKeys:s,askBuoy:a,children:r,disableHints:j=false,defaultFloatingTools:l,defaultDialTools:u,requireLicense:g,licenseKey:i,zustandStores:_,environment:J,externalSync:m=true,headless:E=false,signIn:q,...k})=>{const Q=J??(0,_sharedUi.normalizeEnvironment)(process.env.NODE_ENV??"dev");const{isLicensed:O}=(0,_license.useProAccess)();const{licenseKey:R,isInitialized:B,tier:h,access:c,allowedTools:T}=(0,_license.useLicense)();const $=i===void 0||(0,_license.sameLicenseKey)(i,R);const M=$&&c.status==="admitted";(0,_react.useEffect)(()=>{if(!B||c.status==="initializing")return;void(0,_installPing.sendInstallPing)({tier:c.status==="admitted"?h:"locked",enabled:(0,_Buoy.isTelemetryEnabled)()})},[B,c.status,h]);const b=q?resolveSignInAppId(q):null;(0,_react.useEffect)(()=>{if(!b)return;const e=licenseModule.SessionManager;if(!e)return;e.configure({audience:`app:${b}`});void e.load().catch(()=>{})},[b]);(0,_react.useEffect)(()=>{(0,_sharedUi.setBuoyAppId)(b??resolveSignInAppId(true))},[b]);(0,_react.useEffect)(()=>{void _license.LicenseManager.configure(i??(0,_Buoy.defaultLicenseKey)()).catch(()=>{})},[i]);(0,_react.useEffect)(()=>{if(M)(0,_sharedUi.startSettingsSync)()},[M]);(0,_react.useEffect)(()=>{if(!_||c.status==="locked")return;try{const{watchStores:e}=require("@buoy-gg/zustand");return e(_)}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/zustand",e)}},[_,c.status]);const K=(0,_react.useMemo)(()=>{if(u){return(0,_defaultConfig.validateDialConfig)(u)}return u},[u]);const A=(0,_react.useMemo)(()=>{const e=[];if(n&&n.length>0){try{const{createEnvTool:o,createEnvVarConfig:D}=require("@buoy-gg/env");e.push(o({requiredEnvVars:D(n)}))}catch(o){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/env",o)}}if(s&&s.length>0){try{const{createStorageTool:o}=require("@buoy-gg/storage");e.push(o({requiredStorageKeys:s}))}catch(o){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/storage",o)}}if(a){try{const{createAskBuoyTool:o}=require("@buoy-gg/ask-buoy");e.push(o(a))}catch(o){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/ask-buoy",o)}}return e},[n,s,a]);const I=(0,_react.useMemo)(()=>{if(!t&&A.length===0)return void 0;return[...t||[],...A]},[t,A]);const p=(0,_react.useMemo)(()=>I?(0,_autoDiscoverPresets.autoDiscoverPresetsWithCustom)(I):(0,_autoDiscoverPresets.autoDiscoverPresets)(),[I]);const S=(0,_react.useMemo)(()=>p.filter(e=>e.sync),[p]);const X=(0,_react.useMemo)(()=>(0,_floatingToolsCore.filterTeamTools)(p,T),[p,T]);const F=(0,_react.useMemo)(()=>{try{const{DebugBordersStandaloneOverlay:e}=require("@buoy-gg/debug-borders");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/debug-borders",e);return null}},[]);const w=(0,_react.useMemo)(()=>{try{const{HighlightUpdatesOverlay:e}=require("@buoy-gg/highlight-updates");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/highlight-updates",e);return null}},[]);const L=(0,_react.useMemo)(()=>{try{const{ImageOverlayStandalone:e}=require("@buoy-gg/image-overlay");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/image-overlay",e);return null}},[]);const z=(0,_react.useMemo)(()=>{try{const{PerfMonitorOverlay:e}=require("@buoy-gg/perf-monitor");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/perf-monitor",e);return null}},[]);const H=(0,_react.useMemo)(()=>{try{const{JsTopHudOverlay:e}=require("@buoy-gg/js-top");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/js-top",e);return null}},[]);const y=(0,_react.useMemo)(()=>{try{const{RouteTracker:e}=require("@buoy-gg/route-events");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/route-events",e);return null}},[]);const d=(0,_react.useMemo)(()=>{try{const{ReactQueryTracker:e}=require("@buoy-gg/react-query");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/react-query",e);return null}},[]);const N=(0,_react.useMemo)(()=>{try{const{ImpersonateOverlay:e}=require("@buoy-gg/impersonate");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/impersonate",e);return null}},[]);const V=(0,_react.useMemo)(()=>{try{const{BugLinksOverlay:e}=require("@buoy-gg/bug-links");return e??null}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/bug-links",e);return null}},[]);const W=(0,_react.useMemo)(()=>{try{const{ScenariosOverlay:e}=require("@buoy-gg/scenarios");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/scenarios",e);return null}},[]);const f=(0,_react.useMemo)(()=>{try{const{ReduxAutoInstrument:e}=require("@buoy-gg/redux");return e??null}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/redux",e);return null}},[]);const v=(0,_react.useMemo)(()=>{try{const{ConsoleRoot:e}=require("@buoy-gg/console");return e??null}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/console",e);return null}},[]);const x=(0,_react.useMemo)(()=>{try{const{OtaInspectorRoot:e}=require("@buoy-gg/ota-inspector");return e??null}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/ota-inspector",e);return null}},[]);const Y=(0,_react.useCallback)(e=>{const o=p.find(D=>D.id===e);if(!o)return null;return(0,_AppIcon.renderAppIcon)(o.icon,{slot:"dial",size:20,color:o.color})},[p]);const C=typeof __DEV__!=="undefined"&&__DEV__;if(!C&&!O){return q&&!E?(0,_jsxRuntime.jsx)(_BuoySignIn.BuoySignIn,{needsPlan:true}):null}const U=(0,_externalSyncGate.shouldMountExternalSync)({isDevelopment:C,isLicensed:O,externalSync:m,isAvailable:(0,_autoExternalSync.isExternalSyncAvailable)()});const P=(0,_externalSyncGate.externalSyncOptions)(m);if(!C&&P?.enableInRelease){warnReleaseTransportOnce((0,_externalSyncGate.releaseTransportProblem)(P.socketURL,P))}const G=(0,_jsxRuntime.jsx)(_autoExternalSync.ToolRegistryPublisher,{requiredEnvVars:n,customApps:S});if(!M){return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[c.status==="initializing"&&(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[f&&(0,_jsxRuntime.jsx)(f,{}),v&&(0,_jsxRuntime.jsx)(v,{}),x&&(0,_jsxRuntime.jsx)(x,{}),y&&(0,_jsxRuntime.jsx)(y,{}),d&&(0,_jsxRuntime.jsx)(d,{})]}),!E&&(q?(0,_jsxRuntime.jsx)(_BuoySignIn.BuoySignIn,{}):(0,_jsxRuntime.jsx)(_sharedUi.AccountSetup,{}))]})}if(E){return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[f&&(0,_jsxRuntime.jsx)(f,{}),v&&(0,_jsxRuntime.jsx)(v,{}),x&&(0,_jsxRuntime.jsx)(x,{}),y&&(0,_jsxRuntime.jsx)(y,{}),d&&(0,_jsxRuntime.jsx)(d,{}),G,U&&(0,_jsxRuntime.jsx)(_autoExternalSync.AutoExternalSync,{options:(0,_externalSyncGate.externalSyncOptions)(m),requiredEnvVars:n,isPro:O,tier:h,licenseKey:R,customApps:S})]})}return(0,_jsxRuntime.jsx)(_DefaultConfigContext.DefaultConfigProvider,{defaultFloatingTools:l,defaultDialTools:K,children:(0,_jsxRuntime.jsx)(_sharedUi.HintsProvider,{disableHints:j,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.container,pointerEvents:"box-none",__buoyDevToolsRoot:true,children:(0,_jsxRuntime.jsxs)(_DevToolsVisibilityContext.DevToolsVisibilityProvider,{children:[L&&(0,_jsxRuntime.jsx)(_reactNative.View,{style:_reactNative.StyleSheet.absoluteFill,pointerEvents:"box-none",collapsable:false,children:(0,_jsxRuntime.jsx)(L,{})}),(0,_jsxRuntime.jsx)(_AppHost.AppHostProvider,{children:(0,_jsxRuntime.jsxs)(_MinimizedToolsContext.MinimizedToolsProvider,{getToolIcon:Y,children:[(0,_jsxRuntime.jsx)(_FloatingMenu.FloatingMenu,{...k,apps:X,emptyNote:T?_teamToolsNote.NO_TEAM_TOOLS_NOTE:void 0,environment:Q}),k.hidden?null:(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_AppHost.AppOverlay,{}),(0,_jsxRuntime.jsx)(_sharedUi.FloatingToolHost,{})]}),(0,_jsxRuntime.jsx)(_ToolOpenerBridge.ToolOpenerBridge,{}),(0,_jsxRuntime.jsx)(_TeamToolCloser.TeamToolCloser,{allowedTools:T??null})]})}),r,F&&(0,_jsxRuntime.jsx)(F,{}),w&&(0,_jsxRuntime.jsx)(w,{}),z&&(0,_jsxRuntime.jsx)(z,{}),H&&(0,_jsxRuntime.jsx)(H,{}),N&&(0,_jsxRuntime.jsx)(N,{}),V&&(0,_jsxRuntime.jsx)(V,{}),W&&(0,_jsxRuntime.jsx)(W,{}),f&&(0,_jsxRuntime.jsx)(f,{}),v&&(0,_jsxRuntime.jsx)(v,{}),x&&(0,_jsxRuntime.jsx)(x,{}),y&&(0,_jsxRuntime.jsx)(y,{}),d&&(0,_jsxRuntime.jsx)(d,{}),G,U&&(0,_jsxRuntime.jsx)(_autoExternalSync.AutoExternalSync,{options:(0,_externalSyncGate.externalSyncOptions)(m),requiredEnvVars:n,isPro:O,tier:h,licenseKey:R,customApps:S})]})})})})};exports.FloatingDevTools=FloatingDevTools;const styles=_reactNative.StyleSheet.create({container:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:9999}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.FloatingDevTools=void 0;var _sharedUi=require("@buoy-gg/shared-ui");var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _AppHost=require("./AppHost");var _TeamToolCloser=require("./TeamToolCloser.js");var _teamToolsNote=require("./teamToolsNote.js");var _FloatingMenu=require("./FloatingMenu.js");var _ToolOpenerBridge=require("./ToolOpenerBridge.js");var _autoDiscoverPresets=require("./autoDiscoverPresets.js");var _installPing=require("../telemetry/installPing.js");var _Buoy=require("../Buoy.js");var _AppIcon=require("./AppIcon");var _DevToolsVisibilityContext=require("./DevToolsVisibilityContext.js");var _optionalRequire=require("./optionalRequire.js");var _MinimizedToolsContext=require("./MinimizedToolsContext.js");var _defaultConfig=require("./defaultConfig.js");var _DefaultConfigContext=require("./DefaultConfigContext.js");var _license=_interopRequireWildcard(require("@buoy-gg/license"));var licenseModule=_license;var _floatingToolsCore=require("@buoy-gg/floating-tools-core");var _BuoySignIn=require("./BuoySignIn");var _autoExternalSync=require("./autoExternalSync.js");var _externalSyncGate=require("./externalSyncGate.js");var _jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(t,n){if("function"==typeof WeakMap)var s=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(r,j){if(!j&&r&&r.__esModule)return r;var l,u,g={__proto__:null,default:r};if(null===r||"object"!=typeof r&&"function"!=typeof r)return g;if(l=j?a:s){if(l.has(r))return l.get(r);l.set(r,g)}for(const i in r)"default"!==i&&{}.hasOwnProperty.call(r,i)&&((u=(l=Object.defineProperty)&&Object.getOwnPropertyDescriptor(r,i))&&(u.get||u.set)?l(g,i,u):g[i]=r[i]);return g})(t,n)}let warnedReleaseTransport=null;function warnReleaseTransportOnce(t){if(!t||t===warnedReleaseTransport)return;warnedReleaseTransport=t;console.warn("[Buoy]",t)}function resolveSignInAppId(t){if(t&&typeof t==="object"&&t.appId)return t.appId;try{const{Platform:n}=require("react-native");const s=require("expo-constants");const a=(s?.default??s)?.expoConfig;const r=n.OS==="android"?a?.android?.package:a?.ios?.bundleIdentifier;if(typeof r==="string"&&r)return r}catch{}try{const n=require("expo-application");const s=(n?.default??n)?.applicationId;if(typeof s==="string"&&s)return s}catch{}return null}const FloatingDevTools=({apps:t,requiredEnvVars:n,requiredStorageKeys:s,askBuoy:a,children:r,disableHints:j=false,defaultFloatingTools:l,defaultDialTools:u,requireLicense:g,licenseKey:i,zustandStores:_,environment:J,externalSync:m=true,headless:E=false,signIn:q,...k})=>{const Q=J??(0,_sharedUi.normalizeEnvironment)(process.env.NODE_ENV??"dev");const{isLicensed:O}=(0,_license.useProAccess)();const{licenseKey:R,isInitialized:F,tier:h,access:c,allowedTools:T}=(0,_license.useLicense)();const $=i===void 0||(0,_license.sameLicenseKey)(i,R);const M=$&&c.status==="admitted";(0,_react.useEffect)(()=>{if(!F||c.status==="initializing")return;void(0,_installPing.sendInstallPing)({tier:c.status==="admitted"?h:"locked",enabled:(0,_Buoy.isTelemetryEnabled)()})},[F,c.status,h]);const b=q?resolveSignInAppId(q):null;(0,_react.useEffect)(()=>{if(!b)return;const e=licenseModule.SessionManager;if(!e)return;e.configure({audience:`app:${b}`});void e.load().catch(()=>{})},[b]);(0,_react.useEffect)(()=>{(0,_sharedUi.setBuoyAppId)(b??resolveSignInAppId(true))},[b]);(0,_react.useEffect)(()=>{void _license.LicenseManager.configure(i??(0,_Buoy.defaultLicenseKey)()).catch(()=>{})},[i]);(0,_react.useEffect)(()=>{if(M)(0,_sharedUi.startSettingsSync)()},[M]);(0,_react.useEffect)(()=>{if(!_||c.status==="locked")return;try{const{watchStores:e}=require("@buoy-gg/zustand");return e(_)}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/zustand",e)}},[_,c.status]);const K=(0,_react.useMemo)(()=>{if(u){return(0,_defaultConfig.validateDialConfig)(u)}return u},[u]);const A=(0,_react.useMemo)(()=>{const e=[];if(n&&n.length>0){try{const{createEnvTool:o,createEnvVarConfig:D}=require("@buoy-gg/env");e.push(o({requiredEnvVars:D(n)}))}catch(o){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/env",o)}}if(s&&s.length>0){try{const{createStorageTool:o}=require("@buoy-gg/storage");e.push(o({requiredStorageKeys:s}))}catch(o){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/storage",o)}}if(a){try{const{createAskBuoyTool:o}=require("@buoy-gg/ask-buoy");e.push(o(a))}catch(o){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/ask-buoy",o)}}return e},[n,s,a]);const I=(0,_react.useMemo)(()=>{if(!t&&A.length===0)return void 0;return[...t||[],...A]},[t,A]);const p=(0,_react.useMemo)(()=>I?(0,_autoDiscoverPresets.autoDiscoverPresetsWithCustom)(I):(0,_autoDiscoverPresets.autoDiscoverPresets)(),[I]);const S=(0,_react.useMemo)(()=>p.filter(e=>e.sync),[p]);const X=(0,_react.useMemo)(()=>(0,_floatingToolsCore.filterTeamTools)(p,T),[p,T]);const B=(0,_react.useMemo)(()=>{try{const{DebugBordersStandaloneOverlay:e}=require("@buoy-gg/debug-borders");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/debug-borders",e);return null}},[]);const w=(0,_react.useMemo)(()=>{try{const{HighlightUpdatesOverlay:e}=require("@buoy-gg/highlight-updates");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/highlight-updates",e);return null}},[]);const L=(0,_react.useMemo)(()=>{try{const{ImageOverlayStandalone:e}=require("@buoy-gg/image-overlay");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/image-overlay",e);return null}},[]);const z=(0,_react.useMemo)(()=>{try{const{PerfMonitorOverlay:e}=require("@buoy-gg/perf-monitor");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/perf-monitor",e);return null}},[]);const H=(0,_react.useMemo)(()=>{try{const{JsTopHudOverlay:e}=require("@buoy-gg/js-top");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/js-top",e);return null}},[]);const y=(0,_react.useMemo)(()=>{try{const{RouteTracker:e}=require("@buoy-gg/route-events");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/route-events",e);return null}},[]);const d=(0,_react.useMemo)(()=>{try{const{ReactQueryTracker:e}=require("@buoy-gg/react-query");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/react-query",e);return null}},[]);const N=(0,_react.useMemo)(()=>{try{const{ImpersonateOverlay:e}=require("@buoy-gg/impersonate");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/impersonate",e);return null}},[]);const V=(0,_react.useMemo)(()=>{try{const{BugLinksOverlay:e}=require("@buoy-gg/bug-links");return e??null}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/bug-links",e);return null}},[]);const W=(0,_react.useMemo)(()=>{try{const{ScenariosOverlay:e}=require("@buoy-gg/scenarios");return e}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/scenarios",e);return null}},[]);const f=(0,_react.useMemo)(()=>{try{const{ReduxAutoInstrument:e}=require("@buoy-gg/redux");return e??null}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/redux",e);return null}},[]);const v=(0,_react.useMemo)(()=>{try{const{ConsoleRoot:e}=require("@buoy-gg/console");return e??null}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/console",e);return null}},[]);const x=(0,_react.useMemo)(()=>{try{const{OtaInspectorRoot:e}=require("@buoy-gg/ota-inspector");return e??null}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/ota-inspector",e);return null}},[]);const Y=(0,_react.useCallback)(e=>{const o=p.find(D=>D.id===e);if(!o)return null;return(0,_AppIcon.renderAppIcon)(o.icon,{slot:"dial",size:20,color:o.color})},[p]);const C=typeof __DEV__!=="undefined"&&__DEV__;if(!C&&!O){return q&&!E?(0,_jsxRuntime.jsx)(_BuoySignIn.BuoySignIn,{needsPlan:true}):null}const U=(0,_externalSyncGate.shouldMountExternalSync)({isDevelopment:C,isLicensed:O,externalSync:m,isAvailable:(0,_autoExternalSync.isExternalSyncAvailable)()});const P=(0,_externalSyncGate.externalSyncOptions)(m);if(!C&&P?.enableInRelease){warnReleaseTransportOnce((0,_externalSyncGate.releaseTransportProblem)(P.socketURL,P))}const G=(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_autoExternalSync.ToolRegistryPublisher,{requiredEnvVars:n,customApps:S}),(0,_jsxRuntime.jsx)(_sharedUi.FiberRootAnchor,{})]});if(!M){return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[c.status==="initializing"&&(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[f&&(0,_jsxRuntime.jsx)(f,{}),v&&(0,_jsxRuntime.jsx)(v,{}),x&&(0,_jsxRuntime.jsx)(x,{}),y&&(0,_jsxRuntime.jsx)(y,{}),d&&(0,_jsxRuntime.jsx)(d,{})]}),!E&&(q?(0,_jsxRuntime.jsx)(_BuoySignIn.BuoySignIn,{}):(0,_jsxRuntime.jsx)(_sharedUi.AccountSetup,{}))]})}if(E){return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[f&&(0,_jsxRuntime.jsx)(f,{}),v&&(0,_jsxRuntime.jsx)(v,{}),x&&(0,_jsxRuntime.jsx)(x,{}),y&&(0,_jsxRuntime.jsx)(y,{}),d&&(0,_jsxRuntime.jsx)(d,{}),G,U&&(0,_jsxRuntime.jsx)(_autoExternalSync.AutoExternalSync,{options:(0,_externalSyncGate.externalSyncOptions)(m),requiredEnvVars:n,isPro:O,tier:h,licenseKey:R,customApps:S})]})}return(0,_jsxRuntime.jsx)(_DefaultConfigContext.DefaultConfigProvider,{defaultFloatingTools:l,defaultDialTools:K,children:(0,_jsxRuntime.jsx)(_sharedUi.HintsProvider,{disableHints:j,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.container,pointerEvents:"box-none",__buoyDevToolsRoot:true,children:(0,_jsxRuntime.jsxs)(_DevToolsVisibilityContext.DevToolsVisibilityProvider,{children:[L&&(0,_jsxRuntime.jsx)(_reactNative.View,{style:_reactNative.StyleSheet.absoluteFill,pointerEvents:"box-none",collapsable:false,children:(0,_jsxRuntime.jsx)(L,{})}),(0,_jsxRuntime.jsx)(_AppHost.AppHostProvider,{children:(0,_jsxRuntime.jsxs)(_MinimizedToolsContext.MinimizedToolsProvider,{getToolIcon:Y,children:[(0,_jsxRuntime.jsx)(_FloatingMenu.FloatingMenu,{...k,apps:X,emptyNote:T?_teamToolsNote.NO_TEAM_TOOLS_NOTE:void 0,environment:Q}),k.hidden?null:(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_AppHost.AppOverlay,{}),(0,_jsxRuntime.jsx)(_sharedUi.FloatingToolHost,{})]}),(0,_jsxRuntime.jsx)(_ToolOpenerBridge.ToolOpenerBridge,{}),(0,_jsxRuntime.jsx)(_TeamToolCloser.TeamToolCloser,{allowedTools:T??null})]})}),r,B&&(0,_jsxRuntime.jsx)(B,{}),w&&(0,_jsxRuntime.jsx)(w,{}),z&&(0,_jsxRuntime.jsx)(z,{}),H&&(0,_jsxRuntime.jsx)(H,{}),N&&(0,_jsxRuntime.jsx)(N,{}),V&&(0,_jsxRuntime.jsx)(V,{}),W&&(0,_jsxRuntime.jsx)(W,{}),f&&(0,_jsxRuntime.jsx)(f,{}),v&&(0,_jsxRuntime.jsx)(v,{}),x&&(0,_jsxRuntime.jsx)(x,{}),y&&(0,_jsxRuntime.jsx)(y,{}),d&&(0,_jsxRuntime.jsx)(d,{}),G,U&&(0,_jsxRuntime.jsx)(_autoExternalSync.AutoExternalSync,{options:(0,_externalSyncGate.externalSyncOptions)(m),requiredEnvVars:n,isPro:O,tier:h,licenseKey:R,customApps:S})]})})})})};exports.FloatingDevTools=FloatingDevTools;const styles=_reactNative.StyleSheet.create({container:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:9999}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.FloatingDevTools=FloatingDevTools;var _floating=require("@buoy-gg/shared-ui/floating");var _license=_interopRequireWildcard(require("@buoy-gg/license"));var licenseModule=_license;var _sharedUi=require("@buoy-gg/shared-ui");var _react=require("react");var _floatingToolsReact=require("@buoy-gg/floating-tools-react");var _autoDiscoverPresetsWeb=require("../utils/autoDiscoverPresets.web.js");var _floatingToolsCore=require("@buoy-gg/floating-tools-core");var _teamToolsNote=require("./teamToolsNote.js");var _floatingToolsWeb=require("./floatingTools.web.js");var _DialDevToolsWeb=require("./dial/DialDevTools.web.js");var _dialUsageStore=require("./dial/dialUsageStore.js");var _OnboardingTooltipWeb=require("./dial/OnboardingTooltip.web.js");var _DevToolsSettingsModalWeb=require("./DevToolsSettingsModal.web.js");var _AppHostWeb=require("./AppHost.web.js");var _MinimizedToolsStackWeb=require("./MinimizedToolsStack.web.js");var _ToggleStateManager=require("./ToggleStateManager.js");var _createWebTools=require("../utils/createWebTools.js");var _BrowserToolRuntime=require("./BrowserToolRuntime.js");var _releaseOptIn=require("../releaseOptIn.js");var _BuoySignInWeb=require("./BuoySignIn.web.js");var _Buoy=require("../Buoy.js");var _BuoyCodeSignIn=require("./BuoyCodeSignIn.js");var _DevToolsVisibilityContext=require("./DevToolsVisibilityContext.js");var _createWebTool=require("../utils/createWebTool.js");var _DefaultConfigContext=require("./DefaultConfigContext.js");var _DevToolsSettingsModalShared=require("./DevToolsSettingsModal.shared.js");var _defaultConfig=require("./defaultConfig.js");var _installedTools=require("../installedTools.js");var _jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(n,s){if("function"==typeof WeakMap)var i=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(o,r){if(!r&&o&&o.__esModule)return o;var l,c,p={__proto__:null,default:o};if(null===o||"object"!=typeof o&&"function"!=typeof o)return p;if(l=r?a:i){if(l.has(o))return l.get(o);l.set(o,p)}for(const d in o)"default"!==d&&{}.hasOwnProperty.call(o,d)&&((c=(l=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,d))&&(c.get||c.set)?l(p,d,c):p[d]=o[d]);return p})(n,s)}const EMPTY_MODULES={};const MENU_TOOLTIP_KEY="@react_buoy_floating_menu_tooltip_shown";const webSettingsStorage=_sharedUi.persistentStorage;function MenuLauncherIcon({size:n=14,color:s="#20C997"}){const i=Math.max(2,n/4);const a=Math.max(1,n/16);return(0,_jsxRuntime.jsx)("div",{style:{display:"grid",gridTemplateColumns:`repeat(3, ${i}px)`,gap:a,width:n,height:n,alignContent:"center",justifyContent:"center"},children:Array.from({length:9}).map((o,r)=>(0,_jsxRuntime.jsx)("div",{style:{width:i,height:i,borderRadius:i/2,backgroundColor:s}},r))})}function AdmittedFloatingDevTools(n){const{defaultFloatingTools:s,defaultDialTools:i,disableHints:a=false,children:o}=n;const r=(0,_react.useMemo)(()=>i?(0,_defaultConfig.validateDialConfig)(i):i,[i]);return(0,_jsxRuntime.jsx)(_DefaultConfigContext.DefaultConfigProvider,{defaultFloatingTools:s,defaultDialTools:r,children:(0,_jsxRuntime.jsx)(_sharedUi.HintsProvider,{disableHints:a,children:(0,_jsxRuntime.jsxs)(_DevToolsVisibilityContext.DevToolsVisibilityProvider,{children:[(0,_jsxRuntime.jsx)(_AppHostWeb.AppHostProvider,{children:(0,_jsxRuntime.jsx)(FloatingDevToolsInner,{...n})}),o]})})})}const STARTUP_ROOTS=["ReduxAutoInstrument","ConsoleRoot","RouteTracker","ReactQueryTracker"];function StartupCapture({modules:n=EMPTY_MODULES}){return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:Object.entries(n).flatMap(([s,i])=>STARTUP_ROOTS.map(a=>{const o=i[a];return o?(0,_jsxRuntime.jsx)(o,{},`${s}:${a}`):null}))})}function WebToolOpenerBridge(){const{openApps:n,restore:s}=(0,_AppHostWeb.useAppHost)();(0,_react.useEffect)(()=>(0,_sharedUi.registerToolOpener)(i=>{const a=n.find(o=>o.id===i);if(!a)return false;s(a.instanceId);return true}),[n,s]);return null}function defaultEnvironment(){const n=(0,_license.capacitorDebug)();const s=n===null?process.env.NODE_ENV:n?"development":"production";return(0,_sharedUi.normalizeEnvironment)(s??"dev")}function configOverrides(n,s,i,a){const o=x=>Object.entries(n).find(([v])=>v.replace(/^@buoy-gg\//,"").replace(/\/web$/,"")===x)?.[1];const r=[];const l=o("env");if(s?.length&&l?.createEnvTool&&l.createEnvVarConfig){r.push((0,_createWebTool.createWebTool)(l.createEnvTool({requiredEnvVars:l.createEnvVarConfig(s)})))}const c=o("storage");if(i?.length&&c?.createStorageTool){r.push((0,_createWebTool.createWebTool)(c.createStorageTool({requiredStorageKeys:i})))}const p=o("ask-buoy");const d=a==="hosted"?p?.hostedAskBuoy?.():a;if(d&&p?.createAskBuoyTool)r.push((0,_createWebTool.createWebTool)(p.createAskBuoyTool(d)));return r}function toggleIsOn(n){if(n.launchMode!=="toggle-only")return void 0;const s=n.isOn;return typeof s==="function"?s():void 0}function FloatingDevToolsInner({environment:n,userRole:s="admin",availableEnvironments:i,onEnvironmentSwitch:a,apps:o,modules:r=EMPTY_MODULES,externalSync:l,requiredEnvVars:c,sentryGetClient:p,disableHints:d=false,headless:x=false,hidden:v=false,defaultFloatingTools:Z,defaultDialTools:E,zustandStores:M,requiredStorageKeys:B,askBuoy:W}){const I=n??defaultEnvironment();const ee=(0,_react.useMemo)(()=>E?(0,_defaultConfig.validateDialConfig)(E):void 0,[E]);const[g,S]=(0,_react.useState)(false);const[y,O]=(0,_react.useState)(false);const[,R]=(0,_react.useState)(0);(0,_react.useEffect)(()=>_ToggleStateManager.toggleStateManager.subscribe(()=>R(e=>e+1)),[]);const w=(0,_react.useRef)(false);const m=(0,_AppHostWeb.useAppHost)();const L=(0,_react.useMemo)(()=>configOverrides(r,c,B,W),[r,c,B,W]);const{allowedTools:b}=(0,_license.useLicense)();const f=(0,_react.useMemo)(()=>(0,_floatingToolsCore.filterTeamTools)((0,_autoDiscoverPresetsWeb.autoDiscoverWithCustom)([...(0,_createWebTools.createWebTools)(r),...o??[],...L]),b),[o,r,L,b]);const{openApps:F,close:N}=m;(0,_react.useEffect)(()=>{if(!b)return;for(const e of F){if(!(0,_floatingToolsCore.isTeamToolAllowed)(e.id,b))N(e.instanceId)}},[F,b,N]);const A=(0,_react.useMemo)(()=>Object.entries(r).find(([e])=>e.replace(/^@buoy-gg\//,"").replace(/\/web$/,"")==="zustand")?.[1],[r]);(0,_react.useEffect)(()=>{if(!M||typeof A?.watchStores!=="function")return;const e=A.watchStores(M);return typeof e==="function"?e:void 0},[M,A]);const C=(0,_DevToolsVisibilityContext.useDevToolsVisibility)();const K=m.openApps.some(e=>!e.minimized);(0,_react.useEffect)(()=>{C.setDialOpen(g)},[g,C.setDialOpen]);(0,_react.useEffect)(()=>{C.setToolOpen(K||y)},[K,y,C.setToolOpen]);const{registerApps:V}=m;(0,_react.useEffect)(()=>{V(f.map(e=>{const t=e.icon;return{...e,icon:typeof t==="function"?({size:u})=>t(u):t}}))},[V,f]);const ne=(0,_react.useMemo)(()=>f.map(e=>({id:e.id,name:e.name,description:e.description,slot:e.slot})),[f]);(0,_floatingToolsReact.useSettings)({availableTools:ne,storage:webSettingsStorage});(0,_react.useEffect)(()=>{let e=false;const t=async()=>{const[u,T]=await Promise.all([_sharedUi.persistentStorage.getItem(_sharedUi.devToolsStorageKeys.dial.isOpen()),_sharedUi.persistentStorage.getItem(_sharedUi.devToolsStorageKeys.settings.modalOpen())]);if(e)return;if(u==="true")S(true);if(T==="true"){S(true);O(true)}w.current=true};void t();return()=>{e=true}},[]);(0,_react.useEffect)(()=>{if(!w.current)return;void _sharedUi.persistentStorage.setItem(_sharedUi.devToolsStorageKeys.dial.isOpen(),g?"true":"false")},[g]);(0,_react.useEffect)(()=>{if(!w.current)return;void _sharedUi.persistentStorage.setItem(_sharedUi.devToolsStorageKeys.settings.modalOpen(),y?"true":"false")},[y]);const _=(0,_react.useCallback)(e=>{void(0,_dialUsageStore.recordToolUsage)(e.id);if(e.launchMode==="toggle-only"){e.onPress?.();R(t=>t+1);return}if(e.component){const t=typeof e.icon==="function"?e.icon(20):e.icon;m.open({id:e.id,title:e.name||(0,_floatingToolsReact.getToolLabel)(e.id),component:e.component,props:e.props,modal:e.modal,launchMode:e.launchMode||"self-modal",singleton:e.singleton??true,icon:t,color:e.color||(0,_floatingToolsReact.getToolColor)(e.id)})}else{e.onPress?.()}},[m]);const z=(0,_react.useRef)({tools:f,openApps:m.openApps,openTool:_});z.current={tools:f,openApps:m.openApps,openTool:_};(0,_react.useEffect)(()=>(0,_sharedUi.registerToolOpener)(e=>{const{tools:t,openApps:u,openTool:T}=z.current;if(u.some(q=>q.id===e))return false;const P=t.find(q=>q.id===e);if(!P||P.launchMode==="toggle-only")return false;T(P);return true}),[]);const D=(0,_react.useMemo)(()=>{const e=(0,_autoDiscoverPresetsWeb.getToolsBySlot)(f,"dial");return e.map(t=>{const u=t.color||(0,_floatingToolsReact.getToolColor)(t.id);let T;if(typeof t.icon==="string"){T=t.icon}else if(typeof t.icon==="function"){T=t.icon(32)}else{T=null}return{id:t.id,name:t.name||(0,_floatingToolsReact.getToolLabel)(t.id),icon:T,unavailable:!t.component&&!t.onPress,color:u,onPress:()=>{_(t);S(false)}}})},[f,_]);const H=(0,_react.useMemo)(()=>{if(!g)return D;const e=new Map(D.map(t=>[t.id,t]));return(0,_dialUsageStore.getRankedToolIds)(D.map(t=>t.id)).map(t=>e.get(t)).filter(t=>Boolean(t))},[g,D]);const{settings:k}=(0,_DevToolsSettingsModalShared.useDevToolsSettings)();const te=(0,_react.useMemo)(()=>(0,_autoDiscoverPresetsWeb.getToolsBySlot)(f,"row").filter(e=>(k.floatingTools[e.id]??false)===true&&(e.component||e.onPress)),[f,k.floatingTools]);const oe=(0,_react.useMemo)(()=>f.map(e=>({id:e.id,name:e.name||(0,_floatingToolsReact.getToolLabel)(e.id),description:e.description||(0,_floatingToolsReact.getToolDescription)(e.id),slot:e.slot,icon:e.icon,color:e.color})),[f]);const[se,U]=(0,_react.useState)(false);const $=m.openApps.some(e=>!e.minimized);(0,_react.useEffect)(()=>{if(d)return;let e=false;const t=setTimeout(async()=>{const u=await _sharedUi.persistentStorage.getItem(MENU_TOOLTIP_KEY);if(!e&&!u)U(true)},1e3);return()=>{e=true;clearTimeout(t)}},[d]);const h=(0,_react.useCallback)(()=>{U(false);void _sharedUi.persistentStorage.setItem(MENU_TOOLTIP_KEY,"true")},[]);const Y=(0,_react.useCallback)(()=>{h();S(true)},[h]);const ie=(0,_react.useCallback)(()=>{S(false);O(false)},[]);const re=(0,_react.useCallback)(()=>{O(e=>!e)},[]);const ae=(0,_react.useCallback)(()=>O(false),[]);const G=Boolean(i?.length&&a);const Q=k.floatingTools.environment!==false;const j=se&&!g&&!$&&!v;(0,_react.useEffect)(()=>{if(!j)return;const e=u=>{if(!(u.target instanceof Element)||!u.target.closest("[data-buoy-root]"))h()};const t=u=>{if(u.key==="Escape")h()};document.addEventListener("pointerdown",e,true);document.addEventListener("keydown",t);return()=>{document.removeEventListener("pointerdown",e,true);document.removeEventListener("keydown",t)}},[j,h]);const J=m.openApps.some(e=>e.minimized&&e.launchMode!=="toggle-only");const X=(0,_jsxRuntime.jsx)(_BrowserToolRuntime.BrowserToolRuntime,{modules:r,apps:o,requiredEnvVars:c,externalSync:l,headless:x,sentryGetClient:p});if(x)return X;return(0,_jsxRuntime.jsxs)("div",{"data-buoy-root":"",style:{display:"contents"},children:[X,(0,_jsxRuntime.jsx)(WebToolOpenerBridge,{}),j&&(0,_jsxRuntime.jsx)("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0,0,0,0.85)",zIndex:1e4,pointerEvents:"none"}}),(0,_jsxRuntime.jsx)("div",{style:v?{visibility:"hidden"}:{display:"contents"},"aria-hidden":v||void 0,children:(0,_jsxRuntime.jsxs)(_floatingToolsWeb.FloatingTools,{enablePositionPersistence:!j,pushToSide:g||$,suspendPointerEvents:g,centerOnboarding:j,minimizedStack:J?(0,_jsxRuntime.jsx)(_MinimizedToolsStackWeb.MinimizedToolsStack,{}):void 0,hasMinimizedStack:J,children:[I&&Q&&!G&&(0,_jsxRuntime.jsx)(_sharedUi.EnvironmentIndicator,{environment:I}),G&&Q&&(0,_jsxRuntime.jsx)(_sharedUi.EnvironmentSelectorInline,{currentEnvironment:I??"local",availableEnvironments:i,onSelect:a}),s?(0,_jsxRuntime.jsx)(_floatingToolsWeb.UserStatus,{userRole:s,onPress:Y}):(0,_jsxRuntime.jsx)("button",{"aria-label":"Open dev tools",onClick:Y,style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"6px 8px",background:"none",border:"none",cursor:"pointer"},children:(0,_jsxRuntime.jsx)(MenuLauncherIcon,{})}),te.map(e=>(0,_jsxRuntime.jsx)("button",{"aria-label":e.name||(0,_floatingToolsReact.getToolLabel)(e.id),"aria-pressed":toggleIsOn(e),title:e.description,onClick:()=>_(e),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"4px 6px",borderRadius:6,background:"none",border:"none",cursor:"pointer"},children:typeof e.icon==="function"?e.icon(16):e.icon},e.id))]})}),j&&(0,_jsxRuntime.jsx)(_OnboardingTooltipWeb.OnboardingTooltip,{title:"Welcome to Buoy!",message:"Grab and position this menu wherever you want, then tap the icon to open your tools.",onDismiss:h}),g&&!v&&(0,_jsxRuntime.jsx)(_DialDevToolsWeb.DialMenu,{icons:H,onClose:ie,centerLabel:"BUOY",onCenterPress:re,settingsOpen:y,hintsDisabled:d,emptyNote:b&&H.length===0?_teamToolsNote.NO_TEAM_TOOLS_NOTE:void 0}),y&&!v&&(0,_jsxRuntime.jsx)(_DevToolsSettingsModalWeb.SettingsModal,{visible:true,onClose:ae,availableTools:oe,defaultFloatingTools:Z,defaultDialTools:ee,onSettingsChange:e=>{}}),!v&&(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_AppHostWeb.AppOverlay,{}),(0,_jsxRuntime.jsx)(_floating.FloatingToolHost,{})]})]})}function useCapacitorSignInAudience(n){const s=n&&typeof n==="object"?n.appId:void 0;const i=!!n;(0,_react.useEffect)(()=>{if(!i)return;let a=false;const o=licenseModule.SessionManager;if(!o)return;const r=l=>{if(a||!l)return;o.configure({audience:`app:${l}`});void o.load().catch(()=>{})};if(s)r(s);else void(0,_license.loadCapacitorAppHost)().then(l=>r(l?.bundleId)).catch(()=>{});return()=>{a=true}},[i,s])}function usePublishAppId(n){const s=n&&typeof n==="object"?n.appId:void 0;(0,_react.useEffect)(()=>{let i=false;if(s){(0,_sharedUi.setBuoyAppId)(s)}else if((0,_license.isCapacitorNative)()){void(0,_license.loadCapacitorAppHost)().then(a=>{if(!i)(0,_sharedUi.setBuoyAppId)(a?.bundleId)}).catch(()=>{})}else if(typeof location!=="undefined"&&location.origin&&location.origin!=="null"){(0,_sharedUi.setBuoyAppId)(location.origin)}return()=>{i=true}},[s])}let warnedNoTools=false;function withInstalledTools(n){if(n.modules)return n;if(!_installedTools.installedToolsFound&&!warnedNoTools&&typeof console!=="undefined"){warnedNoTools=true;console.info("[Buoy] No tools loaded. Add buoy() from '@buoy-gg/core/vite' to your Vite plugins, or pass modules to FloatingDevTools.")}return{...n,modules:_installedTools.installedTools}}function FloatingDevTools(n){return(0,_jsxRuntime.jsx)(_floating.BuoyPortal,{children:(0,_jsxRuntime.jsx)(FloatingDevToolsContent,{...withInstalledTools(n)})})}function FloatingDevToolsContent(n){const{access:s,isPro:i,licenseKey:a}=(0,_license.useLicense)();(0,_react.useEffect)(()=>{void _license.LicenseManager.configure(n.licenseKey??(0,_Buoy.defaultLicenseKey)())},[n.licenseKey]);const o=n.licenseKey===void 0||(0,_license.sameLicenseKey)(n.licenseKey,a);const r=(0,_license.resolveDevBuild)(typeof __DEV__!=="undefined"?__DEV__:process.env.NODE_ENV!=="production");const l=o&&s.status==="admitted";(0,_react.useEffect)(()=>{if(l)(0,_sharedUi.startSettingsSync)()},[l]);(0,_react.useEffect)(()=>{if(r||s.status==="initializing")return;if(i&&l)(0,_releaseOptIn.markReleaseOptIn)();else(0,_releaseOptIn.clearReleaseOptIn)()},[r,i,l,s.status]);const c=(0,_license.isCapacitorNative)();useCapacitorSignInAudience(c?n.signIn:void 0);usePublishAppId(n.signIn);if(!r&&!i){if(!n.signIn||n.headless)return null;return c?(0,_jsxRuntime.jsx)(_BuoyCodeSignIn.BuoySignIn,{needsPlan:true}):(0,_jsxRuntime.jsx)(_BuoySignInWeb.BuoySignIn,{})}if(!l){return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[s.status==="initializing"&&(0,_jsxRuntime.jsx)(StartupCapture,{modules:n.modules}),n.headless?null:n.signIn&&c?(0,_jsxRuntime.jsx)(_BuoyCodeSignIn.BuoySignIn,{}):(0,_jsxRuntime.jsx)(_sharedUi.AccountSetup,{})]})}return(0,_jsxRuntime.jsx)(AdmittedFloatingDevTools,{...n})}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.FloatingDevTools=FloatingDevTools;var _floating=require("@buoy-gg/shared-ui/floating");var _license=_interopRequireWildcard(require("@buoy-gg/license"));var licenseModule=_license;var _sharedUi=require("@buoy-gg/shared-ui");var _react=require("react");var _floatingToolsReact=require("@buoy-gg/floating-tools-react");var _autoDiscoverPresetsWeb=require("../utils/autoDiscoverPresets.web.js");var _floatingToolsCore=require("@buoy-gg/floating-tools-core");var _teamToolsNote=require("./teamToolsNote.js");var _floatingToolsWeb=require("./floatingTools.web.js");var _DialDevToolsWeb=require("./dial/DialDevTools.web.js");var _dialUsageStore=require("./dial/dialUsageStore.js");var _OnboardingTooltipWeb=require("./dial/OnboardingTooltip.web.js");var _DevToolsSettingsModalWeb=require("./DevToolsSettingsModal.web.js");var _AppHostWeb=require("./AppHost.web.js");var _MinimizedToolsStackWeb=require("./MinimizedToolsStack.web.js");var _ToggleStateManager=require("./ToggleStateManager.js");var _createWebTools=require("../utils/createWebTools.js");var _BrowserToolRuntime=require("./BrowserToolRuntime.js");var _releaseOptIn=require("../releaseOptIn.js");var _BuoySignInWeb=require("./BuoySignIn.web.js");var _Buoy=require("../Buoy.js");var _bundlerKey=require("../bundlerKey.js");var _BuoyCodeSignIn=require("./BuoyCodeSignIn.js");var _DevToolsVisibilityContext=require("./DevToolsVisibilityContext.js");var _createWebTool=require("../utils/createWebTool.js");var _DefaultConfigContext=require("./DefaultConfigContext.js");var _DevToolsSettingsModalShared=require("./DevToolsSettingsModal.shared.js");var _defaultConfig=require("./defaultConfig.js");var _installedTools=require("../installedTools.js");var _jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(n,s){if("function"==typeof WeakMap)var i=new WeakMap,a=new WeakMap;return(_interopRequireWildcard=function(o,r){if(!r&&o&&o.__esModule)return o;var l,c,p={__proto__:null,default:o};if(null===o||"object"!=typeof o&&"function"!=typeof o)return p;if(l=r?a:i){if(l.has(o))return l.get(o);l.set(o,p)}for(const d in o)"default"!==d&&{}.hasOwnProperty.call(o,d)&&((c=(l=Object.defineProperty)&&Object.getOwnPropertyDescriptor(o,d))&&(c.get||c.set)?l(p,d,c):p[d]=o[d]);return p})(n,s)}const EMPTY_MODULES={};const MENU_TOOLTIP_KEY="@react_buoy_floating_menu_tooltip_shown";const webSettingsStorage=_sharedUi.persistentStorage;function MenuLauncherIcon({size:n=14,color:s="#20C997"}){const i=Math.max(2,n/4);const a=Math.max(1,n/16);return(0,_jsxRuntime.jsx)("div",{style:{display:"grid",gridTemplateColumns:`repeat(3, ${i}px)`,gap:a,width:n,height:n,alignContent:"center",justifyContent:"center"},children:Array.from({length:9}).map((o,r)=>(0,_jsxRuntime.jsx)("div",{style:{width:i,height:i,borderRadius:i/2,backgroundColor:s}},r))})}function AdmittedFloatingDevTools(n){const{defaultFloatingTools:s,defaultDialTools:i,disableHints:a=false,children:o}=n;const r=(0,_react.useMemo)(()=>i?(0,_defaultConfig.validateDialConfig)(i):i,[i]);return(0,_jsxRuntime.jsx)(_DefaultConfigContext.DefaultConfigProvider,{defaultFloatingTools:s,defaultDialTools:r,children:(0,_jsxRuntime.jsx)(_sharedUi.HintsProvider,{disableHints:a,children:(0,_jsxRuntime.jsxs)(_DevToolsVisibilityContext.DevToolsVisibilityProvider,{children:[(0,_jsxRuntime.jsx)(_AppHostWeb.AppHostProvider,{children:(0,_jsxRuntime.jsx)(FloatingDevToolsInner,{...n})}),o]})})})}const STARTUP_ROOTS=["ReduxAutoInstrument","ConsoleRoot","RouteTracker","ReactQueryTracker"];function StartupCapture({modules:n=EMPTY_MODULES}){return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:Object.entries(n).flatMap(([s,i])=>STARTUP_ROOTS.map(a=>{const o=i[a];return o?(0,_jsxRuntime.jsx)(o,{},`${s}:${a}`):null}))})}function WebToolOpenerBridge(){const{openApps:n,restore:s}=(0,_AppHostWeb.useAppHost)();(0,_react.useEffect)(()=>(0,_sharedUi.registerToolOpener)(i=>{const a=n.find(o=>o.id===i);if(!a)return false;s(a.instanceId);return true}),[n,s]);return null}function defaultEnvironment(){const n=(0,_license.capacitorDebug)();const s=n===null?process.env.NODE_ENV:n?"development":"production";return(0,_sharedUi.normalizeEnvironment)(s??"dev")}function configOverrides(n,s,i,a){const o=x=>Object.entries(n).find(([m])=>m.replace(/^@buoy-gg\//,"").replace(/\/web$/,"")===x)?.[1];const r=[];const l=o("env");if(s?.length&&l?.createEnvTool&&l.createEnvVarConfig){r.push((0,_createWebTool.createWebTool)(l.createEnvTool({requiredEnvVars:l.createEnvVarConfig(s)})))}const c=o("storage");if(i?.length&&c?.createStorageTool){r.push((0,_createWebTool.createWebTool)(c.createStorageTool({requiredStorageKeys:i})))}const p=o("ask-buoy");const d=a==="hosted"?p?.hostedAskBuoy?.():a;if(d&&p?.createAskBuoyTool)r.push((0,_createWebTool.createWebTool)(p.createAskBuoyTool(d)));return r}function toggleIsOn(n){if(n.launchMode!=="toggle-only")return void 0;const s=n.isOn;return typeof s==="function"?s():void 0}function FloatingDevToolsInner({environment:n,userRole:s="admin",availableEnvironments:i,onEnvironmentSwitch:a,apps:o,modules:r=EMPTY_MODULES,externalSync:l,requiredEnvVars:c,sentryGetClient:p,disableHints:d=false,headless:x=false,hidden:m=false,defaultFloatingTools:Z,defaultDialTools:E,zustandStores:M,requiredStorageKeys:B,askBuoy:W}){const I=n??defaultEnvironment();const ee=(0,_react.useMemo)(()=>E?(0,_defaultConfig.validateDialConfig)(E):void 0,[E]);const[g,S]=(0,_react.useState)(false);const[y,O]=(0,_react.useState)(false);const[,R]=(0,_react.useState)(0);(0,_react.useEffect)(()=>_ToggleStateManager.toggleStateManager.subscribe(()=>R(e=>e+1)),[]);const w=(0,_react.useRef)(false);const v=(0,_AppHostWeb.useAppHost)();const L=(0,_react.useMemo)(()=>configOverrides(r,c,B,W),[r,c,B,W]);const{allowedTools:b}=(0,_license.useLicense)();const f=(0,_react.useMemo)(()=>(0,_floatingToolsCore.filterTeamTools)((0,_autoDiscoverPresetsWeb.autoDiscoverWithCustom)([...(0,_createWebTools.createWebTools)(r),...o??[],...L]),b),[o,r,L,b]);const{openApps:F,close:K}=v;(0,_react.useEffect)(()=>{if(!b)return;for(const e of F){if(!(0,_floatingToolsCore.isTeamToolAllowed)(e.id,b))K(e.instanceId)}},[F,b,K]);const A=(0,_react.useMemo)(()=>Object.entries(r).find(([e])=>e.replace(/^@buoy-gg\//,"").replace(/\/web$/,"")==="zustand")?.[1],[r]);(0,_react.useEffect)(()=>{if(!M||typeof A?.watchStores!=="function")return;const e=A.watchStores(M);return typeof e==="function"?e:void 0},[M,A]);const C=(0,_DevToolsVisibilityContext.useDevToolsVisibility)();const N=v.openApps.some(e=>!e.minimized);(0,_react.useEffect)(()=>{C.setDialOpen(g)},[g,C.setDialOpen]);(0,_react.useEffect)(()=>{C.setToolOpen(N||y)},[N,y,C.setToolOpen]);const{registerApps:V}=v;(0,_react.useEffect)(()=>{V(f.map(e=>{const t=e.icon;return{...e,icon:typeof t==="function"?({size:u})=>t(u):t}}))},[V,f]);const ne=(0,_react.useMemo)(()=>f.map(e=>({id:e.id,name:e.name,description:e.description,slot:e.slot})),[f]);(0,_floatingToolsReact.useSettings)({availableTools:ne,storage:webSettingsStorage});(0,_react.useEffect)(()=>{let e=false;const t=async()=>{const[u,T]=await Promise.all([_sharedUi.persistentStorage.getItem(_sharedUi.devToolsStorageKeys.dial.isOpen()),_sharedUi.persistentStorage.getItem(_sharedUi.devToolsStorageKeys.settings.modalOpen())]);if(e)return;if(u==="true")S(true);if(T==="true"){S(true);O(true)}w.current=true};void t();return()=>{e=true}},[]);(0,_react.useEffect)(()=>{if(!w.current)return;void _sharedUi.persistentStorage.setItem(_sharedUi.devToolsStorageKeys.dial.isOpen(),g?"true":"false")},[g]);(0,_react.useEffect)(()=>{if(!w.current)return;void _sharedUi.persistentStorage.setItem(_sharedUi.devToolsStorageKeys.settings.modalOpen(),y?"true":"false")},[y]);const _=(0,_react.useCallback)(e=>{void(0,_dialUsageStore.recordToolUsage)(e.id);if(e.launchMode==="toggle-only"){e.onPress?.();R(t=>t+1);return}if(e.component){const t=typeof e.icon==="function"?e.icon(20):e.icon;v.open({id:e.id,title:e.name||(0,_floatingToolsReact.getToolLabel)(e.id),component:e.component,props:e.props,modal:e.modal,launchMode:e.launchMode||"self-modal",singleton:e.singleton??true,icon:t,color:e.color||(0,_floatingToolsReact.getToolColor)(e.id)})}else{e.onPress?.()}},[v]);const z=(0,_react.useRef)({tools:f,openApps:v.openApps,openTool:_});z.current={tools:f,openApps:v.openApps,openTool:_};(0,_react.useEffect)(()=>(0,_sharedUi.registerToolOpener)(e=>{const{tools:t,openApps:u,openTool:T}=z.current;if(u.some(q=>q.id===e))return false;const P=t.find(q=>q.id===e);if(!P||P.launchMode==="toggle-only")return false;T(P);return true}),[]);const D=(0,_react.useMemo)(()=>{const e=(0,_autoDiscoverPresetsWeb.getToolsBySlot)(f,"dial");return e.map(t=>{const u=t.color||(0,_floatingToolsReact.getToolColor)(t.id);let T;if(typeof t.icon==="string"){T=t.icon}else if(typeof t.icon==="function"){T=t.icon(32)}else{T=null}return{id:t.id,name:t.name||(0,_floatingToolsReact.getToolLabel)(t.id),icon:T,unavailable:!t.component&&!t.onPress,color:u,onPress:()=>{_(t);S(false)}}})},[f,_]);const H=(0,_react.useMemo)(()=>{if(!g)return D;const e=new Map(D.map(t=>[t.id,t]));return(0,_dialUsageStore.getRankedToolIds)(D.map(t=>t.id)).map(t=>e.get(t)).filter(t=>Boolean(t))},[g,D]);const{settings:k}=(0,_DevToolsSettingsModalShared.useDevToolsSettings)();const te=(0,_react.useMemo)(()=>(0,_autoDiscoverPresetsWeb.getToolsBySlot)(f,"row").filter(e=>(k.floatingTools[e.id]??false)===true&&(e.component||e.onPress)),[f,k.floatingTools]);const oe=(0,_react.useMemo)(()=>f.map(e=>({id:e.id,name:e.name||(0,_floatingToolsReact.getToolLabel)(e.id),description:e.description||(0,_floatingToolsReact.getToolDescription)(e.id),slot:e.slot,icon:e.icon,color:e.color})),[f]);const[se,U]=(0,_react.useState)(false);const $=v.openApps.some(e=>!e.minimized);(0,_react.useEffect)(()=>{if(d)return;let e=false;const t=setTimeout(async()=>{const u=await _sharedUi.persistentStorage.getItem(MENU_TOOLTIP_KEY);if(!e&&!u)U(true)},1e3);return()=>{e=true;clearTimeout(t)}},[d]);const h=(0,_react.useCallback)(()=>{U(false);void _sharedUi.persistentStorage.setItem(MENU_TOOLTIP_KEY,"true")},[]);const Y=(0,_react.useCallback)(()=>{h();S(true)},[h]);const ie=(0,_react.useCallback)(()=>{S(false);O(false)},[]);const re=(0,_react.useCallback)(()=>{O(e=>!e)},[]);const ae=(0,_react.useCallback)(()=>O(false),[]);const G=Boolean(i?.length&&a);const Q=k.floatingTools.environment!==false;const j=se&&!g&&!$&&!m;(0,_react.useEffect)(()=>{if(!j)return;const e=u=>{if(!(u.target instanceof Element)||!u.target.closest("[data-buoy-root]"))h()};const t=u=>{if(u.key==="Escape")h()};document.addEventListener("pointerdown",e,true);document.addEventListener("keydown",t);return()=>{document.removeEventListener("pointerdown",e,true);document.removeEventListener("keydown",t)}},[j,h]);const J=v.openApps.some(e=>e.minimized&&e.launchMode!=="toggle-only");const X=(0,_jsxRuntime.jsx)(_BrowserToolRuntime.BrowserToolRuntime,{modules:r,apps:o,requiredEnvVars:c,externalSync:l,headless:x,sentryGetClient:p});if(x)return X;return(0,_jsxRuntime.jsxs)("div",{"data-buoy-root":"",style:{display:"contents"},children:[X,(0,_jsxRuntime.jsx)(WebToolOpenerBridge,{}),j&&(0,_jsxRuntime.jsx)("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0,0,0,0.85)",zIndex:1e4,pointerEvents:"none"}}),(0,_jsxRuntime.jsx)("div",{style:m?{visibility:"hidden"}:{display:"contents"},"aria-hidden":m||void 0,children:(0,_jsxRuntime.jsxs)(_floatingToolsWeb.FloatingTools,{enablePositionPersistence:!j,pushToSide:g||$,suspendPointerEvents:g,centerOnboarding:j,minimizedStack:J?(0,_jsxRuntime.jsx)(_MinimizedToolsStackWeb.MinimizedToolsStack,{}):void 0,hasMinimizedStack:J,children:[I&&Q&&!G&&(0,_jsxRuntime.jsx)(_sharedUi.EnvironmentIndicator,{environment:I}),G&&Q&&(0,_jsxRuntime.jsx)(_sharedUi.EnvironmentSelectorInline,{currentEnvironment:I??"local",availableEnvironments:i,onSelect:a}),s?(0,_jsxRuntime.jsx)(_floatingToolsWeb.UserStatus,{userRole:s,onPress:Y}):(0,_jsxRuntime.jsx)("button",{"aria-label":"Open dev tools",onClick:Y,style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"6px 8px",background:"none",border:"none",cursor:"pointer"},children:(0,_jsxRuntime.jsx)(MenuLauncherIcon,{})}),te.map(e=>(0,_jsxRuntime.jsx)("button",{"aria-label":e.name||(0,_floatingToolsReact.getToolLabel)(e.id),"aria-pressed":toggleIsOn(e),title:e.description,onClick:()=>_(e),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"4px 6px",borderRadius:6,background:"none",border:"none",cursor:"pointer"},children:typeof e.icon==="function"?e.icon(16):e.icon},e.id))]})}),j&&(0,_jsxRuntime.jsx)(_OnboardingTooltipWeb.OnboardingTooltip,{title:"Welcome to Buoy!",message:"Grab and position this menu wherever you want, then tap the icon to open your tools.",onDismiss:h}),g&&!m&&(0,_jsxRuntime.jsx)(_DialDevToolsWeb.DialMenu,{icons:H,onClose:ie,centerLabel:"BUOY",onCenterPress:re,settingsOpen:y,hintsDisabled:d,emptyNote:b&&H.length===0?_teamToolsNote.NO_TEAM_TOOLS_NOTE:void 0}),y&&!m&&(0,_jsxRuntime.jsx)(_DevToolsSettingsModalWeb.SettingsModal,{visible:true,onClose:ae,availableTools:oe,defaultFloatingTools:Z,defaultDialTools:ee,onSettingsChange:e=>{}}),!m&&(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_AppHostWeb.AppOverlay,{}),(0,_jsxRuntime.jsx)(_floating.FloatingToolHost,{})]})]})}function useCapacitorSignInAudience(n){const s=n&&typeof n==="object"?n.appId:void 0;const i=!!n;(0,_react.useEffect)(()=>{if(!i)return;let a=false;const o=licenseModule.SessionManager;if(!o)return;const r=l=>{if(a||!l)return;o.configure({audience:`app:${l}`});void o.load().catch(()=>{})};if(s)r(s);else void(0,_license.loadCapacitorAppHost)().then(l=>r(l?.bundleId)).catch(()=>{});return()=>{a=true}},[i,s])}function usePublishAppId(n){const s=n&&typeof n==="object"?n.appId:void 0;(0,_react.useEffect)(()=>{let i=false;if(s){(0,_sharedUi.setBuoyAppId)(s)}else if((0,_license.isCapacitorNative)()){void(0,_license.loadCapacitorAppHost)().then(a=>{if(!i)(0,_sharedUi.setBuoyAppId)(a?.bundleId)}).catch(()=>{})}else if(typeof location!=="undefined"&&location.origin&&location.origin!=="null"){(0,_sharedUi.setBuoyAppId)(location.origin)}return()=>{i=true}},[s])}let warnedNoTools=false;function withInstalledTools(n){if(n.modules)return n;if(!_installedTools.installedToolsFound&&!warnedNoTools&&typeof console!=="undefined"){warnedNoTools=true;console.info("[Buoy] No tools loaded. Add buoy() from '@buoy-gg/core/vite' to your Vite plugins, or pass modules to FloatingDevTools.")}return{...n,modules:_installedTools.installedTools}}function FloatingDevTools(n){return(0,_jsxRuntime.jsx)(_floating.BuoyPortal,{children:(0,_jsxRuntime.jsx)(FloatingDevToolsContent,{...withInstalledTools(n)})})}function FloatingDevToolsContent(n){const{access:s,isPro:i,licenseKey:a}=(0,_license.useLicense)();(0,_react.useEffect)(()=>{void _license.LicenseManager.configure(n.licenseKey??(0,_Buoy.defaultLicenseKey)(_bundlerKey.bundlerKey))},[n.licenseKey]);const o=n.licenseKey===void 0||(0,_license.sameLicenseKey)(n.licenseKey,a);const r=(0,_license.resolveDevBuild)(typeof __DEV__!=="undefined"?__DEV__:process.env.NODE_ENV!=="production");const l=o&&s.status==="admitted";(0,_react.useEffect)(()=>{if(l)(0,_sharedUi.startSettingsSync)()},[l]);(0,_react.useEffect)(()=>{if(r||s.status==="initializing")return;if(i&&l)(0,_releaseOptIn.markReleaseOptIn)();else(0,_releaseOptIn.clearReleaseOptIn)()},[r,i,l,s.status]);const c=(0,_license.isCapacitorNative)();useCapacitorSignInAudience(c?n.signIn:void 0);usePublishAppId(n.signIn);if(!r&&!i){if(!n.signIn||n.headless)return null;return c?(0,_jsxRuntime.jsx)(_BuoyCodeSignIn.BuoySignIn,{needsPlan:true}):(0,_jsxRuntime.jsx)(_BuoySignInWeb.BuoySignIn,{})}if(!l){return(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[s.status==="initializing"&&(0,_jsxRuntime.jsx)(StartupCapture,{modules:n.modules}),n.headless?null:n.signIn&&c?(0,_jsxRuntime.jsx)(_BuoyCodeSignIn.BuoySignIn,{}):(0,_jsxRuntime.jsx)(_sharedUi.AccountSetup,{})]})}return(0,_jsxRuntime.jsx)(AdmittedFloatingDevTools,{...n})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ToolModalShell=ToolModalShell;exports.useToolHeader=useToolHeader;exports.useToolHost=useToolHost;var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _sharedUi=require("@buoy-gg/shared-ui");var _jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(t,o){if("function"==typeof WeakMap)var a=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.ToolModalShell=ToolModalShell;exports.useToolHeader=useToolHeader;exports.useToolHost=useToolHost;var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _sharedUi=require("@buoy-gg/shared-ui");var _jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(t,o){if("function"==typeof WeakMap)var a=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,c){if(!c&&e&&e.__esModule)return e;var n,u,l={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return l;if(n=c?r:a){if(n.has(e))return n.get(e);n.set(e,l)}for(const i in e)"default"!==i&&{}.hasOwnProperty.call(e,i)&&((u=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,i))&&(u.get||u.set)?n(l,i,u):l[i]=e[i]);return l})(t,o)}const noop=()=>{};const FALLBACK_CONTEXT={search:"",isSearchActive:false,clearSearch:noop,close:noop,minimize:noop,showToast:noop,setHeaderOverride:noop};const ToolHostContext=(0,_react.createContext)(null);function useToolHost(){return(0,_react.useContext)(ToolHostContext)??FALLBACK_CONTEXT}function useToolHeader(t,o){const{setHeaderOverride:a}=useToolHost();(0,_react.useEffect)(()=>{a(t);return()=>a(null)},o)}const TOAST_DURATION_MS=2200;const TOAST_COLORS={success:_sharedUi.gameUIColors.success,error:_sharedUi.gameUIColors.error,info:_sharedUi.gameUIColors.info};function ToastView({message:t,type:o,nonce:a}){const r=(0,_react.useRef)(new _reactNative.Animated.Value(0)).current;(0,_react.useEffect)(()=>{r.setValue(0);_reactNative.Animated.sequence([_reactNative.Animated.timing(r,{toValue:1,duration:150,useNativeDriver:true}),_reactNative.Animated.delay(TOAST_DURATION_MS-450),_reactNative.Animated.timing(r,{toValue:0,duration:300,useNativeDriver:true})]).start()},[a,r]);const e=TOAST_COLORS[o];return(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{pointerEvents:"none",style:[styles.toast,{opacity:r,borderColor:e+"60"}],children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.toastDot,{backgroundColor:e}]}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.toastText,numberOfLines:2,children:t})]})}function ToolModalShell({app:t,config:o,visible:a,zIndex:r,onClose:e,onMinimize:c,initialModalState:n,enableSharedModalDimensions:u,bodyProps:l}){const i=t.component;const[s,T]=(0,_react.useState)(false);const[m,y]=(0,_react.useState)("");const[d,S]=(0,_react.useState)(null);const[x,g]=(0,_react.useState)(null);const h=(0,_react.useRef)(null);const f=(0,_react.useCallback)(()=>{T(false);y("")},[]);const j=(0,_react.useCallback)((_,A="info")=>{if(h.current)clearTimeout(h.current);g(k=>({message:_,type:A,nonce:(k?.nonce??0)+1}));h.current=setTimeout(()=>g(null),TOAST_DURATION_MS)},[]);(0,_react.useEffect)(()=>{return()=>{if(h.current)clearTimeout(h.current)}},[]);const C=(0,_react.useMemo)(()=>({search:s?m:"",isSearchActive:s,clearSearch:f,close:e,minimize:()=>c(),showToast:j,setHeaderOverride:S,instanceId:t.instanceId}),[m,s,f,e,c,j,t.instanceId]);const p=d?.title??o.title??t.title??t.id;const w=d?.subtitle??o.subtitle;const v=d?.onBack;const O=d?.actions??o.headerActions;const b=d?.searchable??o.searchable;(0,_react.useEffect)(()=>{if(!b&&s)f()},[b,s,f]);const H=u?_sharedUi.devToolsStorageKeys.modal.root():_sharedUi.devToolsStorageKeys.custom(t.id).modal();const M=(0,_jsxRuntime.jsxs)(_sharedUi.ModalHeader,{children:[v&&!s&&(0,_jsxRuntime.jsx)(_sharedUi.ModalHeader.Navigation,{onBack:v}),s?(0,_jsxRuntime.jsx)(_sharedUi.ModalHeader.Search,{value:m,onChangeText:y,onCancel:f,placeholder:o.searchPlaceholder,testID:`tool-search-field-${t.id}`}):(0,_jsxRuntime.jsx)(_sharedUi.ModalHeader.Content,{title:p,subtitle:w}),(0,_jsxRuntime.jsxs)(_sharedUi.ModalHeader.Actions,{children:[!s&&O,b&&!s&&(0,_jsxRuntime.jsx)(_sharedUi.HeaderSearchButton,{variant:"chip",testID:`tool-search-${t.id}`,onPress:()=>T(true)})]})]});return(0,_jsxRuntime.jsx)(ToolHostContext.Provider,{value:C,children:(0,_jsxRuntime.jsx)(_sharedUi.JsModal,{visible:a,onClose:e,onBack:v,onMinimize:c,initialModalState:n,zIndex:r,persistenceKey:H,enablePersistence:true,initialMode:o.initialMode??"bottomSheet",header:{customContent:M,showToggleButton:true},disableScrollWrapper:true,styles:{},children:(0,_jsxRuntime.jsxs)(_reactNative.View,{nativeID:"buoy-tool-host",style:styles.bodyRoot,children:[(0,_jsxRuntime.jsx)(_sharedUi.TickProvider,{children:(0,_jsxRuntime.jsx)(_sharedUi.ToolScreenHeaderContext.Provider,{value:S,children:(0,_jsxRuntime.jsx)(i,{...l})})}),x&&(0,_jsxRuntime.jsx)(ToastView,{message:x.message,type:x.type,nonce:x.nonce})]})})})}const styles=_reactNative.StyleSheet.create({bodyRoot:{flex:1,minHeight:0,backgroundColor:"transparent"},toast:{position:"absolute",bottom:16,alignSelf:"center",flexDirection:"row",alignItems:"center",gap:8,maxWidth:"86%",backgroundColor:_sharedUi.buoyColors.card,borderWidth:1,borderRadius:8,paddingHorizontal:12,paddingVertical:8,shadowColor:"#000",shadowOpacity:.4,shadowRadius:8,shadowOffset:{width:0,height:2},elevation:6},toastDot:{width:6,height:6,borderRadius:3},toastText:{flex:1,fontSize:12,color:_sharedUi.buoyColors.text}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.AutoExternalSync=AutoExternalSync;exports.ToolRegistryPublisher=ToolRegistryPublisher;exports.isExternalSyncAvailable=isExternalSyncAvailable;exports.useToolAdapterMap=useToolAdapterMap;var _react=require("react");var _reactNative=require("react-native");var _license=require("@buoy-gg/license");var _optionalRequire=require("./optionalRequire.js");var _appSyncAdapter=require("./sync/appSyncAdapter.js");var _deviceIdentity=require("./deviceIdentity.js");var _externalSyncGate=require("./externalSyncGate.js");var _Buoy=require("../Buoy.js");var _sharedUi=require("@buoy-gg/shared-ui");(0,_Buoy.applyDefaultLicenseKey)();let externalSyncModule=null;let storageModule=null;let networkModule=null;let reactQueryModule=null;let routeEventsModule=null;let reduxModule=null;let zustandModule=null;let jotaiModule=null;let eventsModule=null;let consoleModule=null;let clockModule=null;let bugLinksModule=null;let memoryLeaksModule=null;try{memoryLeaksModule=require("@buoy-gg/memory-leaks")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/memory-leaks",e)}let permissionsModule=null;let lifecycleModule=null;let otaModule=null;let locationModule=null;let sentryModule=null;let notificationsModule=null;try{notificationsModule=require("@buoy-gg/notifications")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/notifications",e)}let envModule=null;let highlightUpdatesModule=null;let debugBordersModule=null;let impersonateModule=null;let perfMonitorModule=null;let jsTopModule=null;let imagesModule=null;let assetsModule=null;let tvRemoteModule=null;let focusInspectorModule=null;let expoConstantsModule=null;try{externalSyncModule=require("@buoy-gg/external-sync")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/external-sync",e)}try{storageModule=require("@buoy-gg/storage")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/storage",e)}try{networkModule=require("@buoy-gg/network")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/network",e)}try{reactQueryModule=require("@buoy-gg/react-query")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/react-query",e)}try{routeEventsModule=require("@buoy-gg/route-events")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/route-events",e)}try{reduxModule=require("@buoy-gg/redux")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/redux",e)}try{zustandModule=require("@buoy-gg/zustand")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/zustand",e)}try{jotaiModule=require("@buoy-gg/jotai")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/jotai",e)}try{eventsModule=require("@buoy-gg/events")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/events",e)}try{consoleModule=require("@buoy-gg/console")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/console",e)}try{clockModule=require("@buoy-gg/clock")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/clock",e)}try{bugLinksModule=require("@buoy-gg/bug-links")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/bug-links",e)}try{lifecycleModule=require("@buoy-gg/lifecycle")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/lifecycle",e)}try{otaModule=require("@buoy-gg/ota-inspector")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/ota-inspector",e)}try{locationModule=require("@buoy-gg/location")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/location",e)}try{permissionsModule=require("@buoy-gg/permissions")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/permissions",e)}try{sentryModule=require("@buoy-gg/sentry")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/sentry",e)}try{envModule=require("@buoy-gg/env")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/env",e)}try{highlightUpdatesModule=require("@buoy-gg/highlight-updates")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/highlight-updates",e)}try{debugBordersModule=require("@buoy-gg/debug-borders")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/debug-borders",e)}try{impersonateModule=require("@buoy-gg/impersonate")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/impersonate",e)}try{perfMonitorModule=require("@buoy-gg/perf-monitor")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/perf-monitor",e)}try{jsTopModule=require("@buoy-gg/js-top")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/js-top",e)}try{imagesModule=require("@buoy-gg/images")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/images",e)}try{assetsModule=require("@buoy-gg/assets")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/assets",e)}try{tvRemoteModule=require("@buoy-gg/tv-remote")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/tv-remote",e)}try{focusInspectorModule=require("@buoy-gg/focus-inspector")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/focus-inspector",e)}try{expoConstantsModule=require("expo-constants")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("expo-constants",e)}function isExternalSyncAvailable(){return!!externalSyncModule?.useExternalSyncSocket}function getAppName(){const e=expoConstantsModule?.default??expoConstantsModule;return e?.expoConfig?.name??e?.manifest2?.extra?.expoClient?.name??null}function getHardwareName(){const e=expoConstantsModule?.default??expoConstantsModule;const o=e?.deviceName;return typeof o==="string"&&o.length>0?o:null}function useToolAdapterMap({requiredEnvVars:e,customApps:o}){const n=reactQueryModule?.useReactQuerySyncAdapter?reactQueryModule.useReactQuerySyncAdapter():null;return useToolAdapterMapInner(n,e,o)}function ToolRegistryPublisher({requiredEnvVars:e,customApps:o}){const n=useToolAdapterMap({requiredEnvVars:e,customApps:o});const r=(0,_react.useRef)(n);r.current=n;(0,_react.useEffect)(()=>(0,_sharedUi.registerToolAdapters)(()=>r.current),[]);return null}function AutoExternalSync({options:e,requiredEnvVars:o,isPro:n,tier:r,licenseKey:t,customApps:g}){const{useExternalSyncSocket:d,useExternalSync:f}=externalSyncModule;const l=useToolAdapterMap({requiredEnvVars:o,customApps:g});const s=(0,_deviceIdentity.useDeviceIdentity)(e,{appName:getAppName(),hardwareName:getHardwareName(),platform:_reactNative.Platform.OS});const y=s?.deviceId??null;const{socket:u}=d({deviceName:s?.deviceName??"Buoy Device",socketURL:e?.socketURL??externalSyncModule.getDefaultSocketURL?.()??"http://localhost:42831",persistentDeviceId:y,platform:_reactNative.Platform.OS,enableLogs:e?.enableLogs});const a=(0,_react.useRef)({isPro:n,tier:r,licenseKey:t});a.current={isPro:n,tier:r,licenseKey:t};(0,_react.useEffect)(()=>{if(!u)return;const c=()=>{if(!_license.LicenseManager.hasAccountAccess()||!u.connected)return;const p=_license.LicenseManager.getState();if(!a.current.isPro&&(p.isInitialized===false||p.isValidating===true))return;u.emit("device-license",{isPro:a.current.isPro?"1":"0",tier:a.current.tier??(a.current.isPro?"pro":"free")})};if(u.connected)c();u.on("connect",c);return()=>{u.off("connect",c)}},[u,n,r,t]);const i=e?.releaseActions?.join(",")??"";const b=(0,_react.useMemo)(()=>(0,_externalSyncGate.applyReleaseActionPolicy)(l,typeof __DEV__!=="undefined"&&__DEV__,i?i.split(","):void 0),[l,i]);f({tools:b,socket:u,deviceId:y,enableLogs:e?.enableLogs});return null}function useToolAdapterMapInner(e,o,n){return(0,_react.useMemo)(()=>{const r={app:_appSyncAdapter.appSyncAdapter};if(storageModule?.storageSyncAdapter){r.storage=storageModule.storageSyncAdapter}if(networkModule?.networkSyncAdapter){r.network=networkModule.networkSyncAdapter}if(e){r.query=e}if(routeEventsModule?.routeEventsSyncAdapter){r["route-events"]=routeEventsModule.routeEventsSyncAdapter}if(reduxModule?.reduxSyncAdapter){r.redux=reduxModule.reduxSyncAdapter}if(zustandModule?.zustandSyncAdapter){r.zustand=zustandModule.zustandSyncAdapter}if(jotaiModule?.jotaiSyncAdapter){r.jotai=jotaiModule.jotaiSyncAdapter}if(eventsModule?.eventsSyncAdapter){r.events=eventsModule.eventsSyncAdapter}if(consoleModule?.consoleSyncAdapter){r.console=consoleModule.consoleSyncAdapter}if(memoryLeaksModule?.memoryLeaksSyncAdapter)r["memory-leaks"]=memoryLeaksModule.memoryLeaksSyncAdapter;if(clockModule?.clockSyncAdapter){r.clock=clockModule.clockSyncAdapter}if(permissionsModule?.permissionsSyncAdapter){r.permissions=permissionsModule.permissionsSyncAdapter}if(bugLinksModule?.bugLinksSyncAdapter){r["bug-links"]=bugLinksModule.bugLinksSyncAdapter}if(otaModule?.otaInspectorSyncAdapter)r["ota-update-inspector"]=otaModule.otaInspectorSyncAdapter;if(lifecycleModule?.lifecycleSyncAdapter){r.lifecycle=lifecycleModule.lifecycleSyncAdapter}if(locationModule?.locationSyncAdapter){r.location=locationModule.locationSyncAdapter}if(notificationsModule?.notificationSyncAdapter){r["push-notifications"]=notificationsModule.notificationSyncAdapter}if(sentryModule?.sentrySyncAdapter){r.sentry=sentryModule.sentrySyncAdapter}try{const t=require("@buoy-gg/time-machine");if(t?.timeMachineSyncAdapter){r["time-machine"]=t.timeMachineSyncAdapter}}catch(t){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/time-machine",t)}try{const t=require("@buoy-gg/scenarios");if(t?.scenariosSyncAdapter){r.scenarios=t.scenariosSyncAdapter}}catch(t){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/scenarios",t)}try{const t=require("@buoy-gg/ask-buoy");if(t?.askBuoySyncAdapter){r["ask-buoy"]=t.askBuoySyncAdapter}}catch(t){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/ask-buoy",t)}if(envModule?.createEnvSyncAdapter){r.env=envModule.createEnvSyncAdapter(o??[])}if(highlightUpdatesModule?.highlightUpdatesSyncAdapter){r["highlight-updates"]=highlightUpdatesModule.highlightUpdatesSyncAdapter}if(debugBordersModule?.debugBordersSyncAdapter){r["debug-borders"]=debugBordersModule.debugBordersSyncAdapter}if(impersonateModule?.impersonateSyncAdapter){r.impersonate=impersonateModule.impersonateSyncAdapter}if(perfMonitorModule?.perfMonitorSyncAdapter){r["perf-monitor"]=perfMonitorModule.perfMonitorSyncAdapter}if(jsTopModule?.jsTopSyncAdapter){r["js-top"]=jsTopModule.jsTopSyncAdapter}if(imagesModule?.imagesSyncAdapter){r.images=imagesModule.imagesSyncAdapter}if(assetsModule?.assetsSyncAdapter){r.assets=assetsModule.assetsSyncAdapter}if(tvRemoteModule?.tvRemoteSyncAdapter){r["tv-remote"]=tvRemoteModule.tvRemoteSyncAdapter}if(focusInspectorModule?.focusInspectorSyncAdapter){r["focus-inspector"]=focusInspectorModule.focusInspectorSyncAdapter}for(const t of n??[]){if(t?.sync){r[`custom:${t.id}`]=t.sync}}return r},[e,o,n])}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.AutoExternalSync=AutoExternalSync;exports.ToolRegistryPublisher=ToolRegistryPublisher;exports.isExternalSyncAvailable=isExternalSyncAvailable;exports.useToolAdapterMap=useToolAdapterMap;var _react=require("react");var _reactNative=require("react-native");var _license=require("@buoy-gg/license");var _optionalRequire=require("./optionalRequire.js");var _appSyncAdapter=require("./sync/appSyncAdapter.js");var _deviceIdentity=require("./deviceIdentity.js");var _externalSyncGate=require("./externalSyncGate.js");var _Buoy=require("../Buoy.js");var _sharedUi=require("@buoy-gg/shared-ui");(0,_Buoy.applyDefaultLicenseKey)();let externalSyncModule=null;let storageModule=null;let networkModule=null;let reactQueryModule=null;let routeEventsModule=null;let reduxModule=null;let zustandModule=null;let jotaiModule=null;let eventsModule=null;let consoleModule=null;let clockModule=null;let bugLinksModule=null;let memoryLeaksModule=null;try{memoryLeaksModule=require("@buoy-gg/memory-leaks")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/memory-leaks",e)}let permissionsModule=null;let lifecycleModule=null;let otaModule=null;let locationModule=null;let sentryModule=null;let notificationsModule=null;try{notificationsModule=require("@buoy-gg/notifications")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/notifications",e)}let envModule=null;let highlightUpdatesModule=null;let debugBordersModule=null;let impersonateModule=null;let perfMonitorModule=null;let jsTopModule=null;let imagesModule=null;let assetsModule=null;let tvRemoteModule=null;let focusInspectorModule=null;let expoConstantsModule=null;try{externalSyncModule=require("@buoy-gg/external-sync")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/external-sync",e)}try{storageModule=require("@buoy-gg/storage")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/storage",e)}try{networkModule=require("@buoy-gg/network")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/network",e)}try{reactQueryModule=require("@buoy-gg/react-query")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/react-query",e)}try{routeEventsModule=require("@buoy-gg/route-events")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/route-events",e)}try{reduxModule=require("@buoy-gg/redux")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/redux",e)}try{zustandModule=require("@buoy-gg/zustand")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/zustand",e)}try{jotaiModule=require("@buoy-gg/jotai")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/jotai",e)}try{eventsModule=require("@buoy-gg/events")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/events",e)}try{consoleModule=require("@buoy-gg/console")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/console",e)}try{clockModule=require("@buoy-gg/clock")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/clock",e)}try{bugLinksModule=require("@buoy-gg/bug-links")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/bug-links",e)}try{lifecycleModule=require("@buoy-gg/lifecycle")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/lifecycle",e)}try{otaModule=require("@buoy-gg/ota-inspector")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/ota-inspector",e)}try{locationModule=require("@buoy-gg/location")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/location",e)}try{permissionsModule=require("@buoy-gg/permissions")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/permissions",e)}try{sentryModule=require("@buoy-gg/sentry")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/sentry",e)}try{envModule=require("@buoy-gg/env")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/env",e)}try{highlightUpdatesModule=require("@buoy-gg/highlight-updates")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/highlight-updates",e)}try{debugBordersModule=require("@buoy-gg/debug-borders")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/debug-borders",e)}try{impersonateModule=require("@buoy-gg/impersonate")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/impersonate",e)}try{perfMonitorModule=require("@buoy-gg/perf-monitor")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/perf-monitor",e)}try{jsTopModule=require("@buoy-gg/js-top")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/js-top",e)}try{imagesModule=require("@buoy-gg/images")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/images",e)}try{assetsModule=require("@buoy-gg/assets")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/assets",e)}try{tvRemoteModule=require("@buoy-gg/tv-remote")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/tv-remote",e)}try{focusInspectorModule=require("@buoy-gg/focus-inspector")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/focus-inspector",e)}try{expoConstantsModule=require("expo-constants")}catch(e){(0,_optionalRequire.reportOptionalRequireError)("expo-constants",e)}function isExternalSyncAvailable(){return!!externalSyncModule?.useExternalSyncSocket}function getAppName(){const e=expoConstantsModule?.default??expoConstantsModule;return e?.expoConfig?.name??e?.manifest2?.extra?.expoClient?.name??null}function getHardwareName(){const e=expoConstantsModule?.default??expoConstantsModule;const o=e?.deviceName;return typeof o==="string"&&o.length>0?o:null}function useToolAdapterMap({requiredEnvVars:e,customApps:o}){const n=reactQueryModule?.useReactQuerySyncAdapter?reactQueryModule.useReactQuerySyncAdapter():null;return useToolAdapterMapInner(n,e,o)}function ToolRegistryPublisher({requiredEnvVars:e,customApps:o}){const n=useToolAdapterMap({requiredEnvVars:e,customApps:o});const r=(0,_react.useRef)(n);r.current=n;(0,_react.useEffect)(()=>(0,_sharedUi.registerToolAdapters)(()=>r.current),[]);return null}function AutoExternalSync({options:e,requiredEnvVars:o,isPro:n,tier:r,licenseKey:t,customApps:g}){const{useExternalSyncSocket:d,useExternalSync:f}=externalSyncModule;const l=useToolAdapterMap({requiredEnvVars:o,customApps:g});const s=(0,_deviceIdentity.useDeviceIdentity)(e,{appName:getAppName(),hardwareName:getHardwareName(),platform:_reactNative.Platform.OS});const y=s?.deviceId??null;const{socket:a}=d({deviceName:s?.deviceName??"Buoy Device",socketURL:e?.socketURL??externalSyncModule.getDefaultSocketURL?.()??"http://localhost:42831",persistentDeviceId:y,platform:_reactNative.Platform.OS,enableLogs:e?.enableLogs});const u=(0,_react.useRef)({isPro:n,tier:r,licenseKey:t});u.current={isPro:n,tier:r,licenseKey:t};(0,_react.useEffect)(()=>{if(!a)return;const c=()=>{if(!_license.LicenseManager.hasAccountAccess()||!a.connected)return;const p=_license.LicenseManager.getState();if(!u.current.isPro&&(p.isInitialized===false||p.isValidating===true))return;a.emit("device-license",{isPro:u.current.isPro?"1":"0",tier:u.current.tier??(u.current.isPro?"pro":"free")})};if(a.connected)c();a.on("connect",c);return()=>{a.off("connect",c)}},[a,n,r,t]);const i=e?.releaseActions?.join(",")??"";const b=(0,_react.useMemo)(()=>(0,_externalSyncGate.applyReleaseActionPolicy)(l,typeof __DEV__!=="undefined"&&__DEV__,i?i.split(","):void 0),[l,i]);f({tools:b,socket:a,deviceId:y,enableLogs:e?.enableLogs});return null}function useToolAdapterMapInner(e,o,n){return(0,_react.useMemo)(()=>{const r={app:_appSyncAdapter.appSyncAdapter};if(storageModule?.storageSyncAdapter){r.storage=storageModule.storageSyncAdapter}if(networkModule?.networkSyncAdapter){r.network=networkModule.networkSyncAdapter}if(networkModule?.socketsSyncAdapter){r.sockets=networkModule.socketsSyncAdapter}if(e){r.query=e}if(routeEventsModule?.routeEventsSyncAdapter){r["route-events"]=routeEventsModule.routeEventsSyncAdapter}if(reduxModule?.reduxSyncAdapter){r.redux=reduxModule.reduxSyncAdapter}if(zustandModule?.zustandSyncAdapter){r.zustand=zustandModule.zustandSyncAdapter}if(jotaiModule?.jotaiSyncAdapter){r.jotai=jotaiModule.jotaiSyncAdapter}if(eventsModule?.eventsSyncAdapter){r.events=eventsModule.eventsSyncAdapter}if(consoleModule?.consoleSyncAdapter){r.console=consoleModule.consoleSyncAdapter}if(memoryLeaksModule?.memoryLeaksSyncAdapter)r["memory-leaks"]=memoryLeaksModule.memoryLeaksSyncAdapter;if(clockModule?.clockSyncAdapter){r.clock=clockModule.clockSyncAdapter}if(permissionsModule?.permissionsSyncAdapter){r.permissions=permissionsModule.permissionsSyncAdapter}if(bugLinksModule?.bugLinksSyncAdapter){r["bug-links"]=bugLinksModule.bugLinksSyncAdapter}if(otaModule?.otaInspectorSyncAdapter)r["ota-update-inspector"]=otaModule.otaInspectorSyncAdapter;if(lifecycleModule?.lifecycleSyncAdapter){r.lifecycle=lifecycleModule.lifecycleSyncAdapter}if(locationModule?.locationSyncAdapter){r.location=locationModule.locationSyncAdapter}if(notificationsModule?.notificationSyncAdapter){r["push-notifications"]=notificationsModule.notificationSyncAdapter}if(sentryModule?.sentrySyncAdapter){r.sentry=sentryModule.sentrySyncAdapter}try{const t=require("@buoy-gg/time-machine");if(t?.timeMachineSyncAdapter){r["time-machine"]=t.timeMachineSyncAdapter}}catch(t){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/time-machine",t)}try{const t=require("@buoy-gg/scenarios");if(t?.scenariosSyncAdapter){r.scenarios=t.scenariosSyncAdapter}}catch(t){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/scenarios",t)}try{const t=require("@buoy-gg/ask-buoy");if(t?.askBuoySyncAdapter){r["ask-buoy"]=t.askBuoySyncAdapter}}catch(t){(0,_optionalRequire.reportOptionalRequireError)("@buoy-gg/ask-buoy",t)}if(envModule?.createEnvSyncAdapter){r.env=envModule.createEnvSyncAdapter(o??[])}if(highlightUpdatesModule?.highlightUpdatesSyncAdapter){r["highlight-updates"]=highlightUpdatesModule.highlightUpdatesSyncAdapter}if(debugBordersModule?.debugBordersSyncAdapter){r["debug-borders"]=debugBordersModule.debugBordersSyncAdapter}if(impersonateModule?.impersonateSyncAdapter){r.impersonate=impersonateModule.impersonateSyncAdapter}if(perfMonitorModule?.perfMonitorSyncAdapter){r["perf-monitor"]=perfMonitorModule.perfMonitorSyncAdapter}if(jsTopModule?.jsTopSyncAdapter){r["js-top"]=jsTopModule.jsTopSyncAdapter}if(imagesModule?.imagesSyncAdapter){r.images=imagesModule.imagesSyncAdapter}if(assetsModule?.assetsSyncAdapter){r.assets=assetsModule.assetsSyncAdapter}if(tvRemoteModule?.tvRemoteSyncAdapter){r["tv-remote"]=tvRemoteModule.tvRemoteSyncAdapter}if(focusInspectorModule?.focusInspectorSyncAdapter){r["focus-inspector"]=focusInspectorModule.focusInspectorSyncAdapter}for(const t of n??[]){if(t?.sync){r[`custom:${t.id}`]=t.sync}}return r},[e,o,n])}
|
package/lib/commonjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.SDK_VERSION=void 0;const SDK_VERSION=exports.SDK_VERSION="7.0.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.SDK_VERSION=void 0;const SDK_VERSION=exports.SDK_VERSION="7.0.81";
|
package/lib/module/Buoy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{LicenseManager as
|
|
1
|
+
"use strict";import{LicenseManager as r}from"@buoy-gg/license";let n=true;export function isTelemetryEnabled(){return n}let i=false;let s=false;export function defaultLicenseKey(e){if(i)return void 0;try{const t=process.env.EXPO_PUBLIC_BUOY_KEY;if(t)return t}catch{}try{const t=process.env.NEXT_PUBLIC_BUOY_KEY;if(t)return t}catch{}return e?.()}export function applyDefaultLicenseKey(){if(s)return;s=true;const e=defaultLicenseKey();if(e)void r.configure(e).catch(()=>{})}export const Buoy={init(e){if(e.telemetry===false)n=false;if(e.licenseKey!==void 0)i=true;void r.configure(e.licenseKey).catch(t=>{console.warn("[Buoy] License initialization failed:",t)})},async initAsync(e){if(e.telemetry===false)n=false;if(e.licenseKey!==void 0)i=true;return r.configure(e.licenseKey)},isPro(){return r.isPro()},getState(){return r.getState()},async forceReregister(){await r.forceReregister()}};export default Buoy;
|
package/lib/module/auto.web.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{createElement as
|
|
1
|
+
"use strict";import{createElement as o,lazy as s,Suspense as i,useEffect as f,useState as a}from"react";export function shouldShowBuoy(){if(typeof window==="undefined")return false;const e=window.Capacitor;let t=false;try{t=e?.isNativePlatform?.()===true}catch{t=false}if(t)return e?.DEBUG===true;return typeof __DEV__!=="undefined"?Boolean(__DEV__):process.env.NODE_ENV!=="production"}export{bundlerKey}from"./bundlerKey.js";import{bundlerKey as c}from"./bundlerKey.js";let n;function d(){n??=s(()=>import("./floatingMenu/FloatingDevTools.web").then(e=>({default:e.FloatingDevTools})));return n}export function BuoyDevTools({enabled:e,...t}){const[r,u]=a(false);f(()=>{u(e??shouldShowBuoy())},[e]);if(!r)return null;const l=t.licenseKey??c();return o(i,{fallback:null},o(d(),{...t,licenseKey:l}))}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";export function bundlerKey(){try{const e=import.meta.env.VITE_BUOY_KEY;if(e)return e}catch{}try{const e=process.env.NEXT_PUBLIC_BUOY_KEY;if(e)return e}catch{}return void 0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{persistentStorage as E,setExpandableWindowControls as F}from"@buoy-gg/shared-ui";import H,{createContext as j,useCallback as S,useContext as B,useMemo as V,useState as R,useEffect as y,useRef as v}from"react";import{Modal as W,StyleSheet as C,View as x}from"react-native";import{resolveOpenAppsState as $,restoreOpenApp as q}from"./AppHostLogic.js";import{renderAppIcon as J}from"./AppIcon";import{useMinimizedTools as P}from"./MinimizedToolsContext.js";import{ToolModalShell as Y}from"./ToolHost.js";import{useDevToolsSettings as G}from"./DevToolsSettingsModal";import{useDevToolsVisibility as K}from"./DevToolsVisibilityContext.js";import{resolveBackTarget as L,useHardwareBack as X}from"./hardwareBack.js";import{jsx as m,Fragment as Z}from"react/jsx-runtime";const k=j(null);const O="@react_buoy_open_apps";const Q=500;export const AppHostProvider=({children:t})=>{const[s,l]=R([]);const[c,u]=R(false);const f=v(null);const a=v([]);const d=v(null);const{restore:g}=P();const z=S(n=>{let i="";l(o=>{const{apps:r,instanceId:
|
|
1
|
+
"use strict";import{persistentStorage as E,setExpandableWindowControls as F}from"@buoy-gg/shared-ui";import H,{createContext as j,useCallback as S,useContext as B,useMemo as V,useState as R,useEffect as y,useRef as v}from"react";import{Modal as W,StyleSheet as C,View as x}from"react-native";import{resolveOpenAppsState as $,restoreOpenApp as q}from"./AppHostLogic.js";import{renderAppIcon as J}from"./AppIcon";import{useMinimizedTools as P}from"./MinimizedToolsContext.js";import{ToolModalShell as Y}from"./ToolHost.js";import{useDevToolsSettings as G}from"./DevToolsSettingsModal";import{useDevToolsVisibility as K}from"./DevToolsVisibilityContext.js";import{resolveBackTarget as L,useHardwareBack as X}from"./hardwareBack.js";import{jsx as m,Fragment as Z}from"react/jsx-runtime";const k=j(null);const O="@react_buoy_open_apps";const Q=500;export const AppHostProvider=({children:t})=>{const[s,l]=R([]);const[c,u]=R(false);const f=v(null);const a=v([]);const d=v(null);const{restore:g}=P();const z=S(n=>{let i="";l(o=>{const{apps:r,instanceId:p,wasMinimized:N}=$(o,n,()=>`${n.id}-${Date.now()}-${Math.random().toString(36).slice(2)}`);i=p;if(N){setTimeout(()=>g(p),0)}return r});return i},[g]);const e=S(()=>{if(c)return;if(!a.current.length)return;const n=d.current;if(!n||n.length===0){u(true);return}d.current=null;n.forEach(({id:i,minimized:o})=>{const r=a.current.find(p=>p.id===i);if(r){const p=J(r.icon,{slot:"dial",size:20,color:r.color});z({id:r.id,title:r.name,component:r.component,props:r.props,launchMode:r.launchMode||"self-modal",singleton:r.singleton,icon:p,color:r.color,modal:r.modal,minimized:o})}});u(true)},[c,z]);y(()=>{const n=async()=>{try{const i=await E.getItem(O);if(i){const o=JSON.parse(i);let r;if(Array.isArray(o)&&o.length>0){if(typeof o[0]==="string"){r=o.map(p=>({id:p,minimized:false}))}else{r=o}if(r.length){d.current=r;e();return}}}}catch(i){}u(true)};n()},[e]);y(()=>{if(!c)return;if(f.current){clearTimeout(f.current)}f.current=setTimeout(()=>{const n=s.map(i=>({id:i.id,minimized:i.minimized??false}));E.setItem(O,JSON.stringify(n))},Q);return()=>{if(f.current){clearTimeout(f.current)}}},[s,c]);const h=S(n=>{a.current=n;e()},[e]);const I=S(n=>{l(i=>{if(!i.length)return i;if(!n)return i.slice(0,-1);return i.filter(o=>o.instanceId!==n)})},[]);const M=S(()=>l([]),[]);const A=S(n=>{l(i=>i.map(o=>o.instanceId===n?{...o,minimized:true}:o))},[]);const b=S((n,i)=>{l(o=>q(o,n,i))},[]);const T=S(n=>{const i=s.find(o=>o.instanceId===n);return i?.minimized??false},[s]);const{isDialOpen:w}=K();X(s.length>0,()=>{const n=L(s,w);if(n?.kind!=="tool")return false;I(n.instanceId);return true});const D=V(()=>({openApps:s,isAnyOpen:s.filter(n=>n.launchMode!=="toggle-only"&&!n.minimized).length>0,open:z,close:I,closeAll:M,registerApps:h,minimize:A,restore:b,isMinimized:T}),[s,z,I,M,h,A,b,T]);return m(k.Provider,{value:D,children:t})};export const useAppHost=()=>{const t=B(k);if(!t){return{openApps:[],isAnyOpen:false,open:()=>"",close:()=>{},closeAll:()=>{},minimize:()=>{},restore:(s,l)=>{},isMinimized:()=>false}}return t};const U=({app:t,zIndex:s,onClose:l,onMinimize:c,minimizeTargetPosition:u,globalEnableSharedModalDimensions:f})=>{const a=t.component;const d=!t.minimized;const g={...t.props??{},...f===true?{enableSharedModalDimensions:true}:{}};if(t.modal&&(t.launchMode==="self-modal"||!t.launchMode)){return m(Y,{app:t,config:t.modal,visible:d,zIndex:s,onClose:l,onMinimize:c,initialModalState:t.restoreState,enableSharedModalDimensions:f===true,bodyProps:g})}if(t.launchMode==="self-modal"){return m(a,{...g,visible:d,onClose:l,onRequestClose:l,onMinimize:c,minimizeTargetPosition:u,initialModalState:t.restoreState,instanceId:t.instanceId,zIndex:s})}if(t.launchMode==="inline"){if(!d)return null;return m(x,{nativeID:"buoy-tool-host",pointerEvents:"box-none",style:[C.absoluteFill,{zIndex:s}],children:m(a,{...g,onClose:l,onMinimize:c,minimizeTargetPosition:u,initialModalState:t.restoreState,instanceId:t.instanceId})})}return m(W,{visible:d,transparent:true,animationType:"slide",onRequestClose:l,children:m(x,{style:_.backdrop,children:m(x,{style:_.card,children:m(a,{...g,onClose:l,onMinimize:c,minimizeTargetPosition:u,initialModalState:t.restoreState,instanceId:t.instanceId})})})})};export const AppOverlay=()=>{const{openApps:t,close:s,minimize:l}=useAppHost();const{minimize:c,restore:u,getNextIconPosition:f,minimizedTools:a}=P();const{settings:d}=G();y(()=>{F(d.globalSettings?.expandableWindowControls!==false)},[d.globalSettings?.expandableWindowControls]);H.useEffect(()=>{t.forEach(e=>{if(e.minimized&&e.launchMode!=="toggle-only"){const h=a.some(I=>I.instanceId===e.instanceId);if(!h){c({instanceId:e.instanceId,id:e.id,title:e.title||e.id,icon:e.icon,color:e.color})}}});a.forEach(e=>{const h=t.find(I=>I.instanceId===e.instanceId);if(!h||!h.minimized){u(e.instanceId)}})},[t,a,c,u]);const g=t.filter(e=>e.launchMode!=="toggle-only");if(g.length===0)return null;const z=9e3;return m(Z,{children:g.map((e,h)=>{const I=z+h;const M=f();const A=b=>{l(e.instanceId);c({instanceId:e.instanceId,id:e.id,title:e.title||e.id,icon:e.icon,color:e.color,modalState:b})};return m(U,{app:e,zIndex:I,onClose:()=>s(e.instanceId),onMinimize:A,minimizeTargetPosition:M,globalEnableSharedModalDimensions:d.globalSettings?.enableSharedModalDimensions},e.instanceId)})})};const _=C.create({backdrop:{flex:1,backgroundColor:"rgba(0,0,0,0.28)",alignItems:"center",justifyContent:"center"},card:{maxHeight:"90%",width:"94%",borderRadius:12,backgroundColor:"white",overflow:"hidden"}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{useEffect as _,useMemo as b,useRef as
|
|
1
|
+
"use strict";import{useEffect as _,useMemo as b,useRef as D}from"react";import{LicenseManager as E,installCapacitorBridge as h,resolveDevBuild as L,useLicense as T}from"@buoy-gg/license";import{registerToolAdapters as w}from"@buoy-gg/shared-ui";import{RELEASE_DEFAULT_SOCKET_URL as x,applyReleaseActionPolicy as j,externalSyncOptions as N,releaseTransportProblem as U,shouldMountExternalSync as C}from"./externalSyncGate.js";import{useDeviceIdentity as M}from"./deviceIdentity.js";import{capacitorBrokerURL as P,capacitorTransportProblem as V,useHostInfo as $}from"./capacitorHostInfo.js";import{appSyncAdapter as F}from"./sync/appSyncAdapter.js";import{jsx as p,Fragment as Q,jsxs as q}from"react/jsx-runtime";const H=["ConsoleRoot","RouteTracker","ReactQueryTracker","ReduxAutoInstrument","PerfMonitorRoot","AutomationResumer","ImagesRoot"];const K=["DebugBordersStandaloneOverlay","HighlightUpdatesOverlay","ImageOverlayStandalone","PerfMonitorOverlay","JsTopHudOverlay","ImpersonateOverlay","ScenariosOverlay","BugLinksOverlay"];export function BrowserToolRuntime(e){const a=b(()=>Object.fromEntries(Object.entries(e.modules).map(([u,y])=>[u.replace(/^@buoy-gg\//,"").replace(/\/web$/,""),y])),[e.modules]);const s=a["react-query"];return s?.useReactQuerySyncAdapter?p(z,{...e,modules:a,query:s}):p(I,{...e,modules:a})}function z(e){const a=e.query.useReactQuerySyncAdapter();return p(I,{...e,queryAdapter:a})}function I({modules:e,apps:a,requiredEnvVars:s,externalSync:u,headless:y,sentryGetClient:d,queryAdapter:r}){const{isPro:m,tier:g}=T();const n=b(()=>{const c={app:F};for(const[t,o]of Object.entries(e)){for(const[l,O]of Object.entries(o)){if(l.endsWith("SyncAdapter")&&O&&typeof O==="object")c[t]=O}}if(r)c.query=r;if(e.env?.createEnvSyncAdapter)c.env=e.env.createEnvSyncAdapter(s??[]);for(const t of a??[])if(t.sync)c[`custom:${t.id}`]=t.sync;return c},[e,a,s,r]);const v=D(n);v.current=n;_(()=>w(()=>v.current),[]);_(()=>{const c=[];const t=o=>{const l=o?.();if(typeof l==="function")c.push(l)};t(e.network?.startNetworkCapture);t(e.storage?.startBrowserStorageCapture);t(e.assets?.startBrowserAssetCapture);t(e.three?.startThreeCapture);if(L(typeof __DEV__!=="undefined"?__DEV__:process.env.NODE_ENV!=="production")){t(e["time-machine"]?.startTimeMachineFloatingToolPersistence)}if(e.storage?.storageSyncAdapter?.subscribe)t(()=>e.storage.storageSyncAdapter.subscribe(()=>{}));if(e["focus-inspector"]?.focusInspectorSyncAdapter?.subscribe)t(()=>e["focus-inspector"].focusInspectorSyncAdapter.subscribe(()=>{}));return()=>{for(const o of c.reverse())o()}},[e]);const S=e["external-sync"];const i=L(typeof __DEV__!=="undefined"?__DEV__:process.env.NODE_ENV!=="production");const f=C({isDevelopment:i,isLicensed:m,externalSync:u,isAvailable:Boolean(S)});const R=N(u);h({release:!i&&Boolean(R?.enableInRelease)});if(!i&&R?.enableInRelease)k(U(R.socketURL,R));const A=e.sentry?.SentryRoot;return q(Q,{children:[Object.entries(e).flatMap(([c,t])=>H.map(o=>{const l=t[o];return l?p(l,{},`${c}:${o}`):null})),A&&p(A,{getClient:d}),Object.entries(e).flatMap(([c,t])=>K.map(o=>{const l=t[o];return l&&(!y||o==="ScenariosOverlay"||o==="ImpersonateOverlay"||o==="BugLinksOverlay")?p(l,{},`${c}:${o}`):null})),f&&p(J,{module:S,tools:n,options:R,isPro:m,tier:g,dev:i})]})}let B=null;function k(e){if(!e||e===B)return;B=e;console.warn("[Buoy]",e)}function J({module:e,tools:a,options:s,isPro:u,tier:y,dev:d}){const r=$();const m=M(s,{appName:r.appName,hardwareName:r.hardwareName,platform:r.platform});const g=b(()=>P(s?.socketURL??(d?e.getDefaultSocketURL():x),Boolean(s?.socketURL),r.platform),[s?.socketURL,d,e,r.platform]);const{socket:n}=e.useExternalSyncSocket({deviceName:m?.deviceName??"Buoy Browser",socketURL:g,persistentDeviceId:r.ready?m?.deviceId??null:null,platform:r.platform,extraDeviceInfo:r.extraDeviceInfo,enableLogs:s?.enableLogs});_(()=>{const i=V(g,r.platform);if(!n||!i)return;const f=()=>k(i);n.on("connect_error",f);return()=>{n.off("connect_error",f)}},[n,g,r.platform]);_(()=>{if(!n)return;const i=()=>{if(!n.connected||!E.hasAccountAccess())return;const f=E.getState();if(!u&&(f.isInitialized===false||f.isValidating===true))return;n.emit("device-license",{isPro:u?"1":"0",tier:y})};i();n.on("connect",i);return()=>{n.off("connect",i)}},[n,u,y]);const v=s?.releaseActions?.join(",")??"";const S=b(()=>j(a,d,v?v.split(","):void 0),[a,d,v]);e.useExternalSync({tools:S,socket:n,deviceId:r.ready?m?.deviceId??null:null,enableLogs:s?.enableLogs});return null}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";import{FloatingToolHost as ge}from"@buoy-gg/shared-ui";import{AccountSetup as ye,
|
|
1
|
+
"use strict";import{FloatingToolHost as ge}from"@buoy-gg/shared-ui";import{AccountSetup as ye,FiberRootAnchor as pe,setBuoyAppId as de,startSettingsSync as me}from"@buoy-gg/shared-ui";import Xe,{useMemo as t,useCallback as fe,useEffect as b}from"react";import{View as X,StyleSheet as Y}from"react-native";import{AppHostProvider as be}from"./AppHost";import{TeamToolCloser as ve}from"./TeamToolCloser.js";import{NO_TEAM_TOOLS_NOTE as he}from"./teamToolsNote.js";import{FloatingMenu as Oe}from"./FloatingMenu.js";import{AppOverlay as Te}from"./AppHost";import{ToolOpenerBridge as Ae}from"./ToolOpenerBridge.js";import{autoDiscoverPresets as Re,autoDiscoverPresetsWithCustom as qe}from"./autoDiscoverPresets.js";import{sendInstallPing as Ie}from"../telemetry/installPing.js";import{defaultLicenseKey as _e,isTelemetryEnabled as Ee}from"../Buoy.js";import{renderAppIcon as ke}from"./AppIcon";import{DevToolsVisibilityProvider as xe}from"./DevToolsVisibilityContext.js";import{reportOptionalRequireError as o}from"./optionalRequire.js";import{HintsProvider as Pe,normalizeEnvironment as Se}from"@buoy-gg/shared-ui";import{MinimizedToolsProvider as De}from"./MinimizedToolsContext.js";import{validateDialConfig as Le}from"./defaultConfig.js";import{DefaultConfigProvider as Me}from"./DefaultConfigContext.js";import{LicenseManager as Ce,useProAccess as ze,useLicense as Fe,sameLicenseKey as je}from"@buoy-gg/license";import*as we from"@buoy-gg/license";import{filterTeamTools as Be}from"@buoy-gg/floating-tools-core";import{BuoySignIn as Z}from"./BuoySignIn";import{AutoExternalSync as ee,ToolRegistryPublisher as He,isExternalSyncAvailable as Ne}from"./autoExternalSync.js";import{externalSyncOptions as j,releaseTransportProblem as Ve,shouldMountExternalSync as Ue}from"./externalSyncGate.js";import{jsx as r,Fragment as O,jsxs as l}from"react/jsx-runtime";let re=null;function Je(i){if(!i||i===re)return;re=i;console.warn("[Buoy]",i)}function te(i){if(i&&typeof i==="object"&&i.appId)return i.appId;try{const{Platform:s}=require("react-native");const u=require("expo-constants");const a=(u?.default??u)?.expoConfig;const v=s.OS==="android"?a?.android?.package:a?.ios?.bundleIdentifier;if(typeof v==="string"&&v)return v}catch{}try{const s=require("expo-application");const u=(s?.default??s)?.applicationId;if(typeof u==="string"&&u)return u}catch{}return null}export const FloatingDevTools=({apps:i,requiredEnvVars:s,requiredStorageKeys:u,askBuoy:a,children:v,disableHints:oe=false,defaultFloatingTools:ne,defaultDialTools:T,requireLicense:We,licenseKey:A,zustandStores:k,environment:ie,externalSync:R=true,headless:x=false,signIn:q,...w})=>{const se=ie??Se(process.env.NODE_ENV??"dev");const{isLicensed:I}=ze();const{licenseKey:P,isInitialized:B,tier:_,access:c,allowedTools:E}=Fe();const ue=A===void 0||je(A,P);const S=ue&&c.status==="admitted";b(()=>{if(!B||c.status==="initializing")return;void Ie({tier:c.status==="admitted"?_:"locked",enabled:Ee()})},[B,c.status,_]);const h=q?te(q):null;b(()=>{if(!h)return;const e=we.SessionManager;if(!e)return;e.configure({audience:`app:${h}`});void e.load().catch(()=>{})},[h]);b(()=>{de(h??te(true))},[h]);b(()=>{void Ce.configure(A??_e()).catch(()=>{})},[A]);b(()=>{if(S)me()},[S]);b(()=>{if(!k||c.status==="locked")return;try{const{watchStores:e}=require("@buoy-gg/zustand");return e(k)}catch(e){o("@buoy-gg/zustand",e)}},[k,c.status]);const ce=t(()=>{if(T){return Le(T)}return T},[T]);const D=t(()=>{const e=[];if(s&&s.length>0){try{const{createEnvTool:n,createEnvVarConfig:F}=require("@buoy-gg/env");e.push(n({requiredEnvVars:F(s)}))}catch(n){o("@buoy-gg/env",n)}}if(u&&u.length>0){try{const{createStorageTool:n}=require("@buoy-gg/storage");e.push(n({requiredStorageKeys:u}))}catch(n){o("@buoy-gg/storage",n)}}if(a){try{const{createAskBuoyTool:n}=require("@buoy-gg/ask-buoy");e.push(n(a))}catch(n){o("@buoy-gg/ask-buoy",n)}}return e},[s,u,a]);const L=t(()=>{if(!i&&D.length===0)return void 0;return[...i||[],...D]},[i,D]);const g=t(()=>L?qe(L):Re(),[L]);const M=t(()=>g.filter(e=>e.sync),[g]);const le=t(()=>Be(g,E),[g,E]);const H=t(()=>{try{const{DebugBordersStandaloneOverlay:e}=require("@buoy-gg/debug-borders");return e}catch(e){o("@buoy-gg/debug-borders",e);return null}},[]);const N=t(()=>{try{const{HighlightUpdatesOverlay:e}=require("@buoy-gg/highlight-updates");return e}catch(e){o("@buoy-gg/highlight-updates",e);return null}},[]);const V=t(()=>{try{const{ImageOverlayStandalone:e}=require("@buoy-gg/image-overlay");return e}catch(e){o("@buoy-gg/image-overlay",e);return null}},[]);const U=t(()=>{try{const{PerfMonitorOverlay:e}=require("@buoy-gg/perf-monitor");return e}catch(e){o("@buoy-gg/perf-monitor",e);return null}},[]);const J=t(()=>{try{const{JsTopHudOverlay:e}=require("@buoy-gg/js-top");return e}catch(e){o("@buoy-gg/js-top",e);return null}},[]);const y=t(()=>{try{const{RouteTracker:e}=require("@buoy-gg/route-events");return e}catch(e){o("@buoy-gg/route-events",e);return null}},[]);const p=t(()=>{try{const{ReactQueryTracker:e}=require("@buoy-gg/react-query");return e}catch(e){o("@buoy-gg/react-query",e);return null}},[]);const Q=t(()=>{try{const{ImpersonateOverlay:e}=require("@buoy-gg/impersonate");return e}catch(e){o("@buoy-gg/impersonate",e);return null}},[]);const W=t(()=>{try{const{BugLinksOverlay:e}=require("@buoy-gg/bug-links");return e??null}catch(e){o("@buoy-gg/bug-links",e);return null}},[]);const $=t(()=>{try{const{ScenariosOverlay:e}=require("@buoy-gg/scenarios");return e}catch(e){o("@buoy-gg/scenarios",e);return null}},[]);const d=t(()=>{try{const{ReduxAutoInstrument:e}=require("@buoy-gg/redux");return e??null}catch(e){o("@buoy-gg/redux",e);return null}},[]);const m=t(()=>{try{const{ConsoleRoot:e}=require("@buoy-gg/console");return e??null}catch(e){o("@buoy-gg/console",e);return null}},[]);const f=t(()=>{try{const{OtaInspectorRoot:e}=require("@buoy-gg/ota-inspector");return e??null}catch(e){o("@buoy-gg/ota-inspector",e);return null}},[]);const ae=fe(e=>{const n=g.find(F=>F.id===e);if(!n)return null;return ke(n.icon,{slot:"dial",size:20,color:n.color})},[g]);const C=typeof __DEV__!=="undefined"&&__DEV__;if(!C&&!I){return q&&!x?r(Z,{needsPlan:true}):null}const G=Ue({isDevelopment:C,isLicensed:I,externalSync:R,isAvailable:Ne()});const z=j(R);if(!C&&z?.enableInRelease){Je(Ve(z.socketURL,z))}const K=l(O,{children:[r(He,{requiredEnvVars:s,customApps:M}),r(pe,{})]});if(!S){return l(O,{children:[c.status==="initializing"&&l(O,{children:[d&&r(d,{}),m&&r(m,{}),f&&r(f,{}),y&&r(y,{}),p&&r(p,{})]}),!x&&(q?r(Z,{}):r(ye,{}))]})}if(x){return l(O,{children:[d&&r(d,{}),m&&r(m,{}),f&&r(f,{}),y&&r(y,{}),p&&r(p,{}),K,G&&r(ee,{options:j(R),requiredEnvVars:s,isPro:I,tier:_,licenseKey:P,customApps:M})]})}return r(Me,{defaultFloatingTools:ne,defaultDialTools:ce,children:r(Pe,{disableHints:oe,children:r(X,{style:Qe.container,pointerEvents:"box-none",__buoyDevToolsRoot:true,children:l(xe,{children:[V&&r(X,{style:Y.absoluteFill,pointerEvents:"box-none",collapsable:false,children:r(V,{})}),r(be,{children:l(De,{getToolIcon:ae,children:[r(Oe,{...w,apps:le,emptyNote:E?he:void 0,environment:se}),w.hidden?null:l(O,{children:[r(Te,{}),r(ge,{})]}),r(Ae,{}),r(ve,{allowedTools:E??null})]})}),v,H&&r(H,{}),N&&r(N,{}),U&&r(U,{}),J&&r(J,{}),Q&&r(Q,{}),W&&r(W,{}),$&&r($,{}),d&&r(d,{}),m&&r(m,{}),f&&r(f,{}),y&&r(y,{}),p&&r(p,{}),K,G&&r(ee,{options:j(R),requiredEnvVars:s,isPro:I,tier:_,licenseKey:P,customApps:M})]})})})})};const Qe=Y.create({container:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:9999}});
|