@claudiolabs/claudio 0.1.9
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/LICENSE +29 -0
- package/README.md +311 -0
- package/bin/claudio +96 -0
- package/dist/chunks/AgentTool-0.1.9-e26h2f7z.mjs +1 -0
- package/dist/chunks/App-0.1.9-7ttp2eny.mjs +1 -0
- package/dist/chunks/ApproveApiKey-0.1.9-pz0jzna9.mjs +1 -0
- package/dist/chunks/AssistantSessionChooser-0.1.9-r5wg1yfv.mjs +1 -0
- package/dist/chunks/AutoModeOptInDialog-0.1.9-nbnjg2tp.mjs +1 -0
- package/dist/chunks/BypassPermissionsModeDialog-0.1.9-wjg6qps3.mjs +1 -0
- package/dist/chunks/ClaudeInChromeOnboarding-0.1.9-h46b49p8.mjs +1 -0
- package/dist/chunks/ClaudeMdExternalIncludesDialog-0.1.9-b8em430v.mjs +1 -0
- package/dist/chunks/ConsoleOAuthFlow-0.1.9-zb1h6dvy.mjs +1 -0
- package/dist/chunks/DiffDialog-0.1.9-09s28v8e.mjs +3 -0
- package/dist/chunks/Doctor-0.1.9-9ak6wqtr.mjs +1 -0
- package/dist/chunks/Grove-0.1.9-rbrf13rd.mjs +1 -0
- package/dist/chunks/ITermBackend-0.1.9-8dgw249h.mjs +1 -0
- package/dist/chunks/InProcessTransport-0.1.9-5cp1e7x7.mjs +1 -0
- package/dist/chunks/InvalidConfigDialog-0.1.9-6mv9wgt8.mjs +1 -0
- package/dist/chunks/InvalidSettingsDialog-0.1.9-d5kkd4yd.mjs +1 -0
- package/dist/chunks/MigrationDialog-0.1.9-56807wps.mjs +1 -0
- package/dist/chunks/Onboarding-0.1.9-g5nqdh1r.mjs +1 -0
- package/dist/chunks/ProviderManager-0.1.9-kj6t8003.mjs +1 -0
- package/dist/chunks/REPL-0.1.9-3h2fc9z7.mjs +1 -0
- package/dist/chunks/ResumeConversation-0.1.9-k4gv6dx4.mjs +1 -0
- package/dist/chunks/SnapshotUpdateDialog-0.1.9-v3h7drc0.mjs +1 -0
- package/dist/chunks/StartupScreen-0.1.9-jgk08xvj.mjs +1 -0
- package/dist/chunks/TeleportProgress-0.1.9-pnqkmgap.mjs +1 -0
- package/dist/chunks/TeleportRepoMismatchDialog-0.1.9-ddtmy43v.mjs +1 -0
- package/dist/chunks/TeleportResumeWrapper-0.1.9-vhnyx04e.mjs +1 -0
- package/dist/chunks/TmuxBackend-0.1.9-nb2ks1np.mjs +9 -0
- package/dist/chunks/ToolSearchTool-0.1.9-n40whaty.mjs +1 -0
- package/dist/chunks/TrustDialog-0.1.9-dm2wppgy.mjs +1 -0
- package/dist/chunks/activeProvider-0.1.9-kbwwatt3.mjs +1 -0
- package/dist/chunks/add-dir-0.1.9-ed53zp9j.mjs +1 -0
- package/dist/chunks/agents-0.1.9-4gwb1qtc.mjs +111 -0
- package/dist/chunks/agents-0.1.9-yr85gwa8.mjs +3 -0
- package/dist/chunks/api-0.1.9-kqwfw6wj.mjs +1 -0
- package/dist/chunks/asciicast-0.1.9-ekvsjx76.mjs +1 -0
- package/dist/chunks/assistant-0.1.9-h4rgf0xq.mjs +1 -0
- package/dist/chunks/auth-0.1.9-1c12xrxs.mjs +1 -0
- package/dist/chunks/auth-0.1.9-rqfx3vqa.mjs +1 -0
- package/dist/chunks/autoMode-0.1.9-s92asycq.mjs +48 -0
- package/dist/chunks/backgroundHousekeeping-0.1.9-jjbqckpm.mjs +1 -0
- package/dist/chunks/branch-0.1.9-m7j2aerq.mjs +4 -0
- package/dist/chunks/bridgePointer-0.1.9-rv3aq23v.mjs +1 -0
- package/dist/chunks/btw-0.1.9-g55x31zp.mjs +1 -0
- package/dist/chunks/buddy-0.1.9-fqmk7e4y.mjs +3 -0
- package/dist/chunks/cacache-0.1.9-dr1vt8s1.mjs +1 -0
- package/dist/chunks/cache-probe-0.1.9-ydmjrch4.mjs +21 -0
- package/dist/chunks/cacheStats-0.1.9-pkarrnw9.mjs +4 -0
- package/dist/chunks/caches-0.1.9-d6cndrra.mjs +1 -0
- package/dist/chunks/chrome-0.1.9-bvwzw157.mjs +1 -0
- package/dist/chunks/chromeNativeHost-0.1.9-8a20nscz.mjs +2 -0
- package/dist/chunks/claude-for-chrome-mcp-0.1.9-ndknjd3g.mjs +1 -0
- package/dist/chunks/claudeDesktop-0.1.9-7xprztbk.mjs +1 -0
- package/dist/chunks/claudemd-0.1.9-dqyhgy2v.mjs +1 -0
- package/dist/chunks/clear-0.1.9-tb8x7676.mjs +1 -0
- package/dist/chunks/cli-0.1.9-001s9kxw.mjs +24 -0
- package/dist/chunks/cli-0.1.9-03e1d9dw.mjs +39 -0
- package/dist/chunks/cli-0.1.9-04ez73f7.mjs +5084 -0
- package/dist/chunks/cli-0.1.9-0dtdhejj.mjs +31 -0
- package/dist/chunks/cli-0.1.9-0e6nsh68.mjs +3 -0
- package/dist/chunks/cli-0.1.9-0j8n671q.mjs +2 -0
- package/dist/chunks/cli-0.1.9-15y0qt1z.mjs +2 -0
- package/dist/chunks/cli-0.1.9-1c3qpbdh.mjs +2 -0
- package/dist/chunks/cli-0.1.9-1f5gmndb.mjs +2 -0
- package/dist/chunks/cli-0.1.9-1ghbcafn.mjs +2 -0
- package/dist/chunks/cli-0.1.9-1kaj4v6k.mjs +2 -0
- package/dist/chunks/cli-0.1.9-1xmdqqzd.mjs +3 -0
- package/dist/chunks/cli-0.1.9-263y2rkc.mjs +3 -0
- package/dist/chunks/cli-0.1.9-2dd7h0hn.mjs +15 -0
- package/dist/chunks/cli-0.1.9-2prq7peb.mjs +2 -0
- package/dist/chunks/cli-0.1.9-2tc83tsz.mjs +2 -0
- package/dist/chunks/cli-0.1.9-2thp2z73.mjs +2 -0
- package/dist/chunks/cli-0.1.9-2v0y90vz.mjs +2 -0
- package/dist/chunks/cli-0.1.9-2v4s8yf9.mjs +7 -0
- package/dist/chunks/cli-0.1.9-2x18rhq6.mjs +6 -0
- package/dist/chunks/cli-0.1.9-38zb09vp.mjs +2 -0
- package/dist/chunks/cli-0.1.9-3g3er8j1.mjs +15 -0
- package/dist/chunks/cli-0.1.9-3h4serkj.mjs +58 -0
- package/dist/chunks/cli-0.1.9-3rhe87kw.mjs +2 -0
- package/dist/chunks/cli-0.1.9-3vfq7jja.mjs +34 -0
- package/dist/chunks/cli-0.1.9-3wmbdmrp.mjs +2 -0
- package/dist/chunks/cli-0.1.9-3y36913h.mjs +10 -0
- package/dist/chunks/cli-0.1.9-3yscrq86.mjs +833 -0
- package/dist/chunks/cli-0.1.9-45ggwszg.mjs +2 -0
- package/dist/chunks/cli-0.1.9-4a9qwf11.mjs +2 -0
- package/dist/chunks/cli-0.1.9-4bg6jxs8.mjs +2 -0
- package/dist/chunks/cli-0.1.9-4kk9fmg2.mjs +2 -0
- package/dist/chunks/cli-0.1.9-4n4dqg6k.mjs +2 -0
- package/dist/chunks/cli-0.1.9-4sqfjw8t.mjs +16 -0
- package/dist/chunks/cli-0.1.9-4vmbyj20.mjs +2 -0
- package/dist/chunks/cli-0.1.9-4vt296k0.mjs +18 -0
- package/dist/chunks/cli-0.1.9-5ryrgdzg.mjs +2 -0
- package/dist/chunks/cli-0.1.9-5vgk7wf7.mjs +2 -0
- package/dist/chunks/cli-0.1.9-5ygmjsje.mjs +2 -0
- package/dist/chunks/cli-0.1.9-5ypg3t0t.mjs +2 -0
- package/dist/chunks/cli-0.1.9-5zhhyq4q.mjs +2 -0
- package/dist/chunks/cli-0.1.9-61ywjha3.mjs +2 -0
- package/dist/chunks/cli-0.1.9-68vwvmkw.mjs +2 -0
- package/dist/chunks/cli-0.1.9-6c7qrr4p.mjs +16 -0
- package/dist/chunks/cli-0.1.9-6gk46nr9.mjs +2 -0
- package/dist/chunks/cli-0.1.9-6j5gxw5r.mjs +5 -0
- package/dist/chunks/cli-0.1.9-6ne451jc.mjs +2 -0
- package/dist/chunks/cli-0.1.9-6p67vwxh.mjs +2 -0
- package/dist/chunks/cli-0.1.9-6pcahrj9.mjs +2 -0
- package/dist/chunks/cli-0.1.9-7047sjwh.mjs +2 -0
- package/dist/chunks/cli-0.1.9-7bakxr5q.mjs +3 -0
- package/dist/chunks/cli-0.1.9-7bthhhpf.mjs +2 -0
- package/dist/chunks/cli-0.1.9-7fp0smtp.mjs +2 -0
- package/dist/chunks/cli-0.1.9-7ftnjyps.mjs +2 -0
- package/dist/chunks/cli-0.1.9-7h5my4fb.mjs +2 -0
- package/dist/chunks/cli-0.1.9-7kcaaxvq.mjs +12 -0
- package/dist/chunks/cli-0.1.9-7q9461ka.mjs +2 -0
- package/dist/chunks/cli-0.1.9-7qhatm3v.mjs +2 -0
- package/dist/chunks/cli-0.1.9-86kws2c7.mjs +192 -0
- package/dist/chunks/cli-0.1.9-8egwvs85.mjs +2 -0
- package/dist/chunks/cli-0.1.9-90h21nv5.mjs +2 -0
- package/dist/chunks/cli-0.1.9-9d4sp76k.mjs +2 -0
- package/dist/chunks/cli-0.1.9-9hc8gyb7.mjs +2 -0
- package/dist/chunks/cli-0.1.9-9nhh15bp.mjs +2 -0
- package/dist/chunks/cli-0.1.9-9vab0er5.mjs +2 -0
- package/dist/chunks/cli-0.1.9-9vn4ys3c.mjs +22 -0
- package/dist/chunks/cli-0.1.9-a1gtww1d.mjs +2 -0
- package/dist/chunks/cli-0.1.9-a7zy4vqn.mjs +134 -0
- package/dist/chunks/cli-0.1.9-a95nqhbd.mjs +4 -0
- package/dist/chunks/cli-0.1.9-ag6a8kqj.mjs +2 -0
- package/dist/chunks/cli-0.1.9-ak0b9xfs.mjs +100 -0
- package/dist/chunks/cli-0.1.9-aqd7czgr.mjs +3 -0
- package/dist/chunks/cli-0.1.9-axg1kbe4.mjs +2 -0
- package/dist/chunks/cli-0.1.9-aype6q4y.mjs +2 -0
- package/dist/chunks/cli-0.1.9-b3031hmy.mjs +2 -0
- package/dist/chunks/cli-0.1.9-b6zp931m.mjs +11 -0
- package/dist/chunks/cli-0.1.9-b73n8vzm.mjs +2 -0
- package/dist/chunks/cli-0.1.9-b9kbpf6n.mjs +2 -0
- package/dist/chunks/cli-0.1.9-bg9xvmav.mjs +2 -0
- package/dist/chunks/cli-0.1.9-bn43vpc0.mjs +2 -0
- package/dist/chunks/cli-0.1.9-br9jzagb.mjs +2 -0
- package/dist/chunks/cli-0.1.9-c2fjeq7k.mjs +2 -0
- package/dist/chunks/cli-0.1.9-c38eyh49.mjs +2 -0
- package/dist/chunks/cli-0.1.9-cfzmq9k6.mjs +2 -0
- package/dist/chunks/cli-0.1.9-cvnkghgh.mjs +3 -0
- package/dist/chunks/cli-0.1.9-dmcbsmj4.mjs +2 -0
- package/dist/chunks/cli-0.1.9-dsx18zt1.mjs +2 -0
- package/dist/chunks/cli-0.1.9-dt31fs16.mjs +2 -0
- package/dist/chunks/cli-0.1.9-dzz1me99.mjs +2 -0
- package/dist/chunks/cli-0.1.9-e7ewtpew.mjs +2 -0
- package/dist/chunks/cli-0.1.9-e96x59hw.mjs +2 -0
- package/dist/chunks/cli-0.1.9-ehhkqhbv.mjs +2 -0
- package/dist/chunks/cli-0.1.9-eqxc9zxm.mjs +12 -0
- package/dist/chunks/cli-0.1.9-ewq9k9mr.mjs +2 -0
- package/dist/chunks/cli-0.1.9-ewwxqbvt.mjs +2 -0
- package/dist/chunks/cli-0.1.9-f4v4pahc.mjs +4 -0
- package/dist/chunks/cli-0.1.9-f643fvt4.mjs +2 -0
- package/dist/chunks/cli-0.1.9-f8ga1n8r.mjs +6 -0
- package/dist/chunks/cli-0.1.9-fcf313e7.mjs +2 -0
- package/dist/chunks/cli-0.1.9-fh5enjw8.mjs +5 -0
- package/dist/chunks/cli-0.1.9-fm2yycpj.mjs +2 -0
- package/dist/chunks/cli-0.1.9-fwqwgjwb.mjs +2 -0
- package/dist/chunks/cli-0.1.9-gandxpzf.mjs +2 -0
- package/dist/chunks/cli-0.1.9-gasw7sr9.mjs +2 -0
- package/dist/chunks/cli-0.1.9-gdymcvby.mjs +2 -0
- package/dist/chunks/cli-0.1.9-gpd1bhnf.mjs +2 -0
- package/dist/chunks/cli-0.1.9-gsc0t4gy.mjs +2 -0
- package/dist/chunks/cli-0.1.9-gvrtqwe3.mjs +2 -0
- package/dist/chunks/cli-0.1.9-h8xne7z8.mjs +2 -0
- package/dist/chunks/cli-0.1.9-hjcv9wr7.mjs +50 -0
- package/dist/chunks/cli-0.1.9-hva25eg3.mjs +4 -0
- package/dist/chunks/cli-0.1.9-hy4peemf.mjs +3 -0
- package/dist/chunks/cli-0.1.9-hy9s1fnj.mjs +14 -0
- package/dist/chunks/cli-0.1.9-hz8rssz0.mjs +2 -0
- package/dist/chunks/cli-0.1.9-j5zz6gbq.mjs +4 -0
- package/dist/chunks/cli-0.1.9-jb6af8n8.mjs +2 -0
- package/dist/chunks/cli-0.1.9-jchn9hyn.mjs +2 -0
- package/dist/chunks/cli-0.1.9-jdpz959j.mjs +2 -0
- package/dist/chunks/cli-0.1.9-jv2z42gk.mjs +2 -0
- package/dist/chunks/cli-0.1.9-kbrf27z8.mjs +2 -0
- package/dist/chunks/cli-0.1.9-krv35v3v.mjs +2 -0
- package/dist/chunks/cli-0.1.9-ksv4ntar.mjs +2 -0
- package/dist/chunks/cli-0.1.9-kt9xw7bn.mjs +2 -0
- package/dist/chunks/cli-0.1.9-m7shtst2.mjs +2 -0
- package/dist/chunks/cli-0.1.9-mfyd9h50.mjs +2 -0
- package/dist/chunks/cli-0.1.9-mj88t3jf.mjs +2 -0
- package/dist/chunks/cli-0.1.9-mjkhzp2c.mjs +3 -0
- package/dist/chunks/cli-0.1.9-mkfnnvz7.mjs +4 -0
- package/dist/chunks/cli-0.1.9-mme2x7fq.mjs +2 -0
- package/dist/chunks/cli-0.1.9-mnegaqr7.mjs +2 -0
- package/dist/chunks/cli-0.1.9-mx4ekht0.mjs +2 -0
- package/dist/chunks/cli-0.1.9-mz3mbxwb.mjs +12 -0
- package/dist/chunks/cli-0.1.9-n445yk6z.mjs +2 -0
- package/dist/chunks/cli-0.1.9-n54k4qt3.mjs +2 -0
- package/dist/chunks/cli-0.1.9-n8tc0gpm.mjs +2 -0
- package/dist/chunks/cli-0.1.9-nsgdz4rd.mjs +2 -0
- package/dist/chunks/cli-0.1.9-nw3rpxdd.mjs +252 -0
- package/dist/chunks/cli-0.1.9-nz8phj17.mjs +2 -0
- package/dist/chunks/cli-0.1.9-p1kdk178.mjs +2 -0
- package/dist/chunks/cli-0.1.9-p58rgwkr.mjs +4 -0
- package/dist/chunks/cli-0.1.9-p5scdysw.mjs +2 -0
- package/dist/chunks/cli-0.1.9-pdbfg3vh.mjs +2 -0
- package/dist/chunks/cli-0.1.9-pgwsmwz1.mjs +2 -0
- package/dist/chunks/cli-0.1.9-ph3w8t78.mjs +2 -0
- package/dist/chunks/cli-0.1.9-psx0e36a.mjs +2 -0
- package/dist/chunks/cli-0.1.9-q3e2h88a.mjs +2 -0
- package/dist/chunks/cli-0.1.9-q7hve442.mjs +2 -0
- package/dist/chunks/cli-0.1.9-qqjp7mpj.mjs +2 -0
- package/dist/chunks/cli-0.1.9-qydwhycw.mjs +2 -0
- package/dist/chunks/cli-0.1.9-r3ha1332.mjs +7 -0
- package/dist/chunks/cli-0.1.9-r7rcv2wm.mjs +8 -0
- package/dist/chunks/cli-0.1.9-rd0jctgk.mjs +21 -0
- package/dist/chunks/cli-0.1.9-rerthk1j.mjs +2 -0
- package/dist/chunks/cli-0.1.9-rft22htm.mjs +2 -0
- package/dist/chunks/cli-0.1.9-rp31nc37.mjs +2 -0
- package/dist/chunks/cli-0.1.9-rw09xkh7.mjs +2 -0
- package/dist/chunks/cli-0.1.9-s0w3y07w.mjs +2 -0
- package/dist/chunks/cli-0.1.9-s45y2ndk.mjs +2 -0
- package/dist/chunks/cli-0.1.9-s6bk4fbn.mjs +2 -0
- package/dist/chunks/cli-0.1.9-scpj6tps.mjs +3 -0
- package/dist/chunks/cli-0.1.9-sqja68fn.mjs +2 -0
- package/dist/chunks/cli-0.1.9-sv3awdsv.mjs +2 -0
- package/dist/chunks/cli-0.1.9-t24n24mw.mjs +2 -0
- package/dist/chunks/cli-0.1.9-teaymnrz.mjs +2 -0
- package/dist/chunks/cli-0.1.9-tq9z3reg.mjs +2 -0
- package/dist/chunks/cli-0.1.9-v32f99vc.mjs +11 -0
- package/dist/chunks/cli-0.1.9-v6x9pr1t.mjs +2 -0
- package/dist/chunks/cli-0.1.9-v7ajk1nz.mjs +2 -0
- package/dist/chunks/cli-0.1.9-vdw09f8y.mjs +44 -0
- package/dist/chunks/cli-0.1.9-vm7cggd9.mjs +45 -0
- package/dist/chunks/cli-0.1.9-vp3dtntc.mjs +2 -0
- package/dist/chunks/cli-0.1.9-vwv31syx.mjs +2 -0
- package/dist/chunks/cli-0.1.9-w692zn5c.mjs +2 -0
- package/dist/chunks/cli-0.1.9-wn39cz20.mjs +2 -0
- package/dist/chunks/cli-0.1.9-wpvrabrk.mjs +2 -0
- package/dist/chunks/cli-0.1.9-x0xxr5dh.mjs +13 -0
- package/dist/chunks/cli-0.1.9-x13p19zq.mjs +2 -0
- package/dist/chunks/cli-0.1.9-x257hapj.mjs +9 -0
- package/dist/chunks/cli-0.1.9-x7qrvj9f.mjs +2 -0
- package/dist/chunks/cli-0.1.9-xvn37fkk.mjs +2 -0
- package/dist/chunks/cli-0.1.9-xvvq2rcd.mjs +4 -0
- package/dist/chunks/cli-0.1.9-xws3mhz4.mjs +2 -0
- package/dist/chunks/cli-0.1.9-y8n4w5nn.mjs +5 -0
- package/dist/chunks/cli-0.1.9-ycvkz1gf.mjs +4 -0
- package/dist/chunks/cli-0.1.9-yddanjg2.mjs +132 -0
- package/dist/chunks/cli-0.1.9-ymsq31jx.mjs +2 -0
- package/dist/chunks/cli-0.1.9-ywf6743k.mjs +2 -0
- package/dist/chunks/cli-0.1.9-z5mm21jw.mjs +24 -0
- package/dist/chunks/cli-0.1.9-zae1me3j.mjs +2 -0
- package/dist/chunks/cli-0.1.9-zck4s4sh.mjs +2 -0
- package/dist/chunks/cli-0.1.9-zehsa1kq.mjs +2 -0
- package/dist/chunks/cli-0.1.9-zqyxbf50.mjs +2 -0
- package/dist/chunks/cli-0.1.9-zrdz7st3.mjs +3 -0
- package/dist/chunks/cli-0.1.9-zstpbdrf.mjs +2 -0
- package/dist/chunks/cli-0.1.9-zzp8m503.mjs +3 -0
- package/dist/chunks/cliArgs-0.1.9-kckasx4h.mjs +1 -0
- package/dist/chunks/client-0.1.9-ys52xz2v.mjs +1 -0
- package/dist/chunks/color-0.1.9-nmnytefc.mjs +1 -0
- package/dist/chunks/compact-0.1.9-qw915ckh.mjs +3 -0
- package/dist/chunks/config-0.1.9-1m69edch.mjs +1 -0
- package/dist/chunks/config-0.1.9-6knxc8a2.mjs +1 -0
- package/dist/chunks/context-0.1.9-47a3xmqq.mjs +1 -0
- package/dist/chunks/context-noninteractive-0.1.9-6s9bm74v.mjs +1 -0
- package/dist/chunks/conversation-0.1.9-vebter8y.mjs +1 -0
- package/dist/chunks/copy-0.1.9-ae06p3e2.mjs +9 -0
- package/dist/chunks/cost-0.1.9-x5zee0z9.mjs +1 -0
- package/dist/chunks/createSession-0.1.9-djn7xdsv.mjs +1 -0
- package/dist/chunks/desktop-0.1.9-xaecrssd.mjs +1 -0
- package/dist/chunks/detectRepository-0.1.9-qqzcce45.mjs +1 -0
- package/dist/chunks/detection-0.1.9-ry1q2ym2.mjs +1 -0
- package/dist/chunks/devtools-0.1.9-kzs9wq2w.mjs +1 -0
- package/dist/chunks/diff-0.1.9-af5n5bzh.mjs +1 -0
- package/dist/chunks/doctor-0.1.9-9f6fz2h0.mjs +1 -0
- package/dist/chunks/earlyInput-0.1.9-h7yskwvf.mjs +1 -0
- package/dist/chunks/effort-0.1.9-spz96zzr.mjs +8 -0
- package/dist/chunks/environmentSelection-0.1.9-0va5g53h.mjs +1 -0
- package/dist/chunks/environments-0.1.9-2hka6k26.mjs +1 -0
- package/dist/chunks/exit-0.1.9-rvk04qa2.mjs +1 -0
- package/dist/chunks/export-0.1.9-c3pqjktx.mjs +2 -0
- package/dist/chunks/extra-usage-0.1.9-92jjke47.mjs +1 -0
- package/dist/chunks/extra-usage-noninteractive-0.1.9-27zjp5q7.mjs +1 -0
- package/dist/chunks/fast-0.1.9-60sqqvgd.mjs +1 -0
- package/dist/chunks/feedback-0.1.9-anraj53n.mjs +14 -0
- package/dist/chunks/firstPartyEventLogger-0.1.9-y55fqx1x.mjs +1 -0
- package/dist/chunks/fullscreen-0.1.9-xy9bnpe3.mjs +1 -0
- package/dist/chunks/git-0.1.9-09pdaxwd.mjs +1 -0
- package/dist/chunks/githubModelsCredentials-0.1.9-bzx6c3bd.mjs +1 -0
- package/dist/chunks/growthbook-0.1.9-rqhcy76z.mjs +1 -0
- package/dist/chunks/heapdump-0.1.9-qrfce4dp.mjs +6 -0
- package/dist/chunks/help-0.1.9-sfn2ed9n.mjs +1 -0
- package/dist/chunks/hookChains-0.1.9-5t2mrtyc.mjs +3 -0
- package/dist/chunks/hooks-0.1.9-4cebdztn.mjs +1 -0
- package/dist/chunks/hooks-0.1.9-y0vtx23k.mjs +79 -0
- package/dist/chunks/ide-0.1.9-yxzacgd5.mjs +3 -0
- package/dist/chunks/image-processor-napi-0.1.9-fwc1ge47.mjs +1 -0
- package/dist/chunks/index-0.1.9-2gv7a7tq.mjs +2 -0
- package/dist/chunks/index-0.1.9-31vnb803.mjs +1 -0
- package/dist/chunks/index-0.1.9-68aa3hmw.mjs +1 -0
- package/dist/chunks/index-0.1.9-7ktx5gez.mjs +1 -0
- package/dist/chunks/index-0.1.9-8feamw1f.mjs +1 -0
- package/dist/chunks/index-0.1.9-8hzceckr.mjs +5 -0
- package/dist/chunks/index-0.1.9-96thm65j.mjs +1 -0
- package/dist/chunks/index-0.1.9-c7sexk3f.mjs +2 -0
- package/dist/chunks/index-0.1.9-fvtq6thw.mjs +1 -0
- package/dist/chunks/index-0.1.9-g2ngvhaf.mjs +1 -0
- package/dist/chunks/index-0.1.9-gtn0qcv2.mjs +7 -0
- package/dist/chunks/index-0.1.9-h548q4km.mjs +1 -0
- package/dist/chunks/index-0.1.9-j6ac60hq.mjs +1 -0
- package/dist/chunks/index-0.1.9-jxdymwv4.mjs +1 -0
- package/dist/chunks/index-0.1.9-kgdkzpmr.mjs +1 -0
- package/dist/chunks/index-0.1.9-mt2y3wyw.mjs +9 -0
- package/dist/chunks/index-0.1.9-smem7egb.mjs +30 -0
- package/dist/chunks/index-0.1.9-snmdvw2f.mjs +1 -0
- package/dist/chunks/index-0.1.9-vwevfx80.mjs +1 -0
- package/dist/chunks/index-0.1.9-w21jc8bp.mjs +1 -0
- package/dist/chunks/index-0.1.9-wpqaqk4y.mjs +1 -0
- package/dist/chunks/index-0.1.9-yjp28h60.mjs +9 -0
- package/dist/chunks/initReplBridge-0.1.9-dag95hyf.mjs +1 -0
- package/dist/chunks/ink-0.1.9-4n2nvw5p.mjs +1 -0
- package/dist/chunks/insights-0.1.9-9hr8tshw.mjs +870 -0
- package/dist/chunks/install-0.1.9-km91vvgf.mjs +1 -0
- package/dist/chunks/install-github-app-0.1.9-874a2dgj.mjs +149 -0
- package/dist/chunks/install-slack-app-0.1.9-q5yyb8vs.mjs +1 -0
- package/dist/chunks/instrumentation-0.1.9-raz129aj.mjs +12 -0
- package/dist/chunks/interactiveHelpers-0.1.9-21a8r4rv.mjs +1 -0
- package/dist/chunks/keybindings-0.1.9-nm8s4x8m.mjs +2 -0
- package/dist/chunks/knowledge-0.1.9-zhr6zq80.mjs +2 -0
- package/dist/chunks/loadAgentsDir-0.1.9-3m0mzw84.mjs +1 -0
- package/dist/chunks/loadPluginHooks-0.1.9-y46g5zj0.mjs +1 -0
- package/dist/chunks/logout-0.1.9-hb89bxj8.mjs +1 -0
- package/dist/chunks/lsp-0.1.9-2j3y8eqc.mjs +1 -0
- package/dist/chunks/main-0.1.9-7cnyr288.mjs +1 -0
- package/dist/chunks/managedEnv-0.1.9-y8wax2wz.mjs +1 -0
- package/dist/chunks/mcp-0.1.9-14beee71.mjs +17 -0
- package/dist/chunks/mcp-0.1.9-qw1n3pzx.mjs +4 -0
- package/dist/chunks/mcp-0.1.9-zd92e41j.mjs +1 -0
- package/dist/chunks/mcpServer-0.1.9-5p48a2y0.mjs +1 -0
- package/dist/chunks/mcpb-0.1.9-t8x1bjwv.mjs +1 -0
- package/dist/chunks/memory-0.1.9-mxz6vgsy.mjs +3 -0
- package/dist/chunks/mobile-0.1.9-144nwr03.mjs +2 -0
- package/dist/chunks/model-0.1.9-ghswdzx2.mjs +1 -0
- package/dist/chunks/model-0.1.9-j4vhm4vm.mjs +2 -0
- package/dist/chunks/oauth-0.1.9-a7p9ezjx.mjs +1 -0
- package/dist/chunks/openaiShim-0.1.9-5bn57rv6.mjs +14 -0
- package/dist/chunks/output-style-0.1.9-y8t5c5v3.mjs +1 -0
- package/dist/chunks/package-HMBVQOZ4-0.1.9-mbvqe0av.mjs +1 -0
- package/dist/chunks/parser-0.1.9-d7vc9q1w.mjs +1 -0
- package/dist/chunks/passes-0.1.9-84vsp058.mjs +1 -0
- package/dist/chunks/permissions-0.1.9-h0a2312z.mjs +3 -0
- package/dist/chunks/plan-0.1.9-k9dx9nwc.mjs +1 -0
- package/dist/chunks/plist-0.1.9-f3c6hvca.mjs +1 -0
- package/dist/chunks/plugin-0.1.9-z3nwra38.mjs +29 -0
- package/dist/chunks/pluginStartupCheck-0.1.9-p68xwmv4.mjs +1 -0
- package/dist/chunks/plugins-0.1.9-grc1bgmj.mjs +9 -0
- package/dist/chunks/print-0.1.9-z151tvas.mjs +57 -0
- package/dist/chunks/privacy-settings-0.1.9-m7xpxtd8.mjs +1 -0
- package/dist/chunks/process-0.1.9-anx0dq1a.mjs +1 -0
- package/dist/chunks/processBashCommand-0.1.9-bchtybqh.mjs +1 -0
- package/dist/chunks/processSlashCommand-0.1.9-ebvc859m.mjs +9 -0
- package/dist/chunks/prompt-0.1.9-08fnpwfx.mjs +1 -0
- package/dist/chunks/prompt-0.1.9-whqkx3td.mjs +1 -0
- package/dist/chunks/prompts-0.1.9-psek69yr.mjs +1 -0
- package/dist/chunks/provider-0.1.9-xwmdqr38.mjs +2 -0
- package/dist/chunks/providerProfiles-0.1.9-myc8zcfy.mjs +1 -0
- package/dist/chunks/rate-limit-options-0.1.9-06twart5.mjs +1 -0
- package/dist/chunks/registry-0.1.9-xxrsbce3.mjs +1 -0
- package/dist/chunks/release-notes-0.1.9-4r396x7z.mjs +5 -0
- package/dist/chunks/reload-plugins-0.1.9-hm09ekrf.mjs +2 -0
- package/dist/chunks/remote-env-0.1.9-0peng4np.mjs +1 -0
- package/dist/chunks/remoteBridgeCore-0.1.9-4eg0bkck.mjs +1 -0
- package/dist/chunks/remoteSession-0.1.9-7jagnaes.mjs +1 -0
- package/dist/chunks/rename-0.1.9-3r8bqa1y.mjs +1 -0
- package/dist/chunks/replBridgeHandle-0.1.9-1y32h5jq.mjs +1 -0
- package/dist/chunks/resume-0.1.9-gayv56qp.mjs +2 -0
- package/dist/chunks/rewind-0.1.9-krxjbzeg.mjs +1 -0
- package/dist/chunks/sandbox-adapter-0.1.9-b4ze2ex2.mjs +1 -0
- package/dist/chunks/sandbox-toggle-0.1.9-6vctxbed.mjs +1 -0
- package/dist/chunks/session-0.1.9-jtrr3jje.mjs +2 -0
- package/dist/chunks/sessionFileAccessHooks-0.1.9-wpgdva8t.mjs +1 -0
- package/dist/chunks/sessionStorage-0.1.9-1v6wyqzw.mjs +1 -0
- package/dist/chunks/setup-0.1.9-jc5w6v5s.mjs +5 -0
- package/dist/chunks/sinks-0.1.9-49ereb4y.mjs +1 -0
- package/dist/chunks/skills-0.1.9-d63w5m27.mjs +1 -0
- package/dist/chunks/startupProfiler-0.1.9-gmke65dk.mjs +1 -0
- package/dist/chunks/state-0.1.9-m8x0v07d.mjs +1 -0
- package/dist/chunks/stats-0.1.9-yvya6xg6.mjs +6 -0
- package/dist/chunks/status-0.1.9-sapnwz4b.mjs +1 -0
- package/dist/chunks/stickers-0.1.9-ewdagtd4.mjs +1 -0
- package/dist/chunks/subprocessEnv-0.1.9-2dqzh55d.mjs +1 -0
- package/dist/chunks/tasks-0.1.9-qgqwhse9.mjs +1 -0
- package/dist/chunks/teamHelpers-0.1.9-r474ar76.mjs +1 -0
- package/dist/chunks/teammateModeSnapshot-0.1.9-nwc11b9m.mjs +1 -0
- package/dist/chunks/teleport-0.1.9-xaj204my.mjs +1 -0
- package/dist/chunks/terminalSetup-0.1.9-xd5rhh32.mjs +1 -0
- package/dist/chunks/theme-0.1.9-f6jzdysz.mjs +1 -0
- package/dist/chunks/thinkback-0.1.9-8j25tex7.mjs +1 -0
- package/dist/chunks/thinkback-play-0.1.9-tzs2w3mj.mjs +1 -0
- package/dist/chunks/toolPool-0.1.9-6b4938vh.mjs +1 -0
- package/dist/chunks/toolSearch-0.1.9-7ych6nv7.mjs +1 -0
- package/dist/chunks/trustedDevice-0.1.9-xqxt3kmz.mjs +1 -0
- package/dist/chunks/turndown.cjs-0.1.9-m1wesrr4.mjs +69 -0
- package/dist/chunks/ultrareviewCommand-0.1.9-x09n5pvc.mjs +4 -0
- package/dist/chunks/update-0.1.9-8dntd8kh.mjs +94 -0
- package/dist/chunks/upgrade-0.1.9-eja31dgt.mjs +1 -0
- package/dist/chunks/upstreamproxy-0.1.9-pv2yqh11.mjs +14 -0
- package/dist/chunks/usage-0.1.9-neje6dea.mjs +1 -0
- package/dist/chunks/util-0.1.9-kdhggd68.mjs +1 -0
- package/dist/chunks/utils-0.1.9-bqw30f8b.mjs +1 -0
- package/dist/chunks/vim-0.1.9-w4d1qz6f.mjs +1 -0
- package/dist/chunks/watcher-0.1.9-ty2r0yxd.mjs +1 -0
- package/dist/chunks/wiki-0.1.9-ah646x2k.mjs +132 -0
- package/dist/chunks/worktree-0.1.9-d3fbxjwd.mjs +1 -0
- package/dist/chunks/worktreeModeEnabled-0.1.9-qbn6b5fs.mjs +1 -0
- package/dist/chunks/wrapper-0.1.9-eh46qafm.mjs +7 -0
- package/dist/claudio-vscode.vsix +0 -0
- package/dist/cli.mjs +7 -0
- package/package.json +153 -0
- package/scripts/v8cache-gc.mjs +84 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{q as dJ,r as jZ,t as MQ}from"./cli-0.1.9-fh5enjw8.mjs";import{A as DQ,B as EQ,C as CQ,v as VZ,w as FQ,x as fQ,y as lJ,z as wQ}from"./cli-0.1.9-aqd7czgr.mjs";import"./cli-0.1.9-r3ha1332.mjs";import{Ha as cJ,Ia as yQ,Ja as PQ,Ka as UQ,La as pJ,Ma as uJ}from"./cli-0.1.9-rerthk1j.mjs";import"./cli-0.1.9-w692zn5c.mjs";import{ed as KZ,gd as YZ,hd as XZ,id as gZ}from"./cli-0.1.9-q3e2h88a.mjs";import{jd as OJ,kd as BQ,ld as RQ,md as ZQ,nd as ZJ,od as mJ}from"./cli-0.1.9-1f5gmndb.mjs";import{pd as QZ,rd as HJ,sd as ZZ,td as lZ}from"./cli-0.1.9-n445yk6z.mjs";import{wd as $Z,xd as zZ,yd as dZ}from"./cli-0.1.9-2dd7h0hn.mjs";import{Wd as vJ,Yd as _Z}from"./cli-0.1.9-aype6q4y.mjs";import{ae as iJ,de as aZ}from"./cli-0.1.9-7qhatm3v.mjs";import{Kf as sQ,Lf as rQ,Mf as eQ,Nf as JZ,Of as uZ}from"./cli-0.1.9-p1kdk178.mjs";import{Fu as aQ,Gu as iQ,JH as nQ,Ju as cZ,Lp as gQ,MH as pZ,Mp as IZ,UM as iZ,VG as tQ,iM as yJ,zH as oQ}from"./cli-0.1.9-04ez73f7.mjs";import{SO as IJ,TO as fZ}from"./cli-0.1.9-9vab0er5.mjs";import{bP as xQ,fP as FZ}from"./cli-0.1.9-4bg6jxs8.mjs";import"./cli-0.1.9-fcf313e7.mjs";import"./cli-0.1.9-ak0b9xfs.mjs";import"./cli-0.1.9-4vmbyj20.mjs";import"./cli-0.1.9-6pcahrj9.mjs";import"./cli-0.1.9-fm2yycpj.mjs";import"./cli-0.1.9-p5scdysw.mjs";import"./cli-0.1.9-3rhe87kw.mjs";import{bR as AQ,dR as wZ}from"./cli-0.1.9-pgwsmwz1.mjs";import"./cli-0.1.9-gsc0t4gy.mjs";import"./cli-0.1.9-7047sjwh.mjs";import"./cli-0.1.9-gasw7sr9.mjs";import"./cli-0.1.9-68vwvmkw.mjs";import"./cli-0.1.9-3vfq7jja.mjs";import{aS as dQ,bS as LQ,cS as OQ,eS as _Q}from"./cli-0.1.9-gvrtqwe3.mjs";import"./cli-0.1.9-gpd1bhnf.mjs";import"./cli-0.1.9-nw3rpxdd.mjs";import"./cli-0.1.9-263y2rkc.mjs";import"./cli-0.1.9-mx4ekht0.mjs";import"./cli-0.1.9-dmcbsmj4.mjs";import"./cli-0.1.9-2x18rhq6.mjs";import"./cli-0.1.9-90h21nv5.mjs";import"./cli-0.1.9-v32f99vc.mjs";import"./cli-0.1.9-hva25eg3.mjs";import"./cli-0.1.9-1kaj4v6k.mjs";import"./cli-0.1.9-pdbfg3vh.mjs";import"./cli-0.1.9-vwv31syx.mjs";import"./cli-0.1.9-e7ewtpew.mjs";import"./cli-0.1.9-qqjp7mpj.mjs";import"./cli-0.1.9-2v4s8yf9.mjs";import"./cli-0.1.9-hy9s1fnj.mjs";import"./cli-0.1.9-x7qrvj9f.mjs";import"./cli-0.1.9-nsgdz4rd.mjs";import"./cli-0.1.9-mme2x7fq.mjs";import"./cli-0.1.9-v6x9pr1t.mjs";import"./cli-0.1.9-3wmbdmrp.mjs";import"./cli-0.1.9-z5mm21jw.mjs";import"./cli-0.1.9-61ywjha3.mjs";import"./cli-0.1.9-x0xxr5dh.mjs";import"./cli-0.1.9-dzz1me99.mjs";import"./cli-0.1.9-rft22htm.mjs";import"./cli-0.1.9-gandxpzf.mjs";import{A3 as MZ,F4 as SZ,f4 as gJ,h4 as aJ,j4 as lQ,p1 as uQ,s1 as vZ,z3 as BJ}from"./cli-0.1.9-4sqfjw8t.mjs";import"./cli-0.1.9-x257hapj.mjs";import"./cli-0.1.9-f8ga1n8r.mjs";import"./cli-0.1.9-yddanjg2.mjs";import"./cli-0.1.9-8egwvs85.mjs";import{M5 as QJ,b6 as OZ}from"./cli-0.1.9-b6zp931m.mjs";import"./cli-0.1.9-eqxc9zxm.mjs";import"./cli-0.1.9-jchn9hyn.mjs";import{L6 as _J,N6 as PZ,S7 as SQ,U6 as vQ,U7 as IQ,W6 as kZ,Waa as cQ,Zaa as pQ,i8 as bZ,qba as mZ}from"./cli-0.1.9-86kws2c7.mjs";import"./cli-0.1.9-0dtdhejj.mjs";import"./cli-0.1.9-mj88t3jf.mjs";import"./cli-0.1.9-7ftnjyps.mjs";import"./cli-0.1.9-45ggwszg.mjs";import{Jea as TZ,yea as mQ}from"./cli-0.1.9-wpvrabrk.mjs";import"./cli-0.1.9-mkfnnvz7.mjs";import"./cli-0.1.9-9nhh15bp.mjs";import{Afa as UZ,zfa as w}from"./cli-0.1.9-5ryrgdzg.mjs";import{Aga as NQ,Dfa as GQ,Ffa as yZ,Zfa as u,dga as qQ,xga as J}from"./cli-0.1.9-vdw09f8y.mjs";import{Ega as HQ,Mga as WQ,Oga as RZ}from"./cli-0.1.9-v7ajk1nz.mjs";import"./cli-0.1.9-sv3awdsv.mjs";import{Cia as bQ,pma as hZ,wia as RJ}from"./cli-0.1.9-7fp0smtp.mjs";import"./cli-0.1.9-1ghbcafn.mjs";import{mna as VQ}from"./cli-0.1.9-kbrf27z8.mjs";hZ();TZ();vZ();cZ();SZ();mZ();NQ();kZ();qQ();bZ();aZ();pZ();iZ();dZ();IZ();lZ();uZ();gZ();mJ();import{hostname as tZ}from"os";import{randomUUID as YQ}from"crypto";OZ();mJ();_Z();var xZ="environments-2025-11-01",AZ=/^[a-zA-Z0-9_-]+$/;function g(K,$){if(!K||!AZ.test(K))throw Error(`Invalid ${$}: contains unsafe characters`);return K}class zJ extends Error{status;errorType;constructor(K,$,L){super(K);this.name="BridgeFatalError",this.status=$,this.errorType=L}}function $Q(K){function $(Q){K.onDebug?.(Q)}let L=0,N=100;function x(Q){let z={Authorization:`Bearer ${Q}`,"Content-Type":"application/json","anthropic-version":"2023-06-01","anthropic-beta":xZ,"x-environment-runner-version":K.runnerVersion},H=K.getTrustedDeviceToken?.();if(H)z["X-Trusted-Device-Token"]=H;return z}function m(){let Q=K.getAccessToken();if(!Q)throw Error(vJ);return Q}async function h(Q,z){let H=m(),X=await Q(H);if(X.status!==401)return X;if(!K.onAuth401)return $(`[bridge:api] ${z}: 401 received, no refresh handler`),X;if($(`[bridge:api] ${z}: 401 received, attempting token refresh`),await K.onAuth401(H)){$(`[bridge:api] ${z}: Token refreshed, retrying request`);let y=m(),o=await Q(y);if(o.status!==401)return o;$(`[bridge:api] ${z}: Retry after refresh also got 401`)}else $(`[bridge:api] ${z}: Token refresh failed`);return X}return{async registerBridgeEnvironment(Q){$(`[bridge:api] POST /v1/environments/bridge bridgeId=${Q.bridgeId}`);let z=await h((H)=>QJ.post(`${K.baseUrl}/v1/environments/bridge`,{machine_name:Q.machineName,directory:Q.dir,branch:Q.branch,git_repo_url:Q.gitRepoUrl,max_sessions:Q.maxSessions,metadata:{worker_type:Q.workerType},...Q.reuseEnvironmentId&&{environment_id:Q.reuseEnvironmentId}},{headers:x(H),timeout:15000,validateStatus:(X)=>X<500}),"Registration");return $J(z.status,z.data,"Registration"),$(`[bridge:api] POST /v1/environments/bridge -> ${z.status} environment_id=${z.data.environment_id}`),$(`[bridge:api] >>> ${OJ({machine_name:Q.machineName,directory:Q.dir,branch:Q.branch,git_repo_url:Q.gitRepoUrl,max_sessions:Q.maxSessions,metadata:{worker_type:Q.workerType}})}`),$(`[bridge:api] <<< ${OJ(z.data)}`),z.data},async pollForWork(Q,z,H,X){g(Q,"environmentId");let R=L;L=0;let y=await QJ.get(`${K.baseUrl}/v1/environments/${Q}/work/poll`,{headers:x(z),params:X!==void 0?{reclaim_older_than_ms:X}:void 0,timeout:1e4,signal:H,validateStatus:(o)=>o<500});if($J(y.status,y.data,"Poll"),!y.data){if(L=R+1,L===1||L%N===0)$(`[bridge:api] GET .../work/poll -> ${y.status} (no work, ${L} consecutive empty polls)`);return null}return $(`[bridge:api] GET .../work/poll -> ${y.status} workId=${y.data.id} type=${y.data.data?.type}${y.data.data?.id?` sessionId=${y.data.data.id}`:""}`),$(`[bridge:api] <<< ${OJ(y.data)}`),y.data},async acknowledgeWork(Q,z,H){g(Q,"environmentId"),g(z,"workId"),$(`[bridge:api] POST .../work/${z}/ack`);let X=await QJ.post(`${K.baseUrl}/v1/environments/${Q}/work/${z}/ack`,{},{headers:x(H),timeout:1e4,validateStatus:(R)=>R<500});$J(X.status,X.data,"Acknowledge"),$(`[bridge:api] POST .../work/${z}/ack -> ${X.status}`)},async stopWork(Q,z,H){g(Q,"environmentId"),g(z,"workId"),$(`[bridge:api] POST .../work/${z}/stop force=${H}`);let X=await h((R)=>QJ.post(`${K.baseUrl}/v1/environments/${Q}/work/${z}/stop`,{force:H},{headers:x(R),timeout:1e4,validateStatus:(y)=>y<500}),"StopWork");$J(X.status,X.data,"StopWork"),$(`[bridge:api] POST .../work/${z}/stop -> ${X.status}`)},async deregisterEnvironment(Q){g(Q,"environmentId"),$(`[bridge:api] DELETE /v1/environments/bridge/${Q}`);let z=await h((H)=>QJ.delete(`${K.baseUrl}/v1/environments/bridge/${Q}`,{headers:x(H),timeout:1e4,validateStatus:(X)=>X<500}),"Deregister");$J(z.status,z.data,"Deregister"),$(`[bridge:api] DELETE /v1/environments/bridge/${Q} -> ${z.status}`)},async archiveSession(Q){g(Q,"sessionId"),$(`[bridge:api] POST /v1/sessions/${Q}/archive`);let z=await h((H)=>QJ.post(`${K.baseUrl}/v1/sessions/${Q}/archive`,{},{headers:x(H),timeout:1e4,validateStatus:(X)=>X<500}),"ArchiveSession");if(z.status===409){$(`[bridge:api] POST /v1/sessions/${Q}/archive -> 409 (already archived)`);return}$J(z.status,z.data,"ArchiveSession"),$(`[bridge:api] POST /v1/sessions/${Q}/archive -> ${z.status}`)},async reconnectSession(Q,z){g(Q,"environmentId"),g(z,"sessionId"),$(`[bridge:api] POST /v1/environments/${Q}/bridge/reconnect session_id=${z}`);let H=await h((X)=>QJ.post(`${K.baseUrl}/v1/environments/${Q}/bridge/reconnect`,{session_id:z},{headers:x(X),timeout:1e4,validateStatus:(R)=>R<500}),"ReconnectSession");$J(H.status,H.data,"ReconnectSession"),$(`[bridge:api] POST .../bridge/reconnect -> ${H.status}`)},async heartbeatWork(Q,z,H){g(Q,"environmentId"),g(z,"workId"),$(`[bridge:api] POST .../work/${z}/heartbeat`);let X=await QJ.post(`${K.baseUrl}/v1/environments/${Q}/work/${z}/heartbeat`,{},{headers:x(H),timeout:1e4,validateStatus:(R)=>R<500});return $J(X.status,X.data,"Heartbeat"),$(`[bridge:api] POST .../work/${z}/heartbeat -> ${X.status} lease_extended=${X.data.lease_extended} state=${X.data.state}`),X.data},async sendPermissionResponseEvent(Q,z,H){g(Q,"sessionId"),$(`[bridge:api] POST /v1/sessions/${Q}/events type=${z.type}`);let X=await QJ.post(`${K.baseUrl}/v1/sessions/${Q}/events`,{events:[z]},{headers:x(H),timeout:1e4,validateStatus:(R)=>R<500});$J(X.status,X.data,"SendPermissionResponseEvent"),$(`[bridge:api] POST /v1/sessions/${Q}/events -> ${X.status}`),$(`[bridge:api] >>> ${OJ({events:[z]})}`),$(`[bridge:api] <<< ${OJ(X.data)}`)}}}function $J(K,$,L){if(K===200||K===204)return;let N=ZQ($),x=BZ($);switch(K){case 401:throw new zJ(`${L}: Authentication failed (401)${N?`: ${N}`:""}. ${vJ}`,401,x);case 403:throw new zJ(SJ(x)?"Remote Control session has expired. Please restart with `claude remote-control` or /remote-control.":`${L}: Access denied (403)${N?`: ${N}`:""}. Check your organization permissions.`,403,x);case 404:throw new zJ(N??`${L}: Not found (404). Remote Control may not be available for this organization.`,404,x);case 410:throw new zJ(N??"Remote Control session has expired. Please restart with `claude remote-control` or /remote-control.",410,x??"environment_expired");case 429:throw Error(`${L}: Rate limited (429). Polling too frequently.`);default:throw Error(`${L}: Failed with status ${K}${N?`: ${N}`:""}`)}}function SJ(K){if(!K)return!1;return K.includes("expired")||K.includes("lifetime")}function zQ(K){if(K.status!==403)return!1;return K.message.includes("external_poll_sessions")||K.message.includes("environments:manage")}function BZ(K){if(K&&typeof K==="object"){if("error"in K&&K.error&&typeof K.error==="object"&&"type"in K.error&&typeof K.error.type==="string")return K.error.type}return}NQ();PZ();UZ();yZ();_Q();wZ();FZ();fZ();RZ();mJ();function KQ(K){let $=new AbortController;function L(){$.abort(),$=new AbortController}function N(){let x=new AbortController,m=()=>x.abort();if(K.aborted||$.signal.aborted)return x.abort(),{signal:x.signal,cleanup:()=>{}};K.addEventListener("abort",m,{once:!0});let h=$.signal;return h.addEventListener("abort",m,{once:!0}),{signal:x.signal,cleanup:()=>{K.removeEventListener("abort",m),h.removeEventListener("abort",m)}}}return{signal:N,wake:L}}qQ();MZ();var DZ=2000,XQ=60000,jQ=900000,EZ=0;async function hQ(K){let{dir:$,machineName:L,branch:N,gitRepoUrl:x,title:m,baseUrl:h,sessionIngressUrl:Q,workerType:z,getAccessToken:H,createSession:X,archiveSession:R,getCurrentTitle:y=()=>m,toSDKMessages:o=()=>{throw Error("BridgeCoreParams.toSDKMessages not provided. Pass it if you use writeMessages() or initialMessages — daemon callers that only use writeSdkMessages() never hit this path.")},onAuth401:T,getPollIntervalConfig:k=()=>dJ,initialHistoryCap:v=200,initialMessages:B,previouslyFlushedUUIDs:d,onInboundMessage:l,onPermissionResponse:KJ,onInterrupt:n,onSetModel:_,onSetMaxThinkingTokens:S,onSetPermissionMode:D,onStateChange:P,onUserMessage:a,perpetual:I,initialSSESequenceNum:s=0}=K,F=++EZ,{writeBridgePointer:c,clearBridgePointer:YJ,readBridgePointer:O}=await import("./bridgePointer-0.1.9-rv3aq23v.mjs"),A=I?await O($):null,W=A?.source==="repl"?A:null;J(`[bridge:repl] initBridgeCore #${F} starting (initialMessages=${B?.length??0}${W?` perpetual prior=env:${W.environmentId}`:""})`);let C=$Q({baseUrl:h,getAccessToken:H,runnerVersion:"99.0.0",onDebug:J,onAuth401:T,getTrustedDeviceToken:xQ}),XJ={dir:$,machineName:L,branch:N,gitRepoUrl:x,maxSessions:1,spawnMode:"single-session",verbose:!1,sandbox:!1,bridgeId:YQ(),workerType:z,environmentId:YQ(),reuseEnvironmentId:W?.environmentId,apiBaseUrl:h,sessionIngressUrl:Q},q,PJ;try{let Z=await C.registerBridgeEnvironment(XJ);q=Z.environment_id,PJ=Z.environment_secret}catch(Z){if(ZJ("registration_failed",`[bridge:repl] Environment registration failed: ${u(Z)}`),W)await YJ($);return P?.("failed",u(Z)),null}J(`[bridge:repl] Environment registered: ${q}`),_J("info","bridge_repl_env_registered"),w("tengu_bridge_repl_env_registered",{});async function tJ(Z,j){if(q!==Z)return J(`[bridge:repl] Env mismatch (requested ${Z}, got ${q}) — cannot reconnect in place`),!1;let U=OQ(j),G=U===j?[j]:[j,U];for(let E of G)try{return await C.reconnectSession(q,E),J(`[bridge:repl] Reconnected session ${E} in place on env ${q}`),!0}catch(r){J(`[bridge:repl] reconnectSession(${E}) failed: ${u(r)}`)}return J("[bridge:repl] reconnectSession exhausted — falling through to fresh session"),!1}let FJ=W?await tJ(W.environmentId,W.sessionId):!1;if(W&&!FJ)await YJ($);let V;if(FJ&&W){if(V=W.sessionId,J(`[bridge:repl] Perpetual session reused: ${V}`),B&&d)for(let Z of B)d.add(Z.uuid)}else{let Z=await X({environmentId:q,title:m,gitRepoUrl:x,branch:N,signal:AbortSignal.timeout(15000)});if(!Z)return J("[bridge:repl] Session creation failed, deregistering environment"),w("tengu_bridge_repl_session_failed",{}),await C.deregisterEnvironment(q).catch(()=>{}),P?.("failed","Session creation failed"),null;V=Z,J(`[bridge:repl] Session created: ${V}`)}await c($,{sessionId:V,environmentId:q,source:"repl"}),_J("info","bridge_repl_session_created"),w("tengu_bridge_repl_started",{has_initial_messages:!!(B&&B.length>0),inProtectedNamespace:WQ()});let fJ=new Set;if(B)for(let Z of B)fJ.add(Z.uuid);let jJ=new uJ(2000);for(let Z of fJ)jJ.add(Z);let oJ=new uJ(2000),e=new AbortController,Y=null,WJ=0,i=FJ?s:0,p=null,GJ=null,nJ=KQ(e.signal),xJ=nJ.wake,HZ=nJ.signal,JJ=new CQ,wJ=!a,DJ=3,VJ=0,qJ=null;async function sJ(){if(qJ)return qJ;qJ=WZ();try{return await qJ}finally{qJ=null}}async function WZ(){if(VJ++,WJ++,J(`[bridge:repl] Reconnecting after env lost (attempt ${VJ}/${DJ})`),VJ>DJ)return J(`[bridge:repl] Environment reconnect limit reached (${DJ}), giving up`),!1;if(Y){let G=Y.getLastSequenceNum();if(G>i)i=G;Y.close(),Y=null}if(xJ(),JJ.drop(),p){let G=p;if(await C.stopWork(q,G,!1).catch(()=>{}),p!==G)return J("[bridge:repl] Poll loop recovered during stopWork await — deferring to it"),VJ=0,!0;p=null,GJ=null}if(e.signal.aborted)return J("[bridge:repl] Reconnect aborted by teardown"),!1;let Z=q;XJ.reuseEnvironmentId=Z;try{let G=await C.registerBridgeEnvironment(XJ);q=G.environment_id,PJ=G.environment_secret}catch(G){return XJ.reuseEnvironmentId=void 0,J(`[bridge:repl] Environment re-registration failed: ${u(G)}`),!1}if(XJ.reuseEnvironmentId=void 0,J(`[bridge:repl] Re-registered: requested=${Z} got=${q}`),e.signal.aborted)return J("[bridge:repl] Reconnect aborted after env registration, cleaning up"),await C.deregisterEnvironment(q).catch(()=>{}),!1;if(Y!==null)return J("[bridge:repl] Poll loop recovered during registerBridgeEnvironment await — deferring to it"),VJ=0,!0;if(await tJ(Z,V))return w("tengu_bridge_repl_reconnected_in_place",{}),VJ=0,!0;if(q!==Z)w("tengu_bridge_repl_env_expired_fresh_session",{});if(await R(V),e.signal.aborted)return J("[bridge:repl] Reconnect aborted after archive, cleaning up"),await C.deregisterEnvironment(q).catch(()=>{}),!1;let j=y(),U=await X({environmentId:q,title:j,gitRepoUrl:x,branch:N,signal:AbortSignal.timeout(15000)});if(!U)return J("[bridge:repl] Session creation failed during reconnection"),!1;if(e.signal.aborted)return J("[bridge:repl] Reconnect aborted after session creation, cleaning up"),await R(U),!1;return V=U,AQ(LQ(U)).catch(()=>{}),i=0,oJ.clear(),wJ=!a,J(`[bridge:repl] Re-created session: ${V}`),await c($,{sessionId:V,environmentId:q,source:"repl"}),d?.clear(),VJ=0,!0}function EJ(){return H()}function rJ(){let Z=JJ.end();if(Z.length===0)return;if(!Y){J(`[bridge:repl] Cannot drain ${Z.length} pending message(s): no transport`);return}for(let G of Z)jJ.add(G.uuid);let U=o(Z).map((G)=>({...G,session_id:V}));J(`[bridge:repl] Drained ${Z.length} pending message(s) after flush`),Y.writeBatch(U)}let UJ=null;function CJ(){UJ?.()}function GZ(Z){if(J(`[bridge:repl] Transport permanently closed: code=${Z}`),w("tengu_bridge_repl_ws_closed",{code:Z}),Y){let U=Y.getLastSequenceNum();if(U>i)i=U;Y=null}xJ();let j=JJ.drop();if(j>0)J(`[bridge:repl] Dropping ${j} pending message(s) on transport close (code=${Z})`,{level:"warn"});if(Z===1000){P?.("failed","session ended"),e.abort(),CJ();return}P?.("reconnecting",`Remote Control connection lost (code ${Z})`),J(`[bridge:repl] Transport reconnect budget exhausted (code=${Z}), attempting env reconnect`),sJ().then((U)=>{if(U)return;if(e.signal.aborted)return;J("[bridge:repl] reconnectEnvironmentWithSession resolved false — tearing down"),w("tengu_bridge_repl_reconnect_failed",{close_code:Z}),P?.("failed","reconnection failed"),CJ()})}let qZ={api:C,getCredentials:()=>({environmentId:q,environmentSecret:PJ}),signal:e.signal,getPollIntervalConfig:k,onStateChange:P,getWsState:()=>Y?.getStateLabel()??"null",isAtCapacity:()=>Y!==null,capacitySignal:HZ,onFatalError:CJ,getHeartbeatInfo:()=>{if(!p||!GJ)return null;return{environmentId:q,workId:p,sessionToken:GJ}},onHeartbeatFatal:(Z)=>{if(J(`[bridge:repl] heartbeatWork fatal (status=${Z.status}) — tearing down work item for fast re-dispatch`),Y){let j=Y.getLastSequenceNum();if(j>i)i=j;Y.close(),Y=null}if(JJ.drop(),p)C.stopWork(q,p,!1).catch((j)=>{J(`[bridge:repl] stopWork after heartbeat fatal: ${u(j)}`)});p=null,GJ=null,xJ(),P?.("reconnecting","Work item lease expired, fetching fresh token")},async onEnvironmentLost(){if(!await sJ())return null;return{environmentId:q,environmentSecret:PJ}},onWorkReceived:(Z,j,U,G)=>{if(Y?.isConnectedStatus())J(`[bridge:repl] Work received while transport connected, replacing with fresh token (workId=${U})`);if(J(`[bridge:repl] Work received: workId=${U} workSessionId=${Z} currentSessionId=${V} match=${lJ(Z,V)}`),c($,{sessionId:V,environmentId:q,source:"repl"}),!lJ(Z,V)){J(`[bridge:repl] Rejecting foreign session: expected=${V} got=${Z}`);return}p=U,GJ=j;let E=G||HQ(process.env.CLAUDE_BRIDGE_USE_CCR_V2),r;if(!E){if(r=EJ(),!r){J("[bridge:repl] No OAuth token available for session ingress, skipping work");return}IJ(r)}if(w("tengu_bridge_repl_work_received",{}),Y){let M=Y;Y=null;let f=M.getLastSequenceNum();if(f>i)i=f;M.close()}JJ.deactivate();let LZ=(M)=>UQ(M,{transport:Y,sessionId:V,onInterrupt:n,onSetModel:_,onSetMaxThinkingTokens:S,onSetPermissionMode:D}),bJ=!1,JQ=(M)=>{if(Y=M,M.setOnConnect(()=>{if(Y!==M)return;if(J("[bridge:repl] Ingress transport connected"),w("tengu_bridge_repl_ws_connected",{}),!E){let f=EJ();if(f)IJ(f)}if(kJ=!1,!bJ&&B&&B.length>0){bJ=!0;let f=v,t=B.filter((MJ)=>cJ(MJ)&&!d?.has(MJ.uuid)),NJ=f>0&&t.length>f?t.slice(-f):t;if(NJ.length<t.length)J(`[bridge:repl] Capped initial flush: ${t.length} -> ${NJ.length} (cap=${f})`),w("tengu_bridge_repl_history_capped",{eligible_count:t.length,capped_count:NJ.length});let AJ=o(NJ);if(AJ.length>0){J(`[bridge:repl] Flushing ${AJ.length} initial message(s) via transport`);let MJ=AJ.map((LJ)=>({...LJ,session_id:V})),QQ=M.droppedBatchCount;M.writeBatch(MJ).then(()=>{if(M.droppedBatchCount>QQ){J(`[bridge:repl] Initial flush dropped ${M.droppedBatchCount-QQ} batch(es) — not marking ${AJ.length} UUID(s) as flushed`);return}if(d){for(let LJ of AJ)if(LJ.uuid)d.add(LJ.uuid)}}).catch((LJ)=>J(`[bridge:repl] Initial flush failed: ${LJ}`)).finally(()=>{if(Y!==M)return;rJ(),P?.("connected")})}else rJ(),P?.("connected")}else if(!JJ.active)P?.("connected")}),M.setOnData((f)=>{PQ(f,jJ,oJ,l,KJ,LZ)}),M.setOnClose((f)=>{if(Y!==M)return;GZ(f)}),!bJ&&B&&B.length>0)JJ.start();M.connect()};if(WJ++,E){let M=wQ(h,Z),f=WJ;J(`[bridge:repl] CCR v2: sessionUrl=${M} session=${Z} gen=${f}`),EQ({sessionUrl:M,ingressToken:j,sessionId:Z,initialSequenceNum:i}).then((t)=>{if(e.signal.aborted){t.close();return}if(f!==WJ){J(`[bridge:repl] CCR v2: discarding stale handshake gen=${f} current=${WJ}`),t.close();return}JQ(t)},(t)=>{if(J(`[bridge:repl] CCR v2: createV2ReplTransport failed: ${u(t)}`,{level:"error"}),w("tengu_bridge_repl_ccr_v2_init_failed",{}),f!==WJ)return;if(p)C.stopWork(q,p,!1).catch((NJ)=>{J(`[bridge:repl] stopWork after v2 init failure: ${u(NJ)}`)}),p=null,GJ=null;xJ()})}else{let M=fQ(Q,Z);J(`[bridge:repl] Ingress URL: ${M}`),J(`[bridge:repl] Creating HybridTransport: session=${Z}`);let f=r??"";JQ(DQ(new MQ(new URL(M),{Authorization:`Bearer ${f}`,"anthropic-version":"2023-06-01"},Z,()=>({Authorization:`Bearer ${EJ()??f}`,"anthropic-version":"2023-06-01"}),{maxConsecutiveFailures:50,isBridge:!0,onBatchDropped:()=>{P?.("reconnecting","Lost sync with Remote Control — events could not be delivered"),xJ()}})))}}};CZ(qZ);let hJ=I?setInterval(()=>{if(qJ)return;c($,{sessionId:V,environmentId:q,source:"repl"})},3600000):null;hJ?.unref?.();let eJ=k().session_keepalive_interval_v2_ms,TJ=eJ>0?setInterval(()=>{if(!Y)return;J("[bridge:repl] keep_alive sent"),Y.write({type:"keep_alive"}).catch((Z)=>{J(`[bridge:repl] keep_alive write failed: ${u(Z)}`)})},eJ):null;TJ?.unref?.();let kJ=!1;UJ=async()=>{if(kJ){J(`[bridge:repl] Teardown already in progress, skipping duplicate call env=${q} session=${V}`);return}kJ=!0;let Z=Date.now();if(J(`[bridge:repl] Teardown starting: env=${q} session=${V} workId=${p??"none"} transportState=${Y?.getStateLabel()??"null"}`),hJ!==null)clearInterval(hJ);if(TJ!==null)clearInterval(TJ);if(e.abort(),J("[bridge:repl] Teardown: poll loop aborted"),Y){let G=Y.getLastSequenceNum();if(G>i)i=G}if(I){Y=null,JJ.drop(),await c($,{sessionId:V,environmentId:q,source:"repl"}),J(`[bridge:repl] Teardown (perpetual): leaving env=${q} session=${V} alive on server, duration=${Date.now()-Z}ms`);return}let j=Y;if(Y=null,JJ.drop(),j)j.write(pJ(V));let U=p?C.stopWork(q,p,!0).then(()=>{J("[bridge:repl] Teardown: stopWork completed")}).catch((G)=>{J(`[bridge:repl] Teardown stopWork failed: ${u(G)}`)}):Promise.resolve();await Promise.all([U,R(V)]),j?.close(),J("[bridge:repl] Teardown: transport closed"),await C.deregisterEnvironment(q).catch((G)=>{J(`[bridge:repl] Teardown deregister failed: ${u(G)}`)}),await YJ($),J(`[bridge:repl] Teardown complete: env=${q} duration=${Date.now()-Z}ms`)};let NZ=GQ(()=>UJ?.());return J(`[bridge:repl] Ready: env=${q} session=${V}`),P?.("ready"),{get bridgeSessionId(){return V},get environmentId(){return q},getSSESequenceNum(){let Z=Y?.getLastSequenceNum()??0;return Math.max(i,Z)},sessionIngressUrl:Q,writeMessages(Z){let j=Z.filter((E)=>cJ(E)&&!fJ.has(E.uuid)&&!jJ.has(E.uuid));if(j.length===0)return;if(!wJ)for(let E of j){let r=yQ(E);if(r!==void 0&&a?.(r,V)){wJ=!0;break}}if(JJ.enqueue(...j)){J(`[bridge:repl] Queued ${j.length} message(s) during initial flush`);return}if(!Y){let E=j.map((r)=>r.type).join(",");J(`[bridge:repl] Transport not configured, dropping ${j.length} message(s) [${E}] for session=${V}`,{level:"warn"});return}for(let E of j)jJ.add(E.uuid);J(`[bridge:repl] Sending ${j.length} message(s) via transport`);let G=o(j).map((E)=>({...E,session_id:V}));Y.writeBatch(G)},writeSdkMessages(Z){let j=Z.filter((G)=>!G.uuid||!jJ.has(G.uuid));if(j.length===0)return;if(!Y){J(`[bridge:repl] Transport not configured, dropping ${j.length} SDK message(s) for session=${V}`,{level:"warn"});return}for(let G of j)if(G.uuid)jJ.add(G.uuid);let U=j.map((G)=>({...G,session_id:V}));Y.writeBatch(U)},sendControlRequest(Z){if(!Y){J("[bridge:repl] Transport not configured, skipping control_request");return}let j={...Z,session_id:V};Y.write(j),J(`[bridge:repl] Sent control_request request_id=${Z.request_id}`)},sendControlResponse(Z){if(!Y){J("[bridge:repl] Transport not configured, skipping control_response");return}let j={...Z,session_id:V};Y.write(j),J("[bridge:repl] Sent control_response")},sendControlCancelRequest(Z){if(!Y){J("[bridge:repl] Transport not configured, skipping control_cancel_request");return}let j={type:"control_cancel_request",request_id:Z,session_id:V};Y.write(j),J(`[bridge:repl] Sent control_cancel_request request_id=${Z}`)},sendResult(){if(!Y){J(`[bridge:repl] sendResult: skipping, transport not configured session=${V}`);return}Y.write(pJ(V)),J(`[bridge:repl] Sent result for session=${V}`)},async teardown(){NZ(),await UJ?.(),J("[bridge:repl] Torn down"),w("tengu_bridge_repl_teardown",{})}}}async function CZ({api:K,getCredentials:$,signal:L,onStateChange:N,onWorkReceived:x,onEnvironmentLost:m,getWsState:h,isAtCapacity:Q,capacitySignal:z,onFatalError:H,getPollIntervalConfig:X=()=>dJ,getHeartbeatInfo:R,onHeartbeatFatal:y}){J(`[bridge:repl] Starting work poll loop for env=${$().environmentId}`);let T=0,k=null,v=null,B=0,d=!1;while(!L.aborted){let{environmentId:l,environmentSecret:KJ}=$(),n=X();try{let _=await K.pollForWork(l,KJ,L,n.reclaim_older_than_ms);if(B=0,T>0)J(`[bridge:repl] Poll recovered after ${T} consecutive error(s)`),T=0,k=null,v=null,N?.("ready");if(!_){let D=d;if(d=!1,Q?.()&&z&&!D){let P=n.poll_interval_ms_at_capacity;if(n.non_exclusive_heartbeat_interval_ms>0&&R){w("tengu_bridge_heartbeat_mode_entered",{heartbeat_interval_ms:n.non_exclusive_heartbeat_interval_ms});let I=P>0?Date.now()+P:null,s=!1,F=0;while(!L.aborted&&Q()&&(I===null||Date.now()<I)){let YJ=X();if(YJ.non_exclusive_heartbeat_interval_ms<=0)break;let O=R();if(!O)break;let A=z();try{await K.heartbeatWork(O.environmentId,O.workId,O.sessionToken)}catch(W){if(J(`[bridge:repl:heartbeat] Failed: ${u(W)}`),W instanceof zJ){if(A.cleanup(),w("tengu_bridge_heartbeat_error",{status:W.status,error_type:W.status===401||W.status===403?"auth_failed":"fatal"}),y)y(W),J(`[bridge:repl:heartbeat] Fatal (status=${W.status}), work state cleared — fast-polling for re-dispatch`);else s=!0;break}}F++,await BJ(YJ.non_exclusive_heartbeat_interval_ms,A.signal),A.cleanup()}let c=s?"error":L.aborted?"shutdown":!Q()?"capacity_changed":I!==null&&Date.now()>=I?"poll_due":"config_disabled";if(w("tengu_bridge_heartbeat_mode_exited",{reason:c,heartbeat_cycles:F}),!s){if(c==="poll_due")J(`[bridge:repl] Heartbeat poll_due after ${F} cycles — falling through to pollForWork`);continue}}let a=P>0?P:n.non_exclusive_heartbeat_interval_ms;if(a>0){let I=z(),s=Date.now();await BJ(a,I.signal),I.cleanup();let F=Date.now()-s-a;if(F>60000)J(`[bridge:repl] At-capacity sleep overran by ${Math.round(F/1000)}s — process suspension detected, forcing one fast-poll cycle`),w("tengu_bridge_repl_suspension_detected",{overrun_ms:F}),d=!0}}else await BJ(n.poll_interval_ms_not_at_capacity,L);continue}let S;try{S=FQ(_.secret)}catch(D){J(`[bridge:repl] Failed to decode work secret: ${u(D)}`),w("tengu_bridge_repl_work_secret_failed",{}),await K.stopWork(l,_.id,!1).catch(()=>{});continue}J(`[bridge:repl] Acknowledging workId=${_.id}`);try{await K.acknowledgeWork(l,_.id,S.session_ingress_token)}catch(D){J(`[bridge:repl] Acknowledge failed workId=${_.id}: ${u(D)}`)}if(_.data.type==="healthcheck"){J("[bridge:repl] Healthcheck received");continue}if(_.data.type==="session"){let D=_.data.id;try{g(D,"session_id")}catch{J(`[bridge:repl] Invalid session_id in work: ${D}`);continue}x(D,S.session_ingress_token,_.id,S.use_code_sessions===!0),J("[bridge:repl] Work accepted, continuing poll loop")}}catch(_){if(L.aborted)break;if(_ instanceof zJ&&_.status===404&&m){let F=$().environmentId;if(l!==F){J(`[bridge:repl] Stale poll error for old env=${l}, current env=${F} — skipping onEnvironmentLost`),T=0,k=null;continue}if(B++,J(`[bridge:repl] Environment deleted, attempting re-registration (attempt ${B}/3)`),w("tengu_bridge_repl_env_lost",{attempt:B}),B>3){J("[bridge:repl] Environment re-registration limit reached (3), giving up"),N?.("failed","Environment deleted and re-registration limit reached"),H?.();break}N?.("reconnecting","environment lost, recreating session");let c=await m();if(L.aborted)break;if(c){T=0,k=null,N?.("ready"),J(`[bridge:repl] Re-registered environment: ${c.environmentId}`);continue}N?.("failed","Environment deleted and re-registration failed"),H?.();break}if(_ instanceof zJ){let F=SJ(_.errorType),c=zQ(_);if(J(`[bridge:repl] Fatal poll error: ${_.message} (status=${_.status}, type=${_.errorType??"unknown"})${c?" (suppressed)":""}`),w("tengu_bridge_repl_fatal_error",{status:_.status,error_type:_.errorType}),_J(F?"info":"error","bridge_repl_fatal_error",{status:_.status,error_type:_.errorType}),!c)N?.("failed",F?"session expired · /remote-control to reconnect":_.message);H?.();break}let S=Date.now();if(v!==null&&S-v>XQ*2)J(`[bridge:repl] Detected system sleep (${Math.round((S-v)/1000)}s gap), resetting poll error budget`),_J("info","bridge_repl_poll_sleep_detected",{gapMs:S-v}),T=0,k=null;if(v=S,T++,k===null)k=S;let D=S-k,P=RQ(_),a=BQ(_),I=h?.()??"unknown";if(J(`[bridge:repl] Poll error (attempt ${T}, elapsed ${Math.round(D/1000)}s, ws=${I}): ${a}`),w("tengu_bridge_repl_poll_error",{status:P,consecutiveErrors:T,elapsedMs:D}),T===1)N?.("reconnecting",a);if(D>=jQ){J(`[bridge:repl] Poll failures exceeded ${jQ/1000}s (${T} errors), giving up`),_J("info","bridge_repl_poll_give_up"),w("tengu_bridge_repl_poll_give_up",{consecutiveErrors:T,elapsedMs:D,lastStatus:P}),N?.("failed","connection to server lost");break}let s=Math.min(DZ*2**(T-1),XQ);if(X().non_exclusive_heartbeat_interval_ms>0){let F=R?.();if(F)try{await K.heartbeatWork(F.environmentId,F.workId,F.sessionToken)}catch{}}await BJ(s,L)}}J(`[bridge:repl] Work poll loop ended (aborted=${L.aborted}) env=${$().environmentId}`)}_Q();async function i6(K){let{onInboundMessage:$,onPermissionResponse:L,onInterrupt:N,onSetModel:x,onSetMaxThinkingTokens:m,onSetPermissionMode:h,onStateChange:Q,initialMessages:z,getMessages:H,previouslyFlushedUUIDs:X,initialName:R,perpetual:y,outboundOnly:o,tags:T}=K??{};if(dQ(eQ),!await sQ())return ZJ("not_enabled","[bridge:repl] Skipping: bridge not enabled"),null;if(!HJ())return ZJ("no_oauth","[bridge:repl] Skipping: no OAuth tokens"),Q?.("failed","/login"),null;if(await aQ(),!iQ("allow_remote_control"))return ZJ("policy_denied","[bridge:repl] Skipping: allow_remote_control policy not allowed"),Q?.("failed","disabled by your organization's policy"),null;if(!QZ()){let O=pQ();if(O.bridgeOauthDeadExpiresAt!=null&&(O.bridgeOauthDeadFailCount??0)>=3&&gJ()?.expiresAt===O.bridgeOauthDeadExpiresAt)return J(`[bridge:repl] Skipping: cross-process backoff (dead token seen ${O.bridgeOauthDeadFailCount} times)`),null;await lQ();let A=gJ();if(A&&A.expiresAt!==null&&A.expiresAt<=Date.now()){ZJ("oauth_expired_unrefreshable","[bridge:repl] Skipping: OAuth token expired and refresh failed (re-login required)"),Q?.("failed","/login");let W=A.expiresAt;return cQ((b)=>({...b,bridgeOauthDeadExpiresAt:W,bridgeOauthDeadFailCount:b.bridgeOauthDeadExpiresAt===W?(b.bridgeOauthDeadFailCount??0)+1:1})),null}}let k=ZZ(),v=`remote-control-${gQ()}`,B=!1,d=!1;if(R)v=R,B=!0,d=!0;else{let O=RJ(),A=O?yJ(O):void 0;if(A)v=A,B=!0,d=!0;else if(z&&z.length>0)for(let W=z.length-1;W>=0;W--){let b=z[W];if(b.type!=="user"||b.isMeta||b.toolUseResult||b.isCompactSummary||b.origin&&b.origin.kind!=="human"||tQ(b))continue;let C=oQ(b.message.content);if(!C)continue;let XJ=kQ(C);if(!XJ)continue;v=XJ,B=!0;break}}let l=0,KJ,n=0,_=(O,A,W)=>{B=!0,v=O,J(`[bridge:repl] derived title from message ${W}: ${O}`),XZ(A,O,{baseUrl:k,getAccessToken:HJ}).catch(()=>{})},S=(O,A)=>{let W=++n,b=l;zZ(O,AbortSignal.timeout(15000)).then((C)=>{if(C&&W===n&&KJ===A&&!yJ(RJ()))_(C,A,b)})},D=(O,A)=>{if(d||yJ(RJ()))return!0;if(KJ!==void 0&&KJ!==A)l=0;if(KJ=A,l++,l===1&&!B){let W=kQ(O);if(W)_(W,A,l);S(O,A)}else if(l===3){let W=H?.(),b=W?$Z(nQ(W)):O;S(b,A)}return l>=3},P=mQ("tengu_bridge_initial_history_cap",200,300000),a=await uQ();if(!a)return ZJ("no_org_uuid","[bridge:repl] Skipping: no org UUID"),Q?.("failed","/login"),null;if(rQ()&&!y){let O=await VZ();if(O)return ZJ("version_too_old",`[bridge:repl] Skipping: ${O}`,!0),Q?.("failed","run `claude update` to upgrade"),null;J("[bridge:repl] Using env-less bridge path (tengu_bridge_repl_v2)");let{initEnvLessBridgeCore:A}=await import("./remoteBridgeCore-0.1.9-4eg0bkck.mjs");return A({baseUrl:k,orgUUID:a,title:v,getAccessToken:HJ,onAuth401:aJ,toSDKMessages:iJ,initialHistoryCap:P,initialMessages:z,onInboundMessage:$,onUserMessage:D,onPermissionResponse:L,onInterrupt:N,onSetModel:x,onSetMaxThinkingTokens:m,onSetPermissionMode:h,onStateChange:Q,outboundOnly:o,tags:T})}let I=JZ();if(I)return ZJ("version_too_old",`[bridge:repl] Skipping: ${I}`),Q?.("failed","run `claude update` to upgrade"),null;let s=await SQ(),F=await IQ(),c=process.env.CLAUDE_BRIDGE_SESSION_INGRESS_URL||k,YJ="claude_code";return hQ({dir:bQ(),machineName:tZ(),branch:s,gitRepoUrl:F,title:v,baseUrl:k,sessionIngressUrl:c,workerType:YJ,getAccessToken:HJ,createSession:(O)=>KZ({...O,events:[],baseUrl:k,getAccessToken:HJ}),archiveSession:(O)=>YZ(O,{baseUrl:k,getAccessToken:HJ,timeoutMs:1500}).catch((A)=>{J(`[bridge:repl] archiveBridgeSession threw: ${u(A)}`,{level:"error"})}),getCurrentTitle:()=>yJ(RJ())??v,onUserMessage:D,toSDKMessages:iJ,onAuth401:aJ,getPollIntervalConfig:jZ,initialHistoryCap:P,initialMessages:z,previouslyFlushedUUIDs:X,onInboundMessage:$,onPermissionResponse:L,onInterrupt:N,onSetModel:x,onSetMaxThinkingTokens:m,onSetPermissionMode:h,onStateChange:Q,perpetual:y})}var TQ=50;function kQ(K){let $=vQ(K),N=(/^(.*?[.!?])\s/.exec($)?.[1]??$).replace(/\s+/g," ").trim();if(!N)return;return N.length>TQ?N.slice(0,TQ-1)+"…":N}export{i6 as initReplBridge};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{AU as z,BU as A,DU as B,EU as C,GS as a,HS as b,HT as l,JU as D,KS as c,KU as E,LU as F,MU as G,NS as d,OS as e,PS as f,PU as H,QS as g,QU as I,RT as m,RU as J,SU as K,TU as L,UU as M,WT as n,YT as o,ZS as h,_S as i,cU as p,iT as j,lU as q,mT as k,nU as r,pU as s,tU as t,vU as u,wU as v,xU as w,yU as x,zU as y}from"./cli-0.1.9-nw3rpxdd.mjs";import"./cli-0.1.9-263y2rkc.mjs";import"./cli-0.1.9-mx4ekht0.mjs";import"./cli-0.1.9-2v4s8yf9.mjs";import"./cli-0.1.9-hy9s1fnj.mjs";import"./cli-0.1.9-rft22htm.mjs";import"./cli-0.1.9-f8ga1n8r.mjs";import"./cli-0.1.9-jchn9hyn.mjs";import"./cli-0.1.9-86kws2c7.mjs";import"./cli-0.1.9-0dtdhejj.mjs";import"./cli-0.1.9-mj88t3jf.mjs";import"./cli-0.1.9-7ftnjyps.mjs";import"./cli-0.1.9-45ggwszg.mjs";import"./cli-0.1.9-wpvrabrk.mjs";import"./cli-0.1.9-mkfnnvz7.mjs";import"./cli-0.1.9-9nhh15bp.mjs";import"./cli-0.1.9-5ryrgdzg.mjs";import"./cli-0.1.9-vdw09f8y.mjs";import"./cli-0.1.9-v7ajk1nz.mjs";import"./cli-0.1.9-sv3awdsv.mjs";import"./cli-0.1.9-7fp0smtp.mjs";import"./cli-0.1.9-1ghbcafn.mjs";import"./cli-0.1.9-kbrf27z8.mjs";M();export{j as wrapText,f as useThemeSetting,e as useTheme,A as useTerminalViewport,I as useTerminalTitle,m as useTerminalFocus,H as useTabStatus,c as useStdin,G as useSelection,g as usePreviewTheme,F as useInterval,D as useInput,C as useApp,E as useAnimationTimer,B as useAnimationFrame,l as supportsTabStatus,K as render,J as measureElement,L as createRoot,q as color,d as ThemeProvider,s as Text,i as TerminalFocusEvent,z as Spacer,y as RawAnsi,x as NoSelect,w as Newline,t as Link,h as InputEvent,k as FocusManager,b as EventEmitter,a as Event,p as ClickEvent,v as Button,r as Box,o as BaseText,n as BaseBox,u as Ansi};
|