@bytetrue/byspace 0.16.2 → 0.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytetrue/client",
3
- "version": "0.16.2",
3
+ "version": "0.16.3",
4
4
  "description": "BySpace client SDK package",
5
5
  "files": [
6
6
  "dist",
@@ -39,8 +39,8 @@
39
39
  "test": "vitest run"
40
40
  },
41
41
  "dependencies": {
42
- "@bytetrue/protocol": "0.16.2",
43
- "@bytetrue/relay": "0.16.2"
42
+ "@bytetrue/protocol": "0.16.3",
43
+ "@bytetrue/relay": "0.16.3"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/node": "^20.9.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytetrue/highlight",
3
- "version": "0.16.2",
3
+ "version": "0.16.3",
4
4
  "files": [
5
5
  "dist",
6
6
  "!dist/**/*.map",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytetrue/protocol",
3
- "version": "0.16.2",
3
+ "version": "0.16.3",
4
4
  "description": "BySpace shared protocol schemas and wire types",
5
5
  "files": [
6
6
  "dist",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytetrue/relay",
3
- "version": "0.16.2",
3
+ "version": "0.16.3",
4
4
  "description": "BySpace relay for bridging daemon and client connections",
5
5
  "files": [
6
6
  "dist",
@@ -1118,7 +1118,7 @@ __d(function(g,r,_i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?
1118
1118
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return N}}),Object.defineProperty(_e,"AppOwnership",{enumerable:!0,get:function(){return l.AppOwnership}}),Object.defineProperty(_e,"ExecutionEnvironment",{enumerable:!0,get:function(){return l.ExecutionEnvironment}}),Object.defineProperty(_e,"UserInterfaceIdiom",{enumerable:!0,get:function(){return l.UserInterfaceIdiom}});var n=e(r(d[0])),t=r(d[1]);r(d[2]);var u=e(r(d[3])),l=r(d[4]),o=e(r(d[5]));o.default||console.warn("No native ExponentConstants module found, are you sure the expo-constants's module is linked properly?");const s=(0,t.requireOptionalNativeModule)('ExpoUpdates');let f=null;if(s){let e;s.manifest?e=s.manifest:s.manifestString&&(e=JSON.parse(s.manifestString)),e&&Object.keys(e).length>0&&(f=e)}let c=null;if(u.default.EXDevLauncher){let e;u.default.EXDevLauncher.manifestString&&(e=JSON.parse(u.default.EXDevLauncher.manifestString)),e&&Object.keys(e).length>0&&(c=e)}let p=null;if(o.default&&o.default.manifest){const e=o.default.manifest;p='string'==typeof e?JSON.parse(e):e}let b=f??c??p;const E=o.default||{},{appOwnership:O}=E,x=(0,n.default)(E,["name","appOwnership"]),v=Object.assign({},x,{appOwnership:O??null});function _(e){return!h(e)}function h(e){return'metadata'in e}function S(e=!1){if(!b){const e=null===b?'null':'undefined';if(x.executionEnvironment,l.ExecutionEnvironment.Bare,x.executionEnvironment===l.ExecutionEnvironment.StoreClient||x.executionEnvironment===l.ExecutionEnvironment.Standalone)throw new t.CodedError('ERR_CONSTANTS_MANIFEST_UNAVAILABLE',`Constants.manifest is ${e}, must be an object.`)}return b}Object.defineProperties(v,{__unsafeNoWarnManifest:{get(){const e=S(!0);return e&&_(e)?e:null},enumerable:!1},__unsafeNoWarnManifest2:{get(){const e=S(!0);return e&&h(e)?e:null},enumerable:!1},manifest:{get(){const e=S();return e&&_(e)?e:null},enumerable:!0},manifest2:{get(){const e=S();return e&&h(e)?e:null},enumerable:!0},expoConfig:{get(){const e=S(!0);return e?s&&s.isEmbeddedLaunch?p:h(e)?e.extra?.expoClient??null:_(e)?e:null:null},enumerable:!0},expoGoConfig:{get(){const e=S(!0);return e?h(e)?e.extra?.expoGo??null:_(e)?e:null:null},enumerable:!0},easConfig:{get(){const e=S(!0);return e?h(e)?e.extra?.eas??null:_(e)?e:null:null},enumerable:!0},__rawManifest_TEST:{get:()=>b,set(e){b=e},enumerable:!1}});var N=v},1021,[35,4,25,1022,1023,1024]);
1119
1119
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return u}});var e,t=r(d[0]),u={UIManager:((e=t)&&e.__esModule?e:{default:e}).default}},1022,[159]);
1120
1120
  __d(function(g,r,i,a,m,e,d){"use strict";var t,n,o;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AppOwnership",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"ExecutionEnvironment",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"UserInterfaceIdiom",{enumerable:!0,get:function(){return o}}),(function(t){t.Expo="expo"})(t||(t={})),(function(t){t.Bare="bare",t.Standalone="standalone",t.StoreClient="storeClient"})(n||(n={})),(function(t){t.Handset="handset",t.Tablet="tablet",t.Desktop="desktop",t.TV="tv",t.Unsupported="unsupported"})(o||(o={}))},1023,[]);
1121
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var n=r(d[0]);const t=(Date.now()+'-'+Math.floor(1e9*Math.random())).toString();function o(){if('undefined'!=typeof navigator&&'string'==typeof navigator.userAgent){const n=navigator.userAgent.toLowerCase();if(n.includes('edge'))return'Edge';if(n.includes('edg'))return'Chromium Edge';if(n.includes('opr')&&'opr'in window&&window.opr)return'Opera';if(n.includes('chrome')&&'chrome'in window&&window.chrome)return'Chrome';if(n.includes('trident'))return'IE';if(n.includes('firefox'))return'Firefox';if(n.includes('safari'))return'Safari'}}var s={get appOwnership(){return null},get executionEnvironment(){return n.ExecutionEnvironment.Bare},get sessionId(){return t},get isHeadless(){return'undefined'==typeof navigator||/\bHeadlessChrome\//.test(navigator.userAgent)},get expoVersion(){return this.manifest.sdkVersion||null},get linkingUri(){return'undefined'!=typeof location?location.origin:''},get expoRuntimeVersion(){return this.expoVersion},get deviceName(){return o()},get systemFonts(){return[]},get statusBarHeight(){return 0},get deviceYearClass(){return null},get manifest(){return"{\"name\":\"BySpace\",\"slug\":\"byspace\",\"version\":\"0.16.2\",\"orientation\":\"portrait\",\"icon\":\"./assets/images/icon.png\",\"scheme\":\"byspace\",\"userInterfaceStyle\":\"automatic\",\"newArchEnabled\":true,\"web\":{\"output\":\"single\",\"favicon\":\"./assets/images/favicon.png\",\"shortName\":\"BySpace\",\"orientation\":\"portrait\",\"name\":\"BySpace\"},\"autolinking\":{\"searchPaths\":[\"../../node_modules\",\"./node_modules\"]},\"experiments\":{\"typedRoutes\":true,\"reactCompiler\":true,\"autolinkingModuleResolution\":true},\"extra\":{\"router\":{}},\"sdkVersion\":\"54.0.0\",\"platforms\":[\"ios\",\"android\",\"web\"]}"},get manifest2(){return null},get experienceUrl(){return'undefined'!=typeof location?location.origin:''},get debugMode(){return!1},getWebViewUserAgentAsync:async()=>'undefined'!=typeof navigator?navigator.userAgent:null}},1024,[1023]);
1121
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var n=r(d[0]);const t=(Date.now()+'-'+Math.floor(1e9*Math.random())).toString();function o(){if('undefined'!=typeof navigator&&'string'==typeof navigator.userAgent){const n=navigator.userAgent.toLowerCase();if(n.includes('edge'))return'Edge';if(n.includes('edg'))return'Chromium Edge';if(n.includes('opr')&&'opr'in window&&window.opr)return'Opera';if(n.includes('chrome')&&'chrome'in window&&window.chrome)return'Chrome';if(n.includes('trident'))return'IE';if(n.includes('firefox'))return'Firefox';if(n.includes('safari'))return'Safari'}}var s={get appOwnership(){return null},get executionEnvironment(){return n.ExecutionEnvironment.Bare},get sessionId(){return t},get isHeadless(){return'undefined'==typeof navigator||/\bHeadlessChrome\//.test(navigator.userAgent)},get expoVersion(){return this.manifest.sdkVersion||null},get linkingUri(){return'undefined'!=typeof location?location.origin:''},get expoRuntimeVersion(){return this.expoVersion},get deviceName(){return o()},get systemFonts(){return[]},get statusBarHeight(){return 0},get deviceYearClass(){return null},get manifest(){return"{\"name\":\"BySpace\",\"slug\":\"byspace\",\"version\":\"0.16.3\",\"orientation\":\"portrait\",\"icon\":\"./assets/images/icon.png\",\"scheme\":\"byspace\",\"userInterfaceStyle\":\"automatic\",\"newArchEnabled\":true,\"web\":{\"output\":\"single\",\"favicon\":\"./assets/images/favicon.png\",\"shortName\":\"BySpace\",\"orientation\":\"portrait\",\"name\":\"BySpace\"},\"autolinking\":{\"searchPaths\":[\"../../node_modules\",\"./node_modules\"]},\"experiments\":{\"typedRoutes\":true,\"reactCompiler\":true,\"autolinkingModuleResolution\":true},\"extra\":{\"router\":{}},\"sdkVersion\":\"54.0.0\",\"platforms\":[\"ios\",\"android\",\"web\"]}"},get manifest2(){return null},get experienceUrl(){return'undefined'!=typeof location?location.origin:''},get debugMode(){return!1},getWebViewUserAgentAsync:async()=>'undefined'!=typeof navigator?navigator.userAgent:null}},1024,[1023]);
1122
1122
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return u}});var e,t=r(d[0]),n=r(d[1]),o=(e=n)&&e.__esModule?e:{default:e};async function u(){if(!o.default.unregisterForNotificationsAsync)throw new t.UnavailabilityError('ExpoNotifications','unregisterForNotificationsAsync');return o.default.unregisterForNotificationsAsync()}},1025,[4,1026]);
1123
1123
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return n}}),r(d[0]);let t=!1;var n={addListener:()=>(t||(console.warn("[expo-notifications] Listening to push token changes is not yet fully supported on web. Adding a listener will have no effect."),t=!0),{remove:()=>{}}),removeListener:()=>{},removeAllListeners:()=>{},emit:()=>{},listenerCount:()=>0}},1026,[4]);
1124
1124
  __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"default",{enumerable:!0,get:function(){return u}});var t=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t.default=e,t})(r(_d[0])),o=e(r(_d[1])),n=r(_d[2]),c=r(_d[3]),s=e(r(_d[4])),d=e(r(_d[5]));const p='https://exp.host/--/api/v2/';async function u(e={}){const s=e.devicePushToken||await(0,d.default)(),u=e.deviceId||await h(),R=e.projectId||o.default.easConfig?.projectId||o.default.expoConfig?.extra?.eas?.projectId;if(!R)throw new n.CodedError('ERR_NOTIFICATIONS_NO_EXPERIENCE_ID',"No \"projectId\" found. If \"projectId\" can't be inferred from the manifest (for instance, in bare workflow), you have to pass it in yourself.");const w=e.applicationId||t.applicationId;if(!w)throw new n.CodedError('ERR_NOTIFICATIONS_NO_APPLICATION_ID',"No \"applicationId\" found. If it can't be inferred from native configuration by expo-application, you have to pass it in yourself.");const O=e.type||y(s),_=e.development||await I(),v=e.baseUrl??p,N=e.url??`${v}push/getExpoPushToken`,x={type:O,deviceId:u.toLowerCase(),development:_,appId:w,deviceToken:E(s),projectId:R},T=await fetch(N,{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify(x)}).catch(e=>{throw new n.CodedError('ERR_NOTIFICATIONS_NETWORK_ERROR',`Error encountered while fetching Expo token: ${e}.`)});if(!T.ok){const e=T.statusText||T.status;let t;try{t=await T.text()}catch{}throw new n.CodedError('ERR_NOTIFICATIONS_SERVER_ERROR',`Error encountered while fetching Expo token, expected an OK response, received: ${e} (body: "${t}").`)}const b=l(await f(T));try{e.url||e.baseUrl?console.debug("[expo-notifications] Since the URL endpoint to register in has been customized in the options, expo-notifications won't try to auto-update the device push token on the server."):await(0,c.setAutoServerRegistrationEnabledAsync)(!0)}catch(e){console.warn('[expo-notifications] Could not enable automatically registering new device tokens with the Expo notification service',e)}return{type:'expo',data:b}}async function f(e){try{return await e.json()}catch{try{throw new n.CodedError('ERR_NOTIFICATIONS_SERVER_ERROR',`Expected a JSON response from server when fetching Expo token, received body: ${JSON.stringify(await e.text())}.`)}catch{throw new n.CodedError('ERR_NOTIFICATIONS_SERVER_ERROR',`Expected a JSON response from server when fetching Expo token, received response: ${JSON.stringify(e)}.`)}}}function l(e){if(!e||'object'!=typeof e||!e.data||'object'!=typeof e.data||!e.data.expoPushToken||'string'!=typeof e.data.expoPushToken)throw new n.CodedError('ERR_NOTIFICATIONS_SERVER_ERROR',`Malformed response from server, expected "{ data: { expoPushToken: string } }", received: ${JSON.stringify(e,null,2)}.`);return e.data.expoPushToken}async function h(){try{if(!s.default.getInstallationIdAsync)throw new n.UnavailabilityError('ExpoServerRegistrationModule','getInstallationIdAsync');return await s.default.getInstallationIdAsync()}catch(e){throw new n.CodedError('ERR_NOTIF_DEVICE_ID',`Could not have fetched installation ID of the application: ${e}.`)}}function E(e){return'string'==typeof e.data?e.data:JSON.stringify(e.data)}async function I(){return!1}function y(e){switch(e.type){case'ios':return'apns';case'android':return'fcm';default:return e.type}}},1027,[1028,1021,4,1031,1035,1020]);
@@ -15180,7 +15180,7 @@ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{v
15180
15180
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"decodeOfferFragmentPayload",{enumerable:!0,get:function(){return n.decodeOfferFragmentPayload}}),Object.defineProperty(e,"buildDaemonWebSocketUrl",{enumerable:!0,get:function(){return t.buildDaemonWebSocketUrl}}),Object.defineProperty(e,"deriveLabelFromEndpoint",{enumerable:!0,get:function(){return t.deriveLabelFromEndpoint}}),Object.defineProperty(e,"extractHostPortFromWebSocketUrl",{enumerable:!0,get:function(){return t.extractHostPortFromWebSocketUrl}}),Object.defineProperty(e,"normalizeHostPort",{enumerable:!0,get:function(){return t.normalizeHostPort}}),Object.defineProperty(e,"parseConnectionUri",{enumerable:!0,get:function(){return t.parseConnectionUri}}),Object.defineProperty(e,"parseHostPort",{enumerable:!0,get:function(){return t.parseHostPort}}),Object.defineProperty(e,"serializeConnectionUri",{enumerable:!0,get:function(){return t.serializeConnectionUri}}),Object.defineProperty(e,"serializeConnectionUriForStorage",{enumerable:!0,get:function(){return t.serializeConnectionUriForStorage}}),Object.defineProperty(e,"shouldUseTlsForDefaultHostedRelay",{enumerable:!0,get:function(){return t.shouldUseTlsForDefaultHostedRelay}}),e.buildRelayWebSocketUrl=function(n){return(0,t.buildRelayWebSocketUrl)(Object.assign({},n,{role:"client"}))};var t=r(d[0]),n=r(d[1])},3535,[3510,3536]);
15181
15181
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ConnectionOfferV2Schema",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"ConnectionOfferSchema",{enumerable:!0,get:function(){return o}}),e.decodeOfferFragmentPayload=l,e.parseConnectionOfferFromUrl=function(n){const t=f(n);if(!t)return null;const c=l(t);return o.parse(c)};var n=r(d[0]);const t=n.z.object({v:n.z.literal(2),serverId:n.z.string().min(1),daemonPublicKeyB64:n.z.string().min(1),relay:n.z.object({endpoint:n.z.string().min(1),useTls:n.z.boolean().optional()}),hostname:n.z.string().min(1).optional()}),o=t;function c(n){const t=n.replace(/-/g,"+").replace(/_/g,"/"),o=t.padEnd(t.length+(4-t.length%4)%4,"="),c=globalThis.atob(o),l=Uint8Array.from(c,n=>n.charCodeAt(0));return new TextDecoder("utf-8",{fatal:!0}).decode(l)}function l(n){const t=c(n);return JSON.parse(t)}const u="#offer=";function f(n){const t=n.trim();if(!t)return null;const o=t.indexOf(u);if(-1===o)return null;const c=t.slice(o+u.length).trim();return c.length>0?c:null}},3536,[1597]);
15182
15182
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.resolveAppVersion=function(){const e=u(t.default?.version);if(e)return e;const o=u(n.default.expoConfig?.version);if(o)return o;const f=u(n.default.manifest?.version);if(f)return f;return null};var n=e(r(d[0])),t=e(r(d[1]));function u(e){if("string"!=typeof e)return null;const n=e.trim();return 0===n.length?null:n}},3537,[1021,3538]);
15183
- __d(function(e,t,r,a,i,o,n){i.exports={name:"@bytetrue/app",version:"0.16.2",private:!0,main:"index.ts",scripts:{start:"npm run start:expo","start:expo":"cross-env APP_VARIANT=development expo start",web:"npm --prefix ../.. run build:client && concurrently --kill-others --names protocol,client,expo --prefix-colors yellow,blue,magenta \"npm --prefix ../.. run watch:protocol\" \"npm --prefix ../.. run watch:client\" \"npm run web:expo\"","web:expo":"expo start --web",lint:"expo lint",typecheck:"tsgo --noEmit",test:"vitest run","test:browser":"vitest run --project browser","test:e2e":"playwright test --project=browser","test:e2e:diff-performance":"cross-env BYSPACE_DIFF_PERF_E2E=1 playwright test --project=browser e2e/browser/diff-performance.spec.ts","test:e2e:stream-smoothness":"cross-env BYSPACE_AGENT_STREAM_PERF_E2E=1 playwright test --project=browser e2e/browser/agent-stream-smoothness.spec.ts","test:e2e:real":"cross-env E2E_FORK_BYSPACE_HOME_FROM=../../.dev/byspace-home playwright test --project=real-provider","test:e2e:relay-deployment":"npm --prefix ../.. run build:server && npm --prefix ../.. run build:daemon-web-ui && cross-env E2E_FORK_BYSPACE_HOME_FROM=../../.dev/byspace-home playwright test --project=relay-deployment e2e/browser/relay-deployment-reconnect.real.spec.ts","test:e2e:ui":"playwright test --ui",build:"npm run build:web","build:web":"npm --prefix ../.. run build:app-deps && npm --prefix ../.. run build:config-schema && expo export --platform web","profile:composer-typing":"node ./scripts/profile-composer-typing.mjs","profile:explorer-toggle":"node ./scripts/profile-explorer-toggle.mjs","profile:side-pane":"playwright test --config playwright.profile.config.ts side-pane-performance.spec.ts","profile:workspace-switching":"node ./scripts/profile-workspace-switching.mjs","profile:workspace-tabs":"node ./scripts/profile-workspace-tabs.mjs","deploy:web":"npm run build:web && wrangler pages deploy dist --project-name byspace --branch main","deploy:web:beta":"npm run build:web && wrangler pages deploy dist --project-name byspace-beta --branch main","build:terminal-webview":"node ./scripts/build-terminal-webview-html.mjs","build:mermaid-runtime":"node ./src/components/markdown/fence/mermaid/build-runtime.mjs"},dependencies:{"@bytetrue/client":"*","@bytetrue/highlight":"*","@bytetrue/protocol":"*","@codemirror/commands":"6.10.4","@codemirror/language":"6.12.4","@codemirror/search":"6.7.1","@codemirror/state":"6.7.1","@codemirror/view":"6.43.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@floating-ui/react-native":"^0.10.7","@gorhom/bottom-sheet":"^5.2.14","@gorhom/portal":"^1.0.14","@marijn/find-cluster-break":"^1.0.2","@react-native-async-storage/async-storage":"2.2.0","@react-native-masked-view/masked-view":"^0.3.2","@react-native/normalize-colors":"^0.81.6","@react-navigation/native":"^7.1.8","@replit/codemirror-vim":"6.3.0","@tanstack/react-query":"^5.90.11","@tanstack/react-virtual":"^3.13.21","@xterm/addon-clipboard":"^0.3.0-beta.213","@xterm/addon-fit":"^0.12.0-beta.213","@xterm/addon-image":"^0.10.0-beta.213","@xterm/addon-ligatures":"^0.11.0-beta.213","@xterm/addon-search":"^0.17.0-beta.213","@xterm/addon-unicode11":"^0.10.0-beta.213","@xterm/addon-web-links":"^0.13.0-beta.213","@xterm/addon-webgl":"^0.20.0-beta.212","@xterm/xterm":"^6.1.0-beta.213",buffer:"^6.0.3",expo:"^54.0.18","expo-asset":"~12.0.12","expo-camera":"~17.0.10","expo-clipboard":"~8.0.7","expo-constants":"~18.0.9","expo-crypto":"^15.0.8","expo-document-picker":"~14.0.8","expo-file-system":"~19.0.17","expo-haptics":"~15.0.7","expo-image-picker":"^17.0.8","expo-keep-awake":"^15.0.8","expo-linking":"~8.0.8","expo-localization":"~17.0.9","expo-notifications":"^0.32.16","expo-router":"~6.0.13","expo-sharing":"^14.0.8","fast-deep-equal":"^3.1.3",htmlparser2:"^12.0.0",i18next:"^26.3.0","lucide-react-native":"^0.546.0","markdown-it":"^10.0.0",mermaid:"^11.16.0","mnemonic-id":"^3.2.7",qrcode:"^1.5.4",react:"19.1.0","react-dom":"19.1.0","react-i18next":"^17.0.8","react-native":"0.81.5","react-native-draggable-flatlist":"^4.0.3","react-native-edge-to-edge":"^1.7.0","react-native-gesture-handler":"~2.28.0","react-native-keyboard-controller":"1.21.12","react-native-markdown-display":"^7.0.2","react-native-nitro-modules":"0.35.5","react-native-reanimated":"~4.3.1","react-native-safe-area-context":"~5.6.0","react-native-screens":"~4.16.0","react-native-svg":"^15.14.0","react-native-unistyles":"^3.2.4","react-native-web":"~0.21.0","react-native-webview":"^13.16.0","react-native-worklets":"~0.8.3","tiny-invariant":"^1.3.3",turndown:"^7.2.4","turndown-plugin-gfm":"^1.0.2","use-sync-external-store":"^1.6.0",yaml:"^2.8.4",zod:"^4.4.3",zustand:"^5.0.9"},devDependencies:{"@playwright/test":"^1.56.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@types/jsdom":"^30.0.0","@types/markdown-it":"^14.1.2","@types/node":"~22.19.0","@types/qrcode":"^1.5.6","@types/react":"~19.2.0","@types/react-dom":"~19.2.0","@types/turndown":"^5.0.6","@types/ws":"^8.18.1","@vitest/browser":"^4.1.7","@vitest/browser-playwright":"^4.1.7","@xterm/headless":"^6.1.0-beta.213",dotenv:"^17.2.3","eas-cli":"^16.24.1",esbuild:"0.28.1",eslint:"^9.25.0","eslint-config-expo":"~10.0.0","fake-indexeddb":"^6.2.5",jsdom:"^20.0.3","material-icon-theme":"^5.32.0",playwright:"^1.56.1","serve-sim":"^0.1.40",typescript:"~5.9.2",vitest:"^4.1.6",wrangler:"^4.105.0",ws:"^8.20.0"},reanimated:{staticFeatureFlags:{FORCE_REACT_RENDER_FOR_SETTLED_ANIMATIONS:!1}}}},3538,[]);
15183
+ __d(function(e,t,r,a,i,o,n){i.exports={name:"@bytetrue/app",version:"0.16.3",private:!0,main:"index.ts",scripts:{start:"npm run start:expo","start:expo":"cross-env APP_VARIANT=development expo start",web:"npm --prefix ../.. run build:client && concurrently --kill-others --names protocol,client,expo --prefix-colors yellow,blue,magenta \"npm --prefix ../.. run watch:protocol\" \"npm --prefix ../.. run watch:client\" \"npm run web:expo\"","web:expo":"expo start --web",lint:"expo lint",typecheck:"tsgo --noEmit",test:"vitest run","test:browser":"vitest run --project browser","test:e2e":"playwright test --project=browser","test:e2e:diff-performance":"cross-env BYSPACE_DIFF_PERF_E2E=1 playwright test --project=browser e2e/browser/diff-performance.spec.ts","test:e2e:stream-smoothness":"cross-env BYSPACE_AGENT_STREAM_PERF_E2E=1 playwright test --project=browser e2e/browser/agent-stream-smoothness.spec.ts","test:e2e:real":"cross-env E2E_FORK_BYSPACE_HOME_FROM=../../.dev/byspace-home playwright test --project=real-provider","test:e2e:relay-deployment":"npm --prefix ../.. run build:server && npm --prefix ../.. run build:daemon-web-ui && cross-env E2E_FORK_BYSPACE_HOME_FROM=../../.dev/byspace-home playwright test --project=relay-deployment e2e/browser/relay-deployment-reconnect.real.spec.ts","test:e2e:ui":"playwright test --ui",build:"npm run build:web","build:web":"npm --prefix ../.. run build:app-deps && npm --prefix ../.. run build:config-schema && expo export --platform web","profile:composer-typing":"node ./scripts/profile-composer-typing.mjs","profile:explorer-toggle":"node ./scripts/profile-explorer-toggle.mjs","profile:side-pane":"playwright test --config playwright.profile.config.ts side-pane-performance.spec.ts","profile:workspace-switching":"node ./scripts/profile-workspace-switching.mjs","profile:workspace-tabs":"node ./scripts/profile-workspace-tabs.mjs","deploy:web":"npm run build:web && wrangler pages deploy dist --project-name byspace --branch main","deploy:web:beta":"npm run build:web && wrangler pages deploy dist --project-name byspace-beta --branch main","build:terminal-webview":"node ./scripts/build-terminal-webview-html.mjs","build:mermaid-runtime":"node ./src/components/markdown/fence/mermaid/build-runtime.mjs"},dependencies:{"@bytetrue/client":"*","@bytetrue/highlight":"*","@bytetrue/protocol":"*","@codemirror/commands":"6.10.4","@codemirror/language":"6.12.4","@codemirror/search":"6.7.1","@codemirror/state":"6.7.1","@codemirror/view":"6.43.6","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@floating-ui/react-native":"^0.10.7","@gorhom/bottom-sheet":"^5.2.14","@gorhom/portal":"^1.0.14","@marijn/find-cluster-break":"^1.0.2","@react-native-async-storage/async-storage":"2.2.0","@react-native-masked-view/masked-view":"^0.3.2","@react-native/normalize-colors":"^0.81.6","@react-navigation/native":"^7.1.8","@replit/codemirror-vim":"6.3.0","@tanstack/react-query":"^5.90.11","@tanstack/react-virtual":"^3.13.21","@xterm/addon-clipboard":"^0.3.0-beta.213","@xterm/addon-fit":"^0.12.0-beta.213","@xterm/addon-image":"^0.10.0-beta.213","@xterm/addon-ligatures":"^0.11.0-beta.213","@xterm/addon-search":"^0.17.0-beta.213","@xterm/addon-unicode11":"^0.10.0-beta.213","@xterm/addon-web-links":"^0.13.0-beta.213","@xterm/addon-webgl":"^0.20.0-beta.212","@xterm/xterm":"^6.1.0-beta.213",buffer:"^6.0.3",expo:"^54.0.18","expo-asset":"~12.0.12","expo-camera":"~17.0.10","expo-clipboard":"~8.0.7","expo-constants":"~18.0.9","expo-crypto":"^15.0.8","expo-document-picker":"~14.0.8","expo-file-system":"~19.0.17","expo-haptics":"~15.0.7","expo-image-picker":"^17.0.8","expo-keep-awake":"^15.0.8","expo-linking":"~8.0.8","expo-localization":"~17.0.9","expo-notifications":"^0.32.16","expo-router":"~6.0.13","expo-sharing":"^14.0.8","fast-deep-equal":"^3.1.3",htmlparser2:"^12.0.0",i18next:"^26.3.0","lucide-react-native":"^0.546.0","markdown-it":"^10.0.0",mermaid:"^11.16.0","mnemonic-id":"^3.2.7",qrcode:"^1.5.4",react:"19.1.0","react-dom":"19.1.0","react-i18next":"^17.0.8","react-native":"0.81.5","react-native-draggable-flatlist":"^4.0.3","react-native-edge-to-edge":"^1.7.0","react-native-gesture-handler":"~2.28.0","react-native-keyboard-controller":"1.21.12","react-native-markdown-display":"^7.0.2","react-native-nitro-modules":"0.35.5","react-native-reanimated":"~4.3.1","react-native-safe-area-context":"~5.6.0","react-native-screens":"~4.16.0","react-native-svg":"^15.14.0","react-native-unistyles":"^3.2.4","react-native-web":"~0.21.0","react-native-webview":"^13.16.0","react-native-worklets":"~0.8.3","tiny-invariant":"^1.3.3",turndown:"^7.2.4","turndown-plugin-gfm":"^1.0.2","use-sync-external-store":"^1.6.0",yaml:"^2.8.4",zod:"^4.4.3",zustand:"^5.0.9"},devDependencies:{"@playwright/test":"^1.56.1","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@types/jsdom":"^30.0.0","@types/markdown-it":"^14.1.2","@types/node":"~22.19.0","@types/qrcode":"^1.5.6","@types/react":"~19.2.0","@types/react-dom":"~19.2.0","@types/turndown":"^5.0.6","@types/ws":"^8.18.1","@vitest/browser":"^4.1.7","@vitest/browser-playwright":"^4.1.7","@xterm/headless":"^6.1.0-beta.213",dotenv:"^17.2.3","eas-cli":"^16.24.1",esbuild:"0.28.1",eslint:"^9.25.0","eslint-config-expo":"~10.0.0","fake-indexeddb":"^6.2.5",jsdom:"^20.0.3","material-icon-theme":"^5.32.0",playwright:"^1.56.1","serve-sim":"^0.1.40",typescript:"~5.9.2",vitest:"^4.1.6",wrangler:"^4.105.0",ws:"^8.20.0"},reanimated:{staticFeatureFlags:{FORCE_REACT_RENDER_FOR_SETTLED_ANIMATIONS:!1}}}},3538,[]);
15184
15184
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.assertDirectTcpConnectionAllowed=w,Object.defineProperty(e,"DaemonConnectionTestError",{enumerable:!0,get:function(){return h}}),e.buildClientConfig=y,e.connectAndProbe=C,e.connectToDaemon=async function(t,o,n=l){return C(await y(t,o?.serverId,o,n),E(t,o),n)};var t=r(d[0]),o=r(d[1]),n=r(d[2]),s=r(d[3]),c=r(d[4]);const l={getClientId:n.getOrCreateClientId,resolveAppVersion:s.resolveAppVersion,createClient:o=>new t.DaemonClient(o)};function u(t){if("string"!=typeof t)return null;const o=t.trim();return o.length>0?o:null}function p(t,o){const n=t&&("transport error"===t.toLowerCase()||"transport closed"===t.toLowerCase()),s=o&&("transport error"===o.toLowerCase()||"transport closed"===o.toLowerCase()||"unable to connect"===o.toLowerCase());return n&&o&&!s?o:t||(o||"Unable to connect")}function f(){return o.isWeb&&"undefined"!=typeof window?{isWeb:!0,protocol:window.location.protocol}:{isWeb:!1,protocol:null}}function w(t,o=f()){if("directTcp"!==t.type||!o.isWeb||"https:"!==o.protocol||t.useTls)return;let n;try{n=(0,c.parseHostPort)(t.endpoint).host.toLowerCase()}catch{return}if("localhost"!==n&&!n.endsWith(".localhost")&&"127.0.0.1"!==n&&"::1"!==n)throw new Error("Insecure direct connections are unavailable from hosted HTTPS pages. Enable SSL or the relay.")}function b(t){if(!t.config.password)return!1;const o=[t.reason,t.lastError].filter(Boolean).join("\n").toLowerCase();return o.includes("401")||o.includes("4001")||o.includes("unauthorized")||o.includes("code 1006")}class h extends Error{constructor(t,o){super(t),this.name="DaemonConnectionTestError",this.reason=o.reason,this.lastError=o.lastError}}async function y(t,o,n,s=l){w(t,n?.browserContext);const u=await s.getClientId(),p=Object.assign({clientId:u,clientType:"mobile",appVersion:s.resolveAppVersion()??void 0,suppressSendErrors:!0,reconnect:{enabled:!1}},n?.capabilities?{capabilities:n.capabilities}:{},n?.trace?{trace:n.trace}:{});if("directSocket"===t.type||"directPipe"===t.type)throw new Error("Socket/pipe daemon transports were desktop-only and are retired (issue 025 A3).");if("remoteSsh"===t.type)throw new Error("Remote SSH access is retired (issue 025 A5).");if("directTcp"===t.type)return Object.assign({},p,{url:(0,c.buildDaemonWebSocketUrl)(t.endpoint,{useTls:t.useTls??!1})},t.password?{password:t.password}:{});if(!o)throw new Error("serverId is required to probe a relay connection");return Object.assign({},p,{url:(0,c.buildRelayWebSocketUrl)({endpoint:t.relayEndpoint,useTls:t.useTls??(0,c.shouldUseTlsForDefaultHostedRelay)(t.relayEndpoint),serverId:o}),e2ee:{enabled:!0,daemonPublicKeyB64:t.daemonPublicKeyB64}})}function C(t,o,n=l){const s=n.createClient(t);return new Promise((n,c)=>{const l=setTimeout(()=>{s.close().catch(()=>{}),c(new h("Connection timed out",{reason:"Connection timed out",lastError:s.lastError??null}))},o);s.connect().then(()=>{clearTimeout(l);const t=s.getLastServerInfoMessage();if(!t)return s.close().catch(()=>{}),void c(new h("Missing server info message",{reason:"Missing server info message",lastError:s.lastError??null}));n({client:s,serverId:t.serverId,hostname:t.hostname})}).catch(o=>{clearTimeout(l);const n=u(o instanceof Error?o.message:String(o)),f=u(s.lastError),w=b({config:t,reason:n,lastError:f})?"Incorrect password":p(n,f);s.close().catch(()=>{}),c(new h(w,{reason:n,lastError:f}))})})}function E(t,o){return o?.timeoutMs?o.timeoutMs:"relay"===t.type?1e4:"remoteSsh"===t.type?18e4:6e3}},3539,[3487,3391,3540,3537,3535]);
15185
15185
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.createClientIdResolver=s,_e.getOrCreateClientId=async function(){return f.getOrCreate()};var t,e=r(d[0]),n=(t=e)&&t.__esModule?t:{default:t},o=r(d[1]),u=r(d[2]);const c="@byspace:client-id-v1",l=o.z.string().trim().min(1);function s(t){const e=t.storageKey??c;let n=null,o=null;return{async getOrCreate(){if(n)return n;if(o)return o;o=(async()=>{const o=await(0,u.readValidatedString)(t.storage,e,l);if(o)return n=o,o;const c=`cid_${t.generateUuid()}`;return await t.storage.setItem(e,c),n=c,c})();try{return await o}finally{o=null}}}}const f=s({storage:n.default,generateUuid:function(){const t=globalThis.crypto;return t&&"function"==typeof t.randomUUID?t.randomUUID().replace(/-/g,""):`${Date.now().toString(36)}${Math.random().toString(36).slice(2)}`}})},3540,[1587,1597,1678]);
15186
15186
  __d(function(g,r,i,a,m,e,d){"use strict";function n(n){const t=n.probeByConnectionId.get(n.connectionId);return"available"===t?.status?t.latencyMs:null}Object.defineProperty(e,'__esModule',{value:!0}),e.selectBestConnection=function(t){const{candidates:o,probeByConnectionId:c}=t;if(0===o.length)return null;let l=null,u=null;for(const t of o){const o=n({connectionId:t.connectionId,probeByConnectionId:c});null!==o&&((null===u||o<u)&&(l=t.connectionId,u=o))}return l}},3541,[]);
@@ -15400,7 +15400,7 @@ __d(function(g,r,i,_a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{
15400
15400
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useHostChooser=function(){const e=(0,l.c)(4),t=(0,_.useHosts)(),o=(0,S.useLocalDaemonServerId)(),n=z(W);let s;e[0]!==t||e[1]!==o||e[2]!==n?(s=e=>{const s=(0,C.orderHostsLocalFirst)(t,o).filter(e.filter??V);return 0===s.length?((e.onNoHosts??D)(),!1):1===s.length?(e.onChooseHost(s[0].serverId),!0):(n({title:e.title??"Choose host",serverIds:s.map(M),onChooseHost:e.onChooseHost}),!0)},e[0]=t,e[1]=o,e[2]=n,e[3]=s):s=e[3];return s},_e.HostChooserModal=function(){const e=(0,l.c)(60),{theme:u}=(0,v.useUnistyles)(),p=(0,_.useHosts)(),b=z(P),y=z(E),w=(0,c.useRef)(null),[S,C]=(0,c.useState)(""),[j,T]=(0,c.useState)(0),M=(0,I.useGlobalWebOverlayLayer)("modal",x.isWeb&&null!=b);let D;e:{if(!b){let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],e[0]=t):t=e[0],D=t;break e}let t;if(e[1]!==p||e[2]!==b.serverIds){const o=new Map(p.map(L));t=b.serverIds.flatMap(e=>{const t=o.get(e);return t?[t]:[]}),e[1]=p,e[2]=b.serverIds,e[3]=t}else t=e[3];D=t}const V=D;let W;if(e[4]!==S||e[5]!==V){let t;e[7]!==S?(t=e=>k(e,S),e[7]=S,e[8]=t):t=e[8],W=V.filter(t),e[4]=S,e[5]=V,e[6]=W}else W=e[6];const A=W,q=0===A.length?0:Math.min(j,A.length-1);let U,B,F;e[9]!==b?(U=()=>{if(!b)return;w.current?.replaceText(""),C(""),T(0);const e=setTimeout(()=>w.current?.focus(),0);return()=>clearTimeout(e)},B=[b],e[9]=b,e[10]=U,e[11]=B):(U=e[10],B=e[11]);(0,c.useEffect)(U,B),e[12]===Symbol.for("react.memo_cache_sentinel")?(F=e=>{C(e),T(0)},e[12]=F):F=e[12];const N=F;let G;e[13]!==y||e[14]!==b?(G=e=>{const t=b;y(),t&&t.onChooseHost(e)},e[13]=y,e[14]=b,e[15]=G):G=e[15];const K=G;let $;e[16]!==q||e[17]!==K||e[18]!==y||e[19]!==A?($=e=>{if("ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"Enter"!==e.key&&"Escape"!==e.key)return!1;if("Escape"===e.key)return e.preventDefault(),y(),!0;if("Enter"===e.key){const t=A[q];return!!t&&(e.preventDefault(),K(t.serverId),!0)}if(0===A.length)return!1;e.preventDefault();const t="ArrowDown"===e.key?q+1:q-1;return t<0?(T(A.length-1),!0):t>=A.length?(T(0),!0):(T(t),!0)},e[16]=q,e[17]=K,e[18]=y,e[19]=A,e[20]=$):$=e[20];const J=$,Q=x.isWeb&&null!=b;let X;e[21]!==J||e[22]!==M||e[23]!==Q?(X={active:Q,layer:M,onKeyDown:J},e[21]=J,e[22]=M,e[23]=Q,e[24]=X):X=e[24];const Y=(0,I.useWebOverlayRegistration)(X);if(!b)return null;let Z,ee,te,oe,re,ne,se,le,ie,ce;e[25]!==y?(Z=(0,H.jsx)(s.Pressable,{style:R.backdrop,onPress:y}),e[25]=y,e[26]=Z):Z=e[26];e[27]!==b.title?(ee=(0,H.jsx)(o.Text,{style:R.title,children:b.title}),e[27]=b.title,e[28]=ee):ee=e[28];e[29]!==S||e[30]!==u.colors.foregroundMuted?(te=(0,H.jsx)(h.EditingTextInput,{ref:w,initialValue:S,onChangeText:N,placeholder:"Search hosts...",placeholderTextColor:u.colors.foregroundMuted,style:R.input,autoCapitalize:"none",autoCorrect:!1,testID:"host-chooser-search"}),e[29]=S,e[30]=u.colors.foregroundMuted,e[31]=te):te=e[31];e[32]!==ee||e[33]!==te?(oe=(0,H.jsxs)(t.View,{style:R.header,children:[ee,te]}),e[32]=ee,e[33]=te,e[34]=oe):oe=e[34];e[35]!==A.length?(re=0===A.length?(0,H.jsx)(o.Text,{style:R.emptyText,children:"No matching hosts"}):null,e[35]=A.length,e[36]=re):re=e[36];if(e[37]!==q||e[38]!==K||e[39]!==A){let t;e[41]!==q||e[42]!==K?(t=(e,t)=>(0,H.jsx)(O,{host:e,active:t===q,onChooseHost:K},e.serverId),e[41]=q,e[42]=K,e[43]=t):t=e[43],ne=A.map(t),e[37]=q,e[38]=K,e[39]=A,e[40]=ne}else ne=e[40];e[44]!==re||e[45]!==ne?(se=(0,H.jsxs)(n.ScrollView,{style:R.results,contentContainerStyle:R.resultsContent,keyboardShouldPersistTaps:"always",showsVerticalScrollIndicator:!1,children:[re,ne]}),e[44]=re,e[45]=ne,e[46]=se):se=e[46];e[47]!==Y||e[48]!==oe||e[49]!==se?(le=(0,H.jsxs)(t.View,{ref:Y,style:R.panel,children:[oe,se]}),e[47]=Y,e[48]=oe,e[49]=se,e[50]=le):le=e[50];e[51]!==le||e[52]!==Z?(ie=(0,H.jsxs)(t.View,{style:R.overlay,children:[Z,le]}),e[51]=le,e[52]=Z,e[53]=ie):ie=e[53];e[54]!==y||e[55]!==ie?(ce=(0,H.jsx)(f.default,{visible:!0,transparent:!0,animationType:"fade",onRequestClose:y,testID:"host-chooser",children:ie}),e[54]=y,e[55]=ie,e[56]=ce):ce=e[56];const de=ce,ae=x.isWeb?M:0;let ue;e[57]!==de||e[58]!==ae?(ue=(0,c.createElement)(I.OverlayLayerProvider,{layer:ae},de),e[57]=de,e[58]=ae,e[59]=ue):ue=e[59];return ue};var e,t=r(d[0]),o=r(d[1]),n=r(d[2]),s=r(d[3]),l=r(d[4]),c=r(d[5]),u=r(d[6]),f=(e=u)&&e.__esModule?e:{default:e};r(d[7]),r(d[8]),r(d[9]),r(d[10]);var h=r(d[11]),p=r(d[12]),b=r(d[13]),y=r(d[14]),v=r(d[15]),w=r(d[16]),x=r(d[17]),S=r(d[18]),I=r(d[19]),_=r(d[20]),C=r(d[21]),j=r(d[22]),H=r(d[23]);let T=1;const z=(0,y.create)(e=>({request:null,open:t=>{e({request:Object.assign({},t,{id:T++})})},close:()=>e({request:null})}));function k(e,t){const o=t.trim().toLowerCase();return!o||(e.label.toLowerCase().includes(o)||e.serverId.toLowerCase().includes(o))}function M(e){return e.serverId}function D(){return p.router.push((0,j.buildSettingsAddHostRoute)(Date.now()))}function V(){return!0}function W(e){return e.open}function O(e){const n=(0,l.c)(24),{host:c,active:u,onChooseHost:f}=e,{theme:h}=(0,v.useUnistyles)();let p;n[0]!==c.serverId||n[1]!==f?(p=()=>f(c.serverId),n[0]=c.serverId,n[1]=f,n[2]=p):p=n[2];const y=p;let x;n[3]!==u?(x=e=>{const{hovered:t,pressed:o}=e,n=void 0!==t&&t;return[R.row,(u||n||o)&&R.rowActive]},n[3]=u,n[4]=x):x=n[4];const S=x,I=`host-chooser-row-${c.serverId}`;let _,C,j,T,z,k;return n[5]!==c.serverId?(_=(0,H.jsx)(t.View,{style:R.rowIconSlot,children:(0,H.jsx)(w.HostStatusDotSlot,{serverId:c.serverId})}),n[5]=c.serverId,n[6]=_):_=n[6],n[7]!==c.label?(C=(0,H.jsx)(o.Text,{style:R.rowTitle,numberOfLines:1,children:c.label}),n[7]=c.label,n[8]=C):C=n[8],n[9]!==c.serverId?(j=(0,H.jsx)(o.Text,{style:R.rowSubtitle,numberOfLines:1,children:c.serverId}),n[9]=c.serverId,n[10]=j):j=n[10],n[11]!==C||n[12]!==j?(T=(0,H.jsxs)(t.View,{style:R.rowText,children:[C,j]}),n[11]=C,n[12]=j,n[13]=T):T=n[13],n[14]!==h.colors.foregroundMuted||n[15]!==h.iconSize.sm?(z=(0,H.jsx)(b.Server,{size:h.iconSize.sm,color:h.colors.foregroundMuted}),n[14]=h.colors.foregroundMuted,n[15]=h.iconSize.sm,n[16]=z):z=n[16],n[17]!==y||n[18]!==S||n[19]!==I||n[20]!==_||n[21]!==T||n[22]!==z?(k=(0,H.jsxs)(s.Pressable,{accessibilityRole:"button",onPress:y,style:S,testID:I,children:[_,T,z]}),n[17]=y,n[18]=S,n[19]=I,n[20]=_,n[21]=T,n[22]=z,n[23]=k):k=n[23],k}function L(e){return[e.serverId,e]}function E(e){return e.close}function P(e){return e.request}const R=v.StyleSheet.create(e=>({overlay:{flex:1,justifyContent:"flex-start",alignItems:"center",paddingTop:e.spacing[12],uni__dependencies:[0]},backdrop:Object.assign({},v.StyleSheet.absoluteFillObject,{backgroundColor:"rgba(0, 0, 0, 0.5)"}),panel:Object.assign({width:640,maxWidth:"92%",maxHeight:"80%",borderWidth:1,borderColor:e.colors.border,borderRadius:e.borderRadius.lg,backgroundColor:e.colors.surface0,overflow:"hidden"},e.shadow.lg,{uni__dependencies:[0]}),header:{gap:e.spacing[3],paddingHorizontal:e.spacing[4],paddingVertical:e.spacing[4],borderBottomWidth:1,borderBottomColor:e.colors.border,uni__dependencies:[0]},title:{color:e.colors.foreground,fontSize:e.fontSize.base,fontWeight:e.fontWeight.medium,uni__dependencies:[0]},input:{color:e.colors.foreground,fontSize:e.fontSize.base,padding:0,outlineStyle:"none"},results:{maxHeight:420},resultsContent:{paddingVertical:e.spacing[2],uni__dependencies:[0]},row:{flexDirection:"row",alignItems:"center",gap:e.spacing[3],minHeight:56,paddingHorizontal:e.spacing[4],paddingVertical:e.spacing[3],uni__dependencies:[0]},rowActive:{backgroundColor:e.colors.surface1,uni__dependencies:[0]},rowIconSlot:{width:18,alignItems:"center",justifyContent:"center"},rowText:{flex:1,minWidth:0,gap:e.spacing[1],uni__dependencies:[0]},rowTitle:{color:e.colors.foreground,fontSize:e.fontSize.base,uni__dependencies:[0]},rowSubtitle:{color:e.colors.foregroundMuted,fontSize:e.fontSize.sm,uni__dependencies:[0]},emptyText:{color:e.colors.foregroundMuted,fontSize:e.fontSize.base,paddingHorizontal:e.spacing[4],paddingVertical:e.spacing[3],uni__dependencies:[0]}}))},3745,[363,726,705,1682,364,36,1422,1323,182,234,146,3386,1158,1710,3400,56,3746,3391,3748,3652,3485,3530,3658,279]);
15401
15401
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ADD_HOST_OPTION_ID",{enumerable:!0,get:function(){return D.ADD_HOST_OPTION_ID}}),Object.defineProperty(e,"ALL_HOSTS_OPTION_ID",{enumerable:!0,get:function(){return D.ALL_HOSTS_OPTION_ID}}),Object.defineProperty(e,"ENABLE_BUILT_IN_DAEMON_OPTION_ID",{enumerable:!0,get:function(){return D.ENABLE_BUILT_IN_DAEMON_OPTION_ID}}),Object.defineProperty(e,"getHostPickerLabel",{enumerable:!0,get:function(){return D.getHostPickerLabel}}),e.HostStatusDotSlot=P,e.HostPickerOption=h,e.HostPicker=function(t){const o=(0,n.c)(37),{hosts:s,value:l,onSelect:c,open:_,onOpenChange:P,anchorRef:p,includeAllHost:A,includeAddHost:N,onAddHost:f,includeEnableBuiltInDaemon:H,onEnableBuiltInDaemon:L,showActiveConnection:j,onOpenHostSettings:E,searchable:x,title:k,desktopPlacement:y,desktopMinWidth:B,addHostTestID:M,hostOptionTestID:z,children:C}=t,U=void 0===y?"bottom-start":y,w=(0,I.useLocalDaemonServerId)();let R;o[0]!==s||o[1]!==w?(R=(0,O.orderHostsLocalFirst)(s,w),o[0]=s,o[1]=w,o[2]=R):R=o[2];const F=R;let W;o[3]!==N||o[4]!==A||o[5]!==H||o[6]!==F?(W=F.map(T),A&&W.unshift({id:D.ALL_HOSTS_OPTION_ID,label:"All hosts"}),N&&W.push({id:D.ADD_HOST_OPTION_ID,label:"Add host"}),H&&W.push({id:D.ENABLE_BUILT_IN_DAEMON_OPTION_ID,label:"Enable built-in daemon"}),o[3]=N,o[4]=A,o[5]=H,o[6]=F,o[7]=W):W=o[7];const $=W,V=!0===x&&F.length>S;let q;o[8]!==f||o[9]!==L||o[10]!==P||o[11]!==c?(q=t=>{t===D.ADD_HOST_OPTION_ID?f?.():t===D.ENABLE_BUILT_IN_DAEMON_OPTION_ID?L?.():c(t),P(!1)},o[8]=f,o[9]=L,o[10]=P,o[11]=c,o[12]=q):q=o[12];const G=q;let J;o[13]!==P||o[14]!==E?(J=t=>{E?.(t),P(!1)},o[13]=P,o[14]=E,o[15]=J):J=o[15];const K=J;let Q;o[16]!==M||o[17]!==K||o[18]!==z||o[19]!==E||o[20]!==j?(Q=t=>{const{option:o,selected:n,active:s,onPress:l}=t;return o.id===D.ADD_HOST_OPTION_ID?(0,b.jsx)(v,{kind:"add",active:s,onPress:l,testID:M}):o.id===D.ALL_HOSTS_OPTION_ID?(0,b.jsx)(v,{kind:"all",active:s,selected:n,onPress:l,testID:z?.(o.id)}):o.id===D.ENABLE_BUILT_IN_DAEMON_OPTION_ID?(0,b.jsx)(v,{kind:"enableBuiltInDaemon",active:s,onPress:l}):(0,b.jsx)(h,{serverId:o.id,label:o.label,showActiveConnection:!0===j,selected:n,active:s,onPress:l,onOpenHostSettings:E?K:void 0,testID:z?.(o.id)})},o[16]=M,o[17]=K,o[18]=z,o[19]=E,o[20]=j,o[21]=Q):Q=o[21];const X=Q,Y=k??"Host";let Z,ee;o[22]!==p||o[23]!==B||o[24]!==U||o[25]!==G||o[26]!==V||o[27]!==P||o[28]!==_||o[29]!==$||o[30]!==X||o[31]!==Y||o[32]!==l?(Z=(0,b.jsx)(u.Combobox,{options:$,value:l,onSelect:G,renderOption:X,searchable:V,searchPlaceholder:"Search hosts",title:Y,open:_,onOpenChange:P,anchorRef:p,desktopPlacement:U,desktopMinWidth:B}),o[22]=p,o[23]=B,o[24]=U,o[25]=G,o[26]=V,o[27]=P,o[28]=_,o[29]=$,o[30]=X,o[31]=Y,o[32]=l,o[33]=Z):Z=o[33];o[34]!==C||o[35]!==Z?(ee=(0,b.jsxs)(b.Fragment,{children:[C,Z]}),o[34]=C,o[35]=Z,o[36]=ee):ee=o[36];return ee};var t=r(d[0]),o=r(d[1]),n=r(d[2]);r(d[3]),r(d[4]),r(d[5]);var s=r(d[6]),l=r(d[7]),c=r(d[8]),u=r(d[9]),I=r(d[10]),_=r(d[11]),O=r(d[12]),D=r(d[13]),b=r(d[14]);const S=10;function P(o){const s=(0,n.c)(2),{serverId:l}=o;let u;return s[0]!==l?(u=(0,b.jsx)(t.View,{style:A.statusDotSlot,children:(0,b.jsx)(c.HostStatusDot,{serverId:l})}),s[0]=l,s[1]=u):u=s[1],u}function h(t){const c=(0,n.c)(24),{serverId:I,label:O,showActiveConnection:D,selected:S,active:h,onPress:p,onOpenHostSettings:v,testID:T}=t,{theme:A}=(0,l.useUnistyles)(),N=(0,_.useHostRuntimeSnapshot)(I)?.activeConnection??null;let f;var H;c[0]!==N||c[1]!==D?(f=D&&N?"directSocket"===(H=N).type||"directPipe"===H.type?"Local":H.endpoint.replace(/:(?:443|80)$/,""):void 0,c[0]=N,c[1]=D,c[2]=f):f=c[2];const L=f;let j;c[3]!==I?(j=(0,b.jsx)(P,{serverId:I}),c[3]=I,c[4]=j):j=c[4];const E=j;let x;c[5]!==v||c[6]!==I?(x=t=>{t.stopPropagation(),v?.(I)},c[5]=v,c[6]=I,c[7]=x):x=c[7];const k=x;let y;e:{if(!v){y=void 0;break e}const t=`Open ${O} settings`;let n,l;c[8]!==A.colors.foregroundMuted||c[9]!==A.iconSize.sm?(n=(0,b.jsx)(s.Settings,{size:A.iconSize.sm,color:A.colors.foregroundMuted}),c[8]=A.colors.foregroundMuted,c[9]=A.iconSize.sm,c[10]=n):n=c[10],c[11]!==k||c[12]!==t||c[13]!==n?(l=(0,b.jsx)(o.Pressable,{onPress:k,hitSlop:8,accessibilityRole:"button",accessibilityLabel:t,children:n}),c[11]=k,c[12]=t,c[13]=n,c[14]=l):l=c[14],y=l}const B=y;let M;return c[15]!==h||c[16]!==L||c[17]!==O||c[18]!==E||c[19]!==p||c[20]!==S||c[21]!==T||c[22]!==B?(M=(0,b.jsx)(u.ComboboxItem,{label:O,description:L,leadingSlot:E,trailingSlot:B,selected:S,active:h,onPress:p,testID:T}),c[15]=h,c[16]=L,c[17]=O,c[18]=E,c[19]=p,c[20]=S,c[21]=T,c[22]=B,c[23]=M):M=c[23],M}const p={add:"Add host",all:"All hosts",enableBuiltInDaemon:"Enable built-in daemon"};function v(t){const o=(0,n.c)(11),{active:c,selected:I,onPress:_,kind:O,testID:D}=t,{theme:S}=(0,l.useUnistyles)(),P="add"===O?s.Plus:s.Server,h=p[O];let v;o[0]!==P||o[1]!==S.colors.foregroundMuted||o[2]!==S.iconSize.sm?(v=(0,b.jsx)(P,{size:S.iconSize.sm,color:S.colors.foregroundMuted}),o[0]=P,o[1]=S.colors.foregroundMuted,o[2]=S.iconSize.sm,o[3]=v):v=o[3];const T=v;let A;return o[4]!==c||o[5]!==h||o[6]!==T||o[7]!==_||o[8]!==I||o[9]!==D?(A=(0,b.jsx)(u.ComboboxItem,{label:h,leadingSlot:T,selected:I,active:c,onPress:_,testID:D}),o[4]=c,o[5]=h,o[6]=T,o[7]=_,o[8]=I,o[9]=D,o[10]=A):A=o[10],A}function T(t){return{id:t.serverId,label:t.label}}const A=l.StyleSheet.create(t=>({statusDotSlot:{width:t.iconSize.sm,height:t.iconSize.sm,alignItems:"center",justifyContent:"center",uni__dependencies:[0]}}))},3746,[363,1682,364,36,1323,146,1710,56,3747,3716,3748,3485,3530,3749,279]);
15402
15402
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.HostStatusDot=function(o){const _=(0,t.c)(4),{serverId:f}=o,b=(0,s.useHostRuntimeConnectionStatus)(f);let C,p;_[0]!==b?(C=u(b),_[0]=b,_[1]=C):C=_[1];_[2]!==C?(p=(0,c.jsx)(n.View,{style:[l.dot,C]}),_[2]=C,_[3]=p):p=_[3];return p};var n=r(d[0]),t=r(d[1]);r(d[2]);var o=r(d[3]),s=r(d[4]),c=r(d[5]);function u(n){return"online"===n?l.dotOnline:"connecting"===n?l.dotConnecting:l.dotOffline}const l=o.StyleSheet.create(n=>({dot:{width:8,height:8,borderRadius:n.borderRadius.full,uni__dependencies:[0]},dotOnline:{backgroundColor:n.colors.statusSuccess,uni__dependencies:[0]},dotConnecting:{backgroundColor:n.colors.statusWarning,uni__dependencies:[0]},dotOffline:{backgroundColor:n.colors.statusDanger,uni__dependencies:[0]}}))},3747,[363,364,146,56,3485,279]);
15403
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useLocalDaemonServerId=s,e.useLocalDaemonServerIdState=function(){const n=(0,t.c)(3),c=(0,o.useHostRegistryLoaded)(),l=s();if(!c){let t;return n[0]===Symbol.for("react.memo_cache_sentinel")?(t={status:"loading"},n[0]=t):t=n[0],t}let u;n[1]!==l?(u={status:"resolved",serverId:l},n[1]=l,n[2]=u):u=n[2];return u},e.useIsLocalDaemon=function(n){const o=(0,t.c)(2);let c;o[0]!==n?(c=n.trim(),o[0]=n,o[1]=c):c=o[1];const l=c,u=s();if(null===u||0===l.length)return!1;return u===l};var t=r(d[0]);r(d[1]);var n=r(d[2]),o=r(d[3]);function c(t){return(0,n.normalizeLoopbackToLocalhost)((0,n.normalizeHostPort)(t))}function l(){if("undefined"==typeof window)return null;const t=window.location?.host?.trim();return t?c(t):null}function s(){const n=(0,t.c)(4),s=(0,o.useHosts)();let u;e:{let t;n[0]===Symbol.for("react.memo_cache_sentinel")?(t=l(),n[0]=t):t=n[0];const o=t;if(!o){u=null;break e}let f;if(n[1]!==s){let t;n[3]===Symbol.for("react.memo_cache_sentinel")?(t=t=>t.connections.some(t=>"directTcp"===t.type&&c(t.endpoint)===o),n[3]=t):t=n[3],f=s.find(t),n[1]=s,n[2]=f}else f=n[2];const _=f;u=_?.serverId??null}return u}},3748,[364,36,3510,3485]);
15403
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.browserOriginHost=s,e.useLocalDaemonServerId=l,e.useLocalDaemonServerIdState=function(){const o=(0,t.c)(3),c=(0,n.useHostRegistryLoaded)(),s=l();if(!c){let t;return o[0]===Symbol.for("react.memo_cache_sentinel")?(t={status:"loading"},o[0]=t):t=o[0],t}let u;o[1]!==s?(u={status:"resolved",serverId:s},o[1]=s,o[2]=u):u=o[2];return u},e.useIsLocalDaemon=function(o){const n=(0,t.c)(2);let c;n[0]!==o?(c=o.trim(),n[0]=o,n[1]=c):c=n[1];const s=c,u=l();if(null===u||0===s.length)return!1;return u===s};var t=r(d[0]);r(d[1]);var o=r(d[2]),n=r(d[3]);function c(t){return(0,o.normalizeLoopbackToLocalhost)((0,o.normalizeHostPort)(t))}function s(){if("undefined"==typeof window)return null;const t=window.location?.host?.trim();if(!t)return null;const o=window.location?.port;if(o)return c(t);return c(`${t}:${"https:"===window.location?.protocol?443:80}`)}function l(){const o=(0,t.c)(4),l=(0,n.useHosts)();let u;e:{let t;o[0]===Symbol.for("react.memo_cache_sentinel")?(t=s(),o[0]=t):t=o[0];const n=t;if(!n){u=null;break e}let f;if(o[1]!==l){let t;o[3]===Symbol.for("react.memo_cache_sentinel")?(t=t=>t.connections.some(t=>"directTcp"===t.type&&c(t.endpoint)===n),o[3]=t):t=o[3],f=l.find(t),o[1]=l,o[2]=f}else f=o[2];const _=f;u=_?.serverId??null}return u}},3748,[364,36,3510,3485]);
15404
15404
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ADD_HOST_OPTION_ID",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"ALL_HOSTS_OPTION_ID",{enumerable:!0,get:function(){return _}}),Object.defineProperty(e,"ENABLE_BUILT_IN_DAEMON_OPTION_ID",{enumerable:!0,get:function(){return n}}),e.getHostPickerLabel=function(n,l,o){if(o?.includeAllHost&&l===_)return"All hosts";if(o?.includeAddHost&&l===t)return"Add host";return n.find(t=>t.serverId===l)?.label??(o?.includeAllHost?"All hosts":"Host")};const t="__add_host__",_="__all_hosts__",n="__enable_built_in_daemon__"},3749,[]);
15405
15405
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useOpenProject=function(l){const p=(0,t.c)(10);let j;p[0]!==l?(j=l?.trim()??"",p[0]=l,p[1]=j):j=p[1];const H=j,P=(0,s.useHostRuntimeClient)(H),f=(0,s.useHostRuntimeIsConnected)(H);let y;p[2]!==H?(y=t=>!!H&&(!0===t.sessions[H]?.serverInfo?.features?.projectAdd&&!0===t.sessions[H]?.serverInfo?.features?.stableProjectIdentity),p[2]=H,p[3]=y):y=p[3];const S=(0,o.useSessionStore)(y),v=u,C=(0,o.useSessionStore)(c);let I;p[4]!==S||p[5]!==P||p[6]!==f||p[7]!==H||p[8]!==C?(I=async t=>await(0,n.openProjectDirectly)({serverId:H,projectPath:t,isConnected:f,canAddProject:S,client:P,upsertProject:v,setHasHydratedWorkspaces:C}),p[4]=S,p[5]=P,p[6]=f,p[7]=H,p[8]=C,p[9]=I):I=p[9];return I},e.useCloneGithubProject=function(c){const u=(0,t.c)(7);let j;u[0]!==c?(j=c?.trim()??"",u[0]=c,u[1]=j):j=u[1];const H=j,P=(0,s.useHostRuntimeClient)(H),f=(0,s.useHostRuntimeIsConnected)(H),y=p,S=(0,o.useSessionStore)(l);let v;u[2]!==P||u[3]!==f||u[4]!==H||u[5]!==S?(v=async(t,s,o)=>(0,n.cloneGithubProjectDirectly)(Object.assign({serverId:H,repo:t,targetDirectory:s},o?{cloneProtocol:o}:{},{isConnected:f,client:P,upsertProject:y,setHasHydratedWorkspaces:S})),u[2]=P,u[3]=f,u[4]=H,u[5]=S,u[6]=v):v=u[6];return v};var t=r(d[0]),s=r(d[1]);r(d[2]);var o=r(d[3]),n=r(d[4]);function c(t){return t.setHasHydratedWorkspaces}function u(t,o){(0,s.getHostRuntimeStore)().acceptProjectSnapshot(t,o)}function l(t){return t.setHasHydratedWorkspaces}function p(t,o){(0,s.getHostRuntimeStore)().acceptProjectSnapshot(t,o)}},3750,[364,3485,36,3399,3751]);
15406
15406
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.getOpenProjectFailureReason=function(o){if(o.ok)return null;if("directory_not_found"===o.errorCode)return"directory_not_found";return"open_failed"},e.registerProjectDescriptor=t,e.openProjectDirectly=async function(o){const c=o.serverId.trim(),n=o.projectPath.trim();if(!(c&&n&&o.client&&o.isConnected))return{ok:!1,errorCode:null,error:null};if(!o.canAddProject)return{ok:!1,errorCode:null,error:"Update the host to add projects without creating a workspace."};const s=await o.client.addProject(n);if(s.error||!s.project)return{ok:!1,errorCode:s.errorCode??null,error:s.error};return t({serverId:c,project:s.project,upsertProject:o.upsertProject,setHasHydratedWorkspaces:o.setHasHydratedWorkspaces})?{ok:!0,project:s.project}:{ok:!1,errorCode:null,error:"Unable to register project"}},e.cloneGithubProjectDirectly=async function(o){const c=o.serverId.trim(),n=o.repo.trim(),s=o.targetDirectory.trim();if(!(c&&n&&s&&o.client&&o.isConnected))return{ok:!1,errorCode:null,error:null};const l=await o.client.cloneGithubProject(Object.assign({repo:n,targetDirectory:s},o.cloneProtocol?{cloneProtocol:o.cloneProtocol}:{}));if(l.error||!l.project)return{ok:!1,errorCode:null,error:l.error};return t({serverId:c,project:l.project,upsertProject:o.upsertProject,setHasHydratedWorkspaces:o.setHasHydratedWorkspaces})?{ok:!0,project:l.project}:{ok:!1,errorCode:null,error:"Unable to register project"}};var o=r(d[0]);function t(t){const c=t.serverId.trim();return!!c&&(t.upsertProject(c,(0,o.normalizeProjectDescriptor)(t.project)),t.setHasHydratedWorkspaces(c,!0),!0)}},3751,[3399]);
@@ -86,6 +86,6 @@
86
86
  <body>
87
87
  <noscript>You need to enable JavaScript to run this app.</noscript>
88
88
  <div id="root"></div>
89
- <script src="/_expo/static/js/web/index-1ba0a51bc0f653d0f5199056b9438bc0.js" defer></script>
89
+ <script src="/_expo/static/js/web/index-be5ac0b8d74afe48cedabbdf4dc8fb69.js" defer></script>
90
90
  </body>
91
91
  </html>
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytetrue/server",
3
- "version": "0.16.2",
3
+ "version": "0.16.3",
4
4
  "description": "BySpace backend server",
5
5
  "files": [
6
6
  "dist/server",
@@ -77,10 +77,10 @@
77
77
  "test:e2e:ui": "vitest --ui e2e.test.ts"
78
78
  },
79
79
  "dependencies": {
80
- "@bytetrue/client": "0.16.2",
81
- "@bytetrue/highlight": "0.16.2",
82
- "@bytetrue/protocol": "0.16.2",
83
- "@bytetrue/relay": "0.16.2"
80
+ "@bytetrue/client": "0.16.3",
81
+ "@bytetrue/highlight": "0.16.3",
82
+ "@bytetrue/protocol": "0.16.3",
83
+ "@bytetrue/relay": "0.16.3"
84
84
  },
85
85
  "devDependencies": {
86
86
  "@playwright/test": "^1.56.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bytetrue/byspace",
3
- "version": "0.16.2",
3
+ "version": "0.16.3",
4
4
  "description": "BySpace CLI - control your AI coding agents from the command line",
5
5
  "bin": {
6
6
  "byspace": "bin/byspace"
@@ -30,11 +30,11 @@
30
30
  "@agentclientprotocol/sdk": "^0.17.1",
31
31
  "@anthropic-ai/claude-agent-sdk": "0.3.246",
32
32
  "@anthropic-ai/sdk": "^0.104.2",
33
- "@bytetrue/client": "0.16.2",
34
- "@bytetrue/highlight": "0.16.2",
35
- "@bytetrue/protocol": "0.16.2",
36
- "@bytetrue/relay": "0.16.2",
37
- "@bytetrue/server": "0.16.2",
33
+ "@bytetrue/client": "0.16.3",
34
+ "@bytetrue/highlight": "0.16.3",
35
+ "@bytetrue/protocol": "0.16.3",
36
+ "@bytetrue/relay": "0.16.3",
37
+ "@bytetrue/server": "0.16.3",
38
38
  "@clack/prompts": "^1.0.0",
39
39
  "@codemirror/language": "6.12.4",
40
40
  "@codemirror/legacy-modes": "^6.5.3",
@@ -103,7 +103,7 @@
103
103
  "bugs": {
104
104
  "url": "https://github.com/ByteTrue/byspace/issues"
105
105
  },
106
- "gitHead": "50860045a29b1d4d3d07852de23bc8d2868d82c8",
106
+ "gitHead": "5783c2a34eb649f1eeb9f99ac2ef600417bf48ae",
107
107
  "bundledDependencies": [
108
108
  "@bytetrue/highlight",
109
109
  "@bytetrue/relay",