herdr-remote 0.2.39 → 0.3.32
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/README.md +4 -2
- package/README.zh-CN.md +2 -2
- package/dist/chunks/3FQAXVGC.js +3 -0
- package/dist/chunks/42KARAL4.js +31 -0
- package/dist/chunks/44IGVPMA.js +5 -0
- package/dist/chunks/5LZFJ6UZ.js +3 -0
- package/dist/chunks/7SMZ43LI.js +9 -0
- package/dist/chunks/AX4EPJCP.js +4 -0
- package/dist/chunks/B76DFI4H.js +16 -0
- package/dist/chunks/BYGDPZZD.js +3 -0
- package/dist/chunks/C2UUZY6J.js +2 -0
- package/dist/chunks/CVJ4HBMP.js +3 -0
- package/dist/chunks/DGUZCGQN.js +3 -0
- package/dist/chunks/FONUO5O5.js +4 -0
- package/dist/chunks/H24ZP5D5.js +16 -0
- package/dist/chunks/I6NRCYLI.js +3 -0
- package/dist/chunks/JJGEV4EZ.js +3 -0
- package/dist/chunks/K5RFPHSF.js +5 -0
- package/dist/chunks/KGOQKOHH.js +5 -0
- package/dist/chunks/KRVF37OW.js +3 -0
- package/dist/chunks/KUDCC7ZO.js +6 -0
- package/dist/chunks/LPR662JH.js +77 -0
- package/dist/chunks/LY2ZGCXN.js +4 -0
- package/dist/chunks/M52LJEES.js +6 -0
- package/dist/chunks/MCUVFSSK.js +3 -0
- package/dist/chunks/MEFDV375.js +10 -0
- package/dist/chunks/MKAEXKXG.js +10 -0
- package/dist/chunks/O2LNVFUT.js +3 -0
- package/dist/chunks/PBMBFWLQ.js +3 -0
- package/dist/chunks/PBRQ3HEG.js +3 -0
- package/dist/chunks/QCSILMFB.js +3 -0
- package/dist/chunks/QRGNEKME.js +5 -0
- package/dist/chunks/RMHH3IAX.js +63 -0
- package/dist/chunks/TNLCNVA2.js +3 -0
- package/dist/chunks/U6QAYG3E.js +3 -0
- package/dist/chunks/VD54DF7R.js +45 -0
- package/dist/chunks/WY7WHEJ4.js +3 -0
- package/dist/cli.js +21 -294
- package/dist/connector/admin-broker.js +3 -303
- package/dist/connector/main.js +20 -18
- package/dist/harfbuzz-subset.wasm +0 -0
- package/dist/postinstall.js +17 -0
- package/herdr-plugin.toml +1 -1
- package/node_modules/herdr-remote-relay/bin/herdr-remote-relay.js +33 -92
- package/node_modules/herdr-remote-relay/package.json +3 -46
- package/package.json +8 -27
- package/dist/agent-status.js +0 -130
- package/dist/binary-plist.js +0 -157
- package/dist/config.js +0 -278
- package/dist/connector/admin-broker-setup.js +0 -40
- package/dist/connector/admin-shell.js +0 -67
- package/dist/connector/admin-tab.js +0 -90
- package/dist/connector/adminBrokerEndpoint.js +0 -68
- package/dist/connector/agent-watch.js +0 -123
- package/dist/connector/elevatedPty.js +0 -141
- package/dist/connector/font-server.js +0 -165
- package/dist/connector/herdr-prefix-keys.js +0 -28
- package/dist/connector/host-connector.js +0 -433
- package/dist/connector/host-hello.js +0 -32
- package/dist/connector/lock.js +0 -73
- package/dist/connector/sessions.js +0 -381
- package/dist/connector/update-report.js +0 -70
- package/dist/connector/wire.js +0 -42
- package/dist/exit-codes.js +0 -13
- package/dist/font-subset.js +0 -116
- package/dist/herdr-api.js +0 -254
- package/dist/herdr-command.js +0 -245
- package/dist/herdr-plugin.js +0 -120
- package/dist/herdr-server.js +0 -190
- package/dist/i18n/en.js +0 -257
- package/dist/i18n/index.js +0 -48
- package/dist/i18n/zh.js +0 -256
- package/dist/keepalive/detached.js +0 -97
- package/dist/keepalive/environment.js +0 -44
- package/dist/keepalive/index.js +0 -129
- package/dist/keepalive/launchd.js +0 -117
- package/dist/keepalive/systemd.js +0 -112
- package/dist/keepalive/types.js +0 -1
- package/dist/keepalive/windows-service-setup.js +0 -138
- package/dist/keepalive/windows-service.js +0 -272
- package/dist/keepalive/windows-task.js +0 -191
- package/dist/lib/process.js +0 -132
- package/dist/lifecycle.js +0 -79
- package/dist/net-interfaces.js +0 -82
- package/dist/node-pty-loader.js +0 -80
- package/dist/pasted-files.js +0 -115
- package/dist/paths.js +0 -74
- package/dist/pty-session.js +0 -133
- package/dist/relay-client.js +0 -106
- package/dist/relay-urls.js +0 -99
- package/dist/runtime.js +0 -107
- package/dist/service.js +0 -267
- package/dist/settings-model.js +0 -298
- package/dist/socket-discovery.js +0 -70
- package/dist/supervisor.js +0 -323
- package/dist/terminal-font/deps.js +0 -83
- package/dist/terminal-font/files.js +0 -357
- package/dist/terminal-font/formats.js +0 -355
- package/dist/terminal-font/index.js +0 -187
- package/dist/terminal-font/readers.js +0 -373
- package/dist/terminal-font/terminals.js +0 -147
- package/dist/terminal-palette.js +0 -399
- package/dist/tui/App.js +0 -199
- package/dist/tui/api.js +0 -91
- package/dist/tui/components/TextField.js +0 -50
- package/dist/tui/components/common.js +0 -80
- package/dist/tui/index.js +0 -36
- package/dist/tui/mouse/index.js +0 -164
- package/dist/tui/mouse/protocol.js +0 -96
- package/dist/tui/mouse/source.js +0 -79
- package/dist/tui/screens/About.js +0 -172
- package/dist/tui/screens/Herdr.js +0 -75
- package/dist/tui/screens/Keepalive.js +0 -141
- package/dist/tui/screens/Overview.js +0 -36
- package/dist/tui/screens/Pair.js +0 -74
- package/dist/tui/screens/Relay.js +0 -243
- package/dist/tui/screens/Services.js +0 -63
- package/dist/tui/screens/Wizard.js +0 -241
- package/dist/tui/terminal.js +0 -39
- package/dist/tui/theme.js +0 -33
- package/dist/update-command.js +0 -118
- package/dist/updater/in-place.js +0 -83
- package/dist/updater/npm.js +0 -62
- package/dist/updater.js +0 -401
- package/node_modules/herdr-remote-relay/README.md +0 -76
- package/node_modules/herdr-remote-relay/README.zh-CN.md +0 -76
- package/node_modules/herdr-remote-relay/config.example.json +0 -18
- package/node_modules/herdr-remote-relay/deploy/cloudflared/config.yml.example +0 -9
- package/node_modules/herdr-remote-relay/deploy/docker/compose.yaml +0 -23
- package/node_modules/herdr-remote-relay/deploy/nginx/herdr-remote-relay.conf.example +0 -49
- package/node_modules/herdr-remote-relay/deploy/systemd/herdr-remote-relay.service +0 -41
- package/node_modules/herdr-remote-relay/deploy/systemd/relay.env.example +0 -25
- package/node_modules/herdr-remote-relay/dist/auth-store.d.ts +0 -114
- package/node_modules/herdr-remote-relay/dist/auth-store.js +0 -289
- package/node_modules/herdr-remote-relay/dist/metrics.d.ts +0 -76
- package/node_modules/herdr-remote-relay/dist/metrics.js +0 -249
- package/node_modules/herdr-remote-relay/dist/protocol/frames.d.ts +0 -27
- package/node_modules/herdr-remote-relay/dist/protocol/frames.js +0 -110
- package/node_modules/herdr-remote-relay/dist/protocol/herdr-keys.d.ts +0 -8
- package/node_modules/herdr-remote-relay/dist/protocol/herdr-keys.js +0 -34
- package/node_modules/herdr-remote-relay/dist/protocol/http.d.ts +0 -165
- package/node_modules/herdr-remote-relay/dist/protocol/http.js +0 -3
- package/node_modules/herdr-remote-relay/dist/protocol/index.d.ts +0 -7
- package/node_modules/herdr-remote-relay/dist/protocol/index.js +0 -9
- package/node_modules/herdr-remote-relay/dist/protocol/messages.d.ts +0 -362
- package/node_modules/herdr-remote-relay/dist/protocol/messages.js +0 -20
- package/node_modules/herdr-remote-relay/dist/protocol/paste.d.ts +0 -14
- package/node_modules/herdr-remote-relay/dist/protocol/paste.js +0 -50
- package/node_modules/herdr-remote-relay/dist/protocol/release.d.ts +0 -8
- package/node_modules/herdr-remote-relay/dist/protocol/release.js +0 -17
- package/node_modules/herdr-remote-relay/dist/protocol/terminal.d.ts +0 -79
- package/node_modules/herdr-remote-relay/dist/protocol/terminal.js +0 -150
- package/node_modules/herdr-remote-relay/dist/relay-config.d.ts +0 -74
- package/node_modules/herdr-remote-relay/dist/relay-config.js +0 -316
- package/node_modules/herdr-remote-relay/dist/relay-server.d.ts +0 -67
- package/node_modules/herdr-remote-relay/dist/relay-server.js +0 -196
- package/node_modules/herdr-remote-relay/dist/scroll-input.d.ts +0 -17
- package/node_modules/herdr-remote-relay/dist/scroll-input.js +0 -124
- package/node_modules/herdr-remote-relay/dist/server/client-channel.d.ts +0 -3
- package/node_modules/herdr-remote-relay/dist/server/client-channel.js +0 -396
- package/node_modules/herdr-remote-relay/dist/server/font-proxy.d.ts +0 -19
- package/node_modules/herdr-remote-relay/dist/server/font-proxy.js +0 -155
- package/node_modules/herdr-remote-relay/dist/server/host-broadcasts.d.ts +0 -27
- package/node_modules/herdr-remote-relay/dist/server/host-broadcasts.js +0 -83
- package/node_modules/herdr-remote-relay/dist/server/host-channel.d.ts +0 -3
- package/node_modules/herdr-remote-relay/dist/server/host-channel.js +0 -271
- package/node_modules/herdr-remote-relay/dist/server/http-api.d.ts +0 -4
- package/node_modules/herdr-remote-relay/dist/server/http-api.js +0 -219
- package/node_modules/herdr-remote-relay/dist/server/maintenance.d.ts +0 -5
- package/node_modules/herdr-remote-relay/dist/server/maintenance.js +0 -64
- package/node_modules/herdr-remote-relay/dist/server/requests.d.ts +0 -34
- package/node_modules/herdr-remote-relay/dist/server/requests.js +0 -142
- package/node_modules/herdr-remote-relay/dist/server/sessions.d.ts +0 -36
- package/node_modules/herdr-remote-relay/dist/server/sessions.js +0 -230
- package/node_modules/herdr-remote-relay/dist/server/sockets.d.ts +0 -12
- package/node_modules/herdr-remote-relay/dist/server/sockets.js +0 -64
- package/node_modules/herdr-remote-relay/dist/server/status.d.ts +0 -11
- package/node_modules/herdr-remote-relay/dist/server/status.js +0 -99
- package/node_modules/herdr-remote-relay/dist/server/transport.d.ts +0 -16
- package/node_modules/herdr-remote-relay/dist/server/transport.js +0 -110
- package/node_modules/herdr-remote-relay/dist/server/types.d.ts +0 -133
- package/node_modules/herdr-remote-relay/dist/server/types.js +0 -3
- package/node_modules/herdr-remote-relay/dist/server/version.d.ts +0 -2
- package/node_modules/herdr-remote-relay/dist/server/version.js +0 -5
- package/node_modules/herdr-remote-relay/dist/state.d.ts +0 -6
- package/node_modules/herdr-remote-relay/dist/state.js +0 -47
- package/node_modules/ws/LICENSE +0 -20
- package/node_modules/ws/README.md +0 -548
- package/node_modules/ws/browser.js +0 -8
- package/node_modules/ws/index.js +0 -22
- package/node_modules/ws/lib/buffer-util.js +0 -131
- package/node_modules/ws/lib/constants.js +0 -19
- package/node_modules/ws/lib/event-target.js +0 -292
- package/node_modules/ws/lib/extension.js +0 -203
- package/node_modules/ws/lib/limiter.js +0 -55
- package/node_modules/ws/lib/permessage-deflate.js +0 -530
- package/node_modules/ws/lib/receiver.js +0 -743
- package/node_modules/ws/lib/sender.js +0 -607
- package/node_modules/ws/lib/stream.js +0 -161
- package/node_modules/ws/lib/subprotocol.js +0 -62
- package/node_modules/ws/lib/validation.js +0 -152
- package/node_modules/ws/lib/websocket-server.js +0 -562
- package/node_modules/ws/lib/websocket.js +0 -1407
- package/node_modules/ws/package.json +0 -74
- package/node_modules/ws/wrapper.mjs +0 -21
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createRequire as __herdrCreateRequire } from 'node:module';
|
|
2
|
+
const require = __herdrCreateRequire(import.meta.url);
|
|
3
|
+
import{n as b,o as Q,p as G,q as K}from"./PBMBFWLQ.js";import{a as E,c as Z}from"./TNLCNVA2.js";import h from"node:fs";import w from"node:path";var Ae=["EBUSY","EPERM","EACCES"];function ee(e){return/\b(EBUSY|EPERM)\b/.test(e??"")}function $e(e,t,o){try{o(e,t)}catch(n){if(!Ae.includes(n.code??""))throw n;h.renameSync(t,`${t}.${process.pid}.old`),o(e,t)}}function P(e,t,o=h.copyFileSync,n=new Set){h.mkdirSync(t,{recursive:!0});let s=new Set;for(let r of h.readdirSync(e,{withFileTypes:!0})){s.add(r.name.toLowerCase());let i=w.join(e,r.name),c=w.join(t,r.name),a=h.lstatSync(c,{throwIfNoEntry:!1});a&&a.isDirectory()!==r.isDirectory()&&h.rmSync(c,{recursive:!0,force:!0}),r.isDirectory()?P(i,c,o,n):$e(i,c,o)}for(let r of h.readdirSync(t))if(!(s.has(r.toLowerCase())||n.has(w.join(t,r))))try{h.rmSync(w.join(t,r),{recursive:!0,force:!0})}catch{}}async function re(e,t,{target:o=E,stage:n=w.join(Z(),"update-stage"),platform:s=process.platform}={}){h.rmSync(n,{recursive:!0,force:!0});try{let r=await t([...e,"--prefix",n]);if(!r.ok)return r;let i=s==="win32"?w.join(n,"node_modules"):w.join(n,"lib","node_modules");try{P(w.join(i,w.basename(o)),o)}catch(c){return{ok:!1,output:`${r.output}
|
|
4
|
+
${c.message}`}}return r}finally{try{h.rmSync(n,{recursive:!0,force:!0})}catch{}}}import H from"node:fs";import z from"node:path";import{spawn as Fe}from"node:child_process";import{createRequire as Me}from"node:module";import Te from"node:fs";import te from"node:path";function ve({args:e,platform:t=process.platform,env:o=process.env,execPath:n=process.execPath,exists:s=Te.existsSync}){if(t!=="win32")return{command:"npm",args:e};let r=o.npm_execpath;if(r&&/npm-cli\.js$/i.test(r)&&s(r))return{command:n,args:[r,...e]};let i=te.join(te.dirname(n),"node_modules","npm","bin","npm-cli.js");return s(i)?{command:n,args:[i,...e]}:null}function Y(e,t,o,n={}){return new Promise(s=>{let r;try{let l=ve({args:t,...n});if(!l){s({ok:!1,spawnFailed:!0,output:"npm-cli.js was not found next to this Node.js; run npm install -g herdr-remote yourself."});return}r=e(l.command,l.args,{timeout:o,windowsHide:!0})}catch(l){s({ok:!1,spawnFailed:!0,output:String(l?.message||l)});return}let i="",c=!1,a=l=>{c||(c=!0,s(l))},u=l=>{i+=String(l)};r.stdout?.on("data",u),r.stderr?.on("data",u),r.on("error",l=>a({ok:!1,spawnFailed:!0,output:l.message})),r.on("close",l=>a({ok:l===0,output:i.trim()}))})}import p from"node:fs";import{createRequire as Pe}from"node:module";import y from"node:path";import N from"node:fs";import O from"node:path";import xe from"node:zlib";var _=512;function A(e,t,o){let n=e.subarray(t,t+o),s=n.indexOf(0);return n.subarray(0,s===-1?o:s).toString("utf8")}function ne(e,t,o){let n=A(e,t,o).trim();return n?Number.parseInt(n,8):0}function je(e){let t=null,o=0;for(;o<e.length;){let n=e.indexOf(32,o);if(n===-1)break;let s=Number.parseInt(e.subarray(o,n).toString("utf8"),10);if(!(s>0))break;let r=e.subarray(n+1,o+s-1).toString("utf8"),i=r.indexOf("=");r.slice(0,i)==="path"&&(t=r.slice(i+1)),o+=s}return t}function oe(e,t){let o=xe.gunzipSync(e),n=O.resolve(t);N.mkdirSync(n,{recursive:!0});let s=null,r=0;for(;r+_<=o.length;){let i=o.subarray(r,r+_);if(i.every(f=>f===0))break;let c=ne(i,124,12),a=String.fromCharCode(i[156]||48),u=o.subarray(r+_,r+_+c);if(u.length<c)throw new Error("truncated release archive");if(r+=_+Math.ceil(c/_)*_,a==="x"){s=je(u);continue}if(a==="L"){s=A(u,0,u.length);continue}if(a==="g")continue;let l=A(i,345,155),g=s??(l?`${l}/${A(i,0,100)}`:A(i,0,100));s=null;let x=g.replace(/^package\//,"");if(x===g)throw new Error(`unexpected path in release archive: ${g}`);let m=O.resolve(n,x);if(m!==n&&!m.startsWith(`${n}${O.sep}`))throw new Error(`path escapes the release archive: ${g}`);if(a==="5")N.mkdirSync(m,{recursive:!0});else if(a==="0"){N.mkdirSync(O.dirname(m),{recursive:!0});let f=ne(i,100,8)&73?493:420;N.writeFileSync(m,u,{mode:f})}else throw new Error(`unsupported entry type '${a}' in release archive: ${g}`)}}var Ne=["EBUSY","EPERM","EACCES"];function U(e){try{return JSON.parse(p.readFileSync(y.join(e,"package.json"),"utf8"))}catch{return null}}function ie(e){let t=new Set(e.bundleDependencies??[]);return Object.entries(e.dependencies??{}).filter(([o])=>!t.has(o))}function Oe(e,t,o){if(JSON.stringify(e.bin)!==JSON.stringify(t.bin))return!1;let n=Pe(y.join(o,"package.json")).resolve;return ie(t).every(([s,r])=>{if(e.dependencies?.[s]!==r)return!1;try{return n(`${s}/package.json`),!0}catch{return!1}})}function Ce(e,t){let o=[],n=ie(e).map(([s])=>s);for(;n.length>0;){let s=n.shift(),r=y.join(t,"node_modules",s);if(o.includes(s)||!p.existsSync(r))continue;o.push(s);let i=U(r);n.push(...Object.keys({...i?.dependencies,...i?.optionalDependencies}))}return o}async function He(e,t,o){let n=new AbortController,s=setTimeout(()=>n.abort(),o);try{let r=await t(e,{signal:n.signal,headers:{Accept:"application/octet-stream"}});if(!r.ok)throw new Error(`${e}: HTTP ${r.status??"?"}`);return Buffer.from(await r.arrayBuffer())}catch(r){throw r.name==="AbortError"?new Error(`${e}: timed out`):r}finally{clearTimeout(s)}}function se(e,t,o){for(let n of e){let s=y.join(o,"node_modules",n);p.mkdirSync(y.dirname(s),{recursive:!0}),p.renameSync(y.join(t,"node_modules",n),s)}}function Ie(e,t,o,n){let s=`${t}.previous-${process.pid}`;try{p.renameSync(t,s)}catch(r){let i=r.code??"";if(n!=="win32"||!Ne.includes(i))throw r;let c=new Set(o.map(a=>y.join(t,"node_modules",a)));P(e,t,p.copyFileSync,c);return}try{se(o,s,e),p.renameSync(e,t)}catch(r){try{for(let i of o)p.existsSync(y.join(e,"node_modules",i))&&se([i],e,s);p.renameSync(s,t)}catch{}throw r}try{p.rmSync(s,{recursive:!0,force:!0})}catch{}}async function ce({url:e,version:t,target:o=E,fetchImpl:n=globalThis.fetch,timeoutMs:s=18e4,platform:r=process.platform}){let i=y.join(y.dirname(o),`.herdr-remote-update-${process.pid}`);try{p.rmSync(i,{recursive:!0,force:!0}),oe(await He(e,n,s),i);let c=U(i),a=U(o);return c?.name!=="herdr-remote"||t&&c.version!==t?{ok:!1,output:`${e} is not herdr-remote ${t??""}`.trim()}:!a||!Oe(a,c,o)?{ok:!1,needsNpm:!0,output:"the release changes installed dependencies"}:(Ie(i,o,Ce(c,o),r),{ok:!0,output:`installed ${c.version} from ${e}`})}catch(c){return{ok:!1,output:String(c?.message||c)}}finally{try{p.rmSync(i,{recursive:!0,force:!0})}catch{}}}import De from"node:fs";import Le from"node:os";import ae from"node:path";var ue="herdr-remote",fe="https://registry.npmjs.org",pe="https://registry.npmmirror.com";function C(e){if(typeof e!="string")return null;let t=e.trim().replace(/\/+$/,"");return/^https?:\/\//i.test(t)?t:null}function le(e){let t;try{t=De.readFileSync(e,"utf8")}catch{return null}let o=null;for(let n of t.split(/\r?\n/)){let s=n.trim();if(!s||s.startsWith("#")||s.startsWith(";"))continue;let r=/^registry\s*=\s*(.+)$/i.exec(s);r&&(o=C(r[1].replace(/^["']|["']$/g,"")))}return o}function me({env:e=process.env,home:t=Le.homedir(),cwd:o=process.cwd()}={}){let n=[],s=r=>{let i=C(r);i&&!n.includes(i)&&n.push(i)};return s(e.npm_config_registry),s(e.NPM_CONFIG_REGISTRY),s(e.HERDR_REMOTE_REGISTRY),s(le(ae.join(o,".npmrc"))),s(le(ae.join(t,".npmrc"))),s(fe),s(pe),n}async function de(e,{timeoutMs:t,fetchImpl:o}){let n=new AbortController,s=setTimeout(()=>n.abort(),t);try{let r=await o(e,{signal:n.signal,headers:{Accept:"application/json","Cache-Control":"no-cache"}});return r.ok?{ok:!0,body:await r.json()}:{ok:!1,message:`HTTP ${r.status??"?"}`}}catch(r){let i=r;return{ok:!1,message:i?.name==="AbortError"?"timed out":String(i?.message||r)}}finally{clearTimeout(s)}}async function he(e,{timeoutMs:t,fetchImpl:o}){let n=[{url:`${e}/-/package/${ue}/dist-tags`,read:r=>r?.latest},{url:`${e}/${ue}/latest`,read:r=>r?.version}],s=null;for(let r of n){let i=await de(r.url,{timeoutMs:t,fetchImpl:o});if(!i.ok){s=i.message;continue}let c=r.read(i.body);if(typeof c=="string"&&c)return{ok:!0,latest:c};s="registry answered without a version"}return{ok:!1,message:s}}var V=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;async function ye(e,{timeoutMs:t,fetchImpl:o}){let n=await de(e,{timeoutMs:t,fetchImpl:o});if(!n.ok)return n;let s=n.body?.version;return typeof s=="string"&&V.test(s)?{ok:!0,latest:s}:{ok:!1,message:"release manifest has no version"}}var Be="herdr-remote",Ge="herdr-remote-relay";function Ke(){try{return JSON.parse(H.readFileSync(z.join(E,"package.json"),"utf8")).version}catch{return"0.0.0"}}function Nr(){try{let e=Me(import.meta.url).resolve(`${Ge}/package.json`);return JSON.parse(H.readFileSync(e,"utf8")).version}catch{return null}}function we(){let e=E;if(!e.split(z.sep).includes("node_modules"))return"source";try{if(H.lstatSync(e).isSymbolicLink())return"linked"}catch{}return"npm"}function Or(e=process.env){return e.HERDR_REMOTE_UPDATE_CHECK!=="0"}function Cr(){return we()==="npm"}function $(e,t){let o=r=>String(r).split("-")[0].split(".").map(i=>Number.parseInt(i,10)||0),n=o(e),s=o(t);for(let r=0;r<Math.max(n.length,s.length);r+=1){let i=(n[r]||0)-(s[r]||0);if(i>0)return 1;if(i<0)return-1}return 0}async function Hr({timeoutMs:e=6e3,fetchImpl:t=globalThis.fetch,registries:o,releaseManifest:n=Q,current:s=Ke()}={}){let r=(u,l)=>({ok:!0,current:s,latest:u,source:l,updateAvailable:$(u,s)>0}),i=[];if(n){let u=await ye(n,{timeoutMs:e,fetchImpl:t});if(u.ok)return r(u.latest,b);i.push(`${b}: ${u.message??""}`)}let c=await Promise.all((o??me()).map(async u=>({source:u,...await he(u,{timeoutMs:e,fetchImpl:t})}))),a=null;for(let u of c)u.ok?(!a||$(u.latest,a.latest)>0)&&(a=u):i.push(`${u.source}: ${u.message??""}`);return a?r(a.latest,a.source):{ok:!1,current:s,errorKey:"update.errorNetwork",message:i.join("; ")}}function Ye(e){let t=String(e||"").split(/\r?\n/).map(o=>o.trim()).filter(o=>/^npm (error|ERR!)/.test(o)&&!/complete log of this run/i.test(o)).map(o=>o.replace(/^npm (error|ERR!)\s*/,"")).filter(Boolean);return(t.length>0?t.slice(0,3):String(e||"").trim().split(/\r?\n/).slice(-3)).join(" ")}function Ue(e){return/\bETARGET\b|notarget|No matching version found/i.test(String(e||""))}function Ve(){try{return JSON.parse(H.readFileSync(z.join(E,"package.json"),"utf8")).version}catch{return null}}function Se(e,t,o){let n=o();return e&&n&&$(n,e)<0?{ok:!1,errorKey:"update.errorNotApplied",installed:n,output:t.slice(-2e3)}:{ok:!0,installed:n,output:t.slice(-2e3)}}async function Ir({spawnImpl:e=Fe,timeoutMs:t=18e4,installKindImpl:o=we,source:n="",version:s=null,attempts:r=3,retryDelayMs:i=15e3,sleep:c=m=>new Promise(f=>setTimeout(f,m)),readInstalledVersion:a=Ve,onAttempt:u=()=>{},platform:l=process.platform,inPlace:g=re,installReleaseImpl:x=ce}={}){let m=o();if(m!=="npm")return{ok:!1,errorKey:`update.cannot.${m}`};let f=typeof s=="string"&&V.test(s)?s:null,D=C(n),L,X="";if(!D||D===b){u({source:b,attempt:1});let k=f?K(f):G,R=await x({url:k,version:f,platform:l});if(R.ok)return Se(f,R.output,a);L=R.needsNpm?[b,""]:[""],X=`${k}: ${R.output}
|
|
5
|
+
`}else L=[D];let F={ok:!1,output:""},M=!1;for(let k of L){let R=k===b,B=R?["install","-g",f?K(f):G]:["install","-g",`${Be}@${f||"latest"}`,"--prefer-online"];k&&!R&&B.push("--registry",k);for(let j=1;j<=r;j+=1){u({source:k,attempt:j});let d=await Y(e,B,t);if(!d.ok&&l==="win32"&&ee(d.output)&&(d=await g(B,_e=>Y(e,_e,t))),d.ok)return Se(f,d.output,a);if(F=d,d.spawnFailed)return{ok:!1,errorKey:"update.errorFailed",output:d.output,summary:d.output};if(M=Ue(d.output),!M)break;j<r&&await c(i)}}return{ok:!1,errorKey:M?"update.errorNotYetPublished":"update.errorFailed",output:`${X}${String(F.output||"")}`.slice(-2e3),summary:Ye(F.output)}}import J from"node:fs";import q from"node:os";import S from"node:path";import{spawnSync as ze}from"node:child_process";var T="herdr",Ee="0.9.3",Je=["~/.local/bin","~/.cargo/bin","~/bin","/opt/homebrew/bin","/usr/local/bin","/home/linuxbrew/.linuxbrew/bin","/usr/bin"];function qe(e,t){return e==="~"?t:e.startsWith("~/")?S.join(t,e.slice(2)):e}function v(e=T,t=process.platform){return t!=="win32"?[e]:[/\.exe$/i.test(e)?e:`${e}.exe`]}function I(e){try{return J.statSync(e).isFile()?(J.accessSync(e,J.constants.X_OK),!0):!1}catch{return!1}}function W(e,t=v()){if(!e)return null;for(let o of t){let n=S.join(e,o);if(I(n))return n}return null}function ge(e,t=v()){for(let o of String(e||"").split(S.delimiter)){let n=W(o.trim(),t);if(n)return n}return null}function ke(e=q.homedir(),t=process.platform,o=process.env){return t==="win32"?[S.join(o.LOCALAPPDATA||S.join(e,"AppData","Local"),"Programs","Herdr","bin"),S.join(e,".cargo","bin"),S.join(e,"scoop","shims")]:Je.map(n=>qe(n,e))}function Re(e){return e.includes("/")||e.includes(S.sep)}function We(e,t,o){let n=String(e||"").trim();if(!n)return null;if(Re(n)){let s=S.resolve(n);if(I(s))return s;if(o==="win32"&&S.extname(s)===""){let r=`${s}.exe`;if(I(r))return r}return W(s,v(T,o))}return ge(t,v(n,o))}function be({env:e=process.env,home:t=q.homedir(),platform:o=process.platform,directories:n=ke(t,o,e)}={}){let s=v(T,o),r=We(e.HERDR_BIN_PATH,e.PATH,o);if(r)return{command:r,source:"env",found:!0};let i=ge(e.PATH,s);if(i)return{command:i,source:"path",found:!0};for(let c of n){let a=W(c,s);if(a)return{command:a,source:"fallback",found:!0}}return{command:T,source:"unresolved",found:!1}}function Xe(e){return be(e).command}function Kr(e,t={}){return typeof e=="string"&&Re(e)&&I(e)?{command:e,source:"verified",found:!0}:be(t)}function Ze(e){let t=/(\d+)\.(\d+)\.(\d+)/.exec(String(e||""));return t?`${t[1]}.${t[2]}.${t[3]}`:null}function Qe(e,t=Ee){return e?$(e,t)>=0:!0}function Yr({command:e,timeout:t=1e4,...o}={}){let n=e||Xe(o),s={command:n,version:null,raw:null,supported:!0,ok:!1},r;try{r=ze(n,["--version"],{encoding:"utf8",timeout:t,windowsHide:!0})}catch{return s}if(r.error||r.status!==0&&r.status!==1)return s;let i=`${r.stdout||""}${r.stderr||""}`.trim(),c=Ze(i);return{command:n,version:c,raw:i||null,supported:Qe(c),ok:!0}}function Ur(e){return`Herdr ${e} is older than ${Ee}, which herdr-remote is written against. Run "herdr update" \u2014 window titles, large pastes, taps on a pane and Alt shortcuts all misbehave in browser windows before that release.`}function Vr({env:e=process.env,home:t=q.homedir(),platform:o=process.platform,directories:n=ke(t,o,e)}={}){let s=String(e.HERDR_BIN_PATH||"").trim(),r=[`Herdr executable "${T}" was not found.`];return s&&r.push(`HERDR_BIN_PATH=${s} does not point at an executable.`),r.push(n.length?`Searched PATH and ${n.join(", ")}.`:"Searched PATH."),r.push("Install Herdr or set HERDR_BIN_PATH to its full path, then restart herdr-remote."),r.join(" ")}export{ee as a,Ke as b,Nr as c,we as d,Or as e,Cr as f,$ as g,Hr as h,Ve as i,Ir as j,Ee as k,be as l,Xe as m,Kr as n,Yr as o,Ur as p,Vr as q};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createRequire as __herdrCreateRequire } from 'node:module';
|
|
2
|
+
const require = __herdrCreateRequire(import.meta.url);
|
|
3
|
+
import{spawnSync as d}from"node:child_process";import a from"node:fs";var $=1e4,S=/herdr-remote-relay\.js|connector[\\/]main\.js|herdr-remote\.js"?\s+run\b/;function g(t){if(!Number.isInteger(t)||t<=0)return!1;try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}function u(t,e){let n=d(t,e,{encoding:"utf8",env:{...process.env,LC_ALL:"C",TZ:"UTC"},stdio:["ignore","pipe","ignore"],timeout:$,windowsHide:!0});return typeof n.stdout=="string"?n.stdout:""}function l(t){let e=new Map;for(let n of t.split(/\r?\n/)){let r=/^\s*(\d+)\s+(\S.*?)\s*$/.exec(n);r&&e.set(Number(r[1]),r[2])}return e}function _(t,e,n){let r="";if(e==="start")try{r=a.readFileSync("/proc/sys/kernel/random/boot_id","utf8").trim()}catch{return p(t,e,n)}let o=new Map;for(let s of t){let i;try{i=a.readFileSync(`/proc/${s}/${e==="start"?"stat":"cmdline"}`,"utf8")}catch{continue}if(e==="command"){o.set(s,i.replaceAll("\0"," ").trim());continue}let c=i.slice(i.lastIndexOf(")")+2).split(" ");c[19]&&o.set(s,`${r}:${c[19]}`)}return o}function p(t,e,n){return l(n("ps",["-o",`pid=,${e==="start"?"lstart":"command"}=`,"-p",t.join(",")]))}function h(t,e,n){let r=e==="start"?`Get-Process -Id ${t.join(",")} -ErrorAction SilentlyContinue | Where-Object StartTime | ForEach-Object { "$($_.Id) $($_.StartTime.ToFileTimeUtc())" }`:`Get-CimInstance Win32_Process -Filter "${t.map(o=>`ProcessId=${o}`).join(" OR ")}" | ForEach-Object { "$($_.ProcessId) $($_.CommandLine)" }`;return l(n("powershell.exe",["-NoProfile","-NonInteractive","-Command",r]))}function f(t,e,n,r){let o=[...new Set(t)].filter(g);return o.length===0?new Map:n==="linux"?_(o,e,r):n==="win32"?h(o,e,r):p(o,e,r)}function m(t,e=process.platform,n=u){return f(t,"start",e,n)}function w(t,e=process.platform,n=u){return f(t,"command",e,n)}function x(t,e=process.platform){return m([t],e).get(t)??null}function C(t){let e=s=>s.map(i=>i.pid).filter(i=>Number.isInteger(i)),n=t.filter(s=>typeof s.processStart!="string"),r=m(e(t.filter(s=>!n.includes(s)))),o=n.length>0?w(e(n)):new Map;return t.filter(s=>n.includes(s)?s.pid!==process.pid&&S.test(o.get(s.pid)??""):r.get(s.pid)===s.processStart)}export{g as a,x as b,C as c};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createRequire as __herdrCreateRequire } from 'node:module';
|
|
2
|
+
const require = __herdrCreateRequire(import.meta.url);
|
|
3
|
+
import{b as t}from"./7SMZ43LI.js";import"./I6NRCYLI.js";var n=globalThis;n.WebSocket||=t;n.window||=globalThis;n.self||=globalThis;n.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}];import a from"react-devtools-core";var l=async()=>new Promise(o=>{let e=new t("ws://localhost:8097"),i=setTimeout(()=>{e.terminate(),o(!1)},2e3);i.unref(),e.on("open",()=>{clearTimeout(i),e.terminate(),o(!0)}),e.on("error",()=>{clearTimeout(i),e.terminate(),o(!1)})});await l()?(a.initialize(),a.connectToDevTools()):console.warn(`DEV is set to true, but the React DevTools server is not running. Start it with:
|
|
4
|
+
|
|
5
|
+
$ npx react-devtools
|
|
6
|
+
`);
|