@claudiolabs/claudin 1.0.7 → 1.0.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/README.md +1 -0
- package/dist/chunks/AgentTool-1.0.9-pn7bw6yv.mjs +1 -0
- package/dist/chunks/App-1.0.9-4evjz5w2.mjs +1 -0
- package/dist/chunks/ApproveApiKey-1.0.9-bbb6t3r9.mjs +1 -0
- package/dist/chunks/AssistantSessionChooser-1.0.9-133vee5x.mjs +1 -0
- package/dist/chunks/AutoModeOptInDialog-1.0.9-1bgty08c.mjs +1 -0
- package/dist/chunks/BypassPermissionsModeDialog-1.0.9-acyyj7ky.mjs +1 -0
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.0.9-8d430r75.mjs +1 -0
- package/dist/chunks/ConsoleOAuthFlow-1.0.9-6ew6r9f6.mjs +1 -0
- package/dist/chunks/DiffDialog-1.0.9-ze7bee5g.mjs +7 -0
- package/dist/chunks/Doctor-1.0.9-xy0g4b33.mjs +1 -0
- package/dist/chunks/ExplorerDialog-1.0.9-3yjz2cvs.mjs +6 -0
- package/dist/chunks/Grove-1.0.9-96nwpafr.mjs +1 -0
- package/dist/chunks/ITermBackend-1.0.9-ywr7fk06.mjs +1 -0
- package/dist/chunks/InvalidConfigDialog-1.0.9-2q4w4j4t.mjs +1 -0
- package/dist/chunks/InvalidSettingsDialog-1.0.9-z37xr3zw.mjs +1 -0
- package/dist/chunks/MigrationDialog-1.0.9-z7j3qhg7.mjs +1 -0
- package/dist/chunks/Onboarding-1.0.9-gtxm4j8b.mjs +1 -0
- package/dist/chunks/ProviderManager-1.0.9-1mdk6qz8.mjs +1 -0
- package/dist/chunks/REPL-1.0.9-8b6q2gzd.mjs +1 -0
- package/dist/chunks/ResumeConversation-1.0.9-e0r40skb.mjs +1 -0
- package/dist/chunks/SnapshotUpdateDialog-1.0.9-02v56nb9.mjs +1 -0
- package/dist/chunks/TeleportProgress-1.0.9-bdgqerzr.mjs +1 -0
- package/dist/chunks/TeleportRepoMismatchDialog-1.0.9-vtm223ky.mjs +1 -0
- package/dist/chunks/TeleportResumeWrapper-1.0.9-bmyks5dc.mjs +1 -0
- package/dist/chunks/TmuxBackend-1.0.9-ns6fj8sv.mjs +9 -0
- package/dist/chunks/ToolSearchTool-1.0.9-98prvmmb.mjs +1 -0
- package/dist/chunks/TrustDialog-1.0.9-br4q9mkd.mjs +1 -0
- package/dist/chunks/activeProvider-1.0.9-5nxztxpg.mjs +1 -0
- package/dist/chunks/add-dir-1.0.9-ypva61t4.mjs +1 -0
- package/dist/chunks/agentTypes-1.0.9-x07mx3dr.mjs +1 -0
- package/dist/chunks/agents-1.0.9-3mfx5p6a.mjs +3 -0
- package/dist/chunks/agents-1.0.9-8srfrkqw.mjs +110 -0
- package/dist/chunks/api-1.0.9-797pjvs1.mjs +1 -0
- package/dist/chunks/asciicast-1.0.9-2jnc8jtk.mjs +1 -0
- package/dist/chunks/assistant-1.0.9-1ryssrnh.mjs +1 -0
- package/dist/chunks/auth-1.0.9-9xadhd5v.mjs +1 -0
- package/dist/chunks/auth-1.0.9-q57mj8gk.mjs +1 -0
- package/dist/chunks/autoMode-1.0.9-rz4pssbt.mjs +48 -0
- package/dist/chunks/autoUpdater-1.0.9-kx1fdq56.mjs +1 -0
- package/dist/chunks/backgroundHousekeeping-1.0.9-5c1na5cn.mjs +1 -0
- package/dist/chunks/branch-1.0.9-2857desd.mjs +4 -0
- package/dist/chunks/bridge-1.0.9-a2875hps.mjs +2 -0
- package/dist/chunks/bridgeConfig-1.0.9-pqqgvm77.mjs +1 -0
- package/dist/chunks/bridgeEnabled-1.0.9-z4rqrrb8.mjs +1 -0
- package/dist/chunks/bridgeMain-1.0.9-e08pefvd.mjs +88 -0
- package/dist/chunks/bridgePointer-1.0.9-zt50pndw.mjs +1 -0
- package/dist/chunks/btw-1.0.9-55ev3ghy.mjs +1 -0
- package/dist/chunks/buddy-1.0.9-6z68f6ex.mjs +3 -0
- package/dist/chunks/cacache-1.0.9-h1eketz5.mjs +1 -0
- package/dist/chunks/cache-probe-1.0.9-78r0f324.mjs +21 -0
- package/dist/chunks/cacheStats-1.0.9-4t8zwh7m.mjs +4 -0
- package/dist/chunks/caches-1.0.9-8vpcw0da.mjs +1 -0
- package/dist/chunks/claudeDesktop-1.0.9-7vwfj2q3.mjs +1 -0
- package/dist/chunks/claudemd-1.0.9-cd1jnewp.mjs +1 -0
- package/dist/chunks/clear-1.0.9-881ynng5.mjs +1 -0
- package/dist/chunks/clearTerminal-1.0.9-saxb5je9.mjs +1 -0
- package/dist/chunks/cli-1.0.9-01cy14p7.mjs +2 -0
- package/dist/chunks/cli-1.0.9-03tgqcyj.mjs +2 -0
- package/dist/chunks/cli-1.0.9-06kd11jd.mjs +2 -0
- package/dist/chunks/cli-1.0.9-0e6g8sye.mjs +4 -0
- package/dist/chunks/cli-1.0.9-0f3ex0vg.mjs +15 -0
- package/dist/chunks/cli-1.0.9-0xhf29zj.mjs +2 -0
- package/dist/chunks/cli-1.0.9-0xr97fha.mjs +4 -0
- package/dist/chunks/cli-1.0.9-11j6h2p2.mjs +2 -0
- package/dist/chunks/cli-1.0.9-11tj558a.mjs +2 -0
- package/dist/chunks/cli-1.0.9-13q9fkxq.mjs +2 -0
- package/dist/chunks/cli-1.0.9-19gz2k9q.mjs +3 -0
- package/dist/chunks/cli-1.0.9-1adzaxwy.mjs +2 -0
- package/dist/chunks/cli-1.0.9-1de7bab0.mjs +2 -0
- package/dist/chunks/cli-1.0.9-1f0bxa2a.mjs +18 -0
- package/dist/chunks/cli-1.0.9-1hcdwdyw.mjs +133 -0
- package/dist/chunks/cli-1.0.9-1p61fppv.mjs +2 -0
- package/dist/chunks/cli-1.0.9-1pe38ex2.mjs +2 -0
- package/dist/chunks/cli-1.0.9-1t8pkgtd.mjs +2 -0
- package/dist/chunks/cli-1.0.9-25kh81st.mjs +18 -0
- package/dist/chunks/cli-1.0.9-2a1jman4.mjs +3 -0
- package/dist/chunks/cli-1.0.9-2gdex17t.mjs +2 -0
- package/dist/chunks/cli-1.0.9-2hgg2mnb.mjs +2 -0
- package/dist/chunks/cli-1.0.9-2ncvyz2r.mjs +45 -0
- package/dist/chunks/cli-1.0.9-2prerh1s.mjs +2 -0
- package/dist/chunks/cli-1.0.9-2y9fcheg.mjs +2 -0
- package/dist/chunks/cli-1.0.9-3bdkmcp9.mjs +18 -0
- package/dist/chunks/cli-1.0.9-3ccxr1d8.mjs +2 -0
- package/dist/chunks/cli-1.0.9-3espt55t.mjs +20 -0
- package/dist/chunks/cli-1.0.9-3k1w3fc0.mjs +2 -0
- package/dist/chunks/cli-1.0.9-3mv7thfe.mjs +21 -0
- package/dist/chunks/cli-1.0.9-3n2084tg.mjs +2 -0
- package/dist/chunks/cli-1.0.9-3wmanrzv.mjs +2 -0
- package/dist/chunks/cli-1.0.9-3wn7m4cv.mjs +3 -0
- package/dist/chunks/cli-1.0.9-3ye1460y.mjs +2 -0
- package/dist/chunks/cli-1.0.9-42ww2d94.mjs +2 -0
- package/dist/chunks/cli-1.0.9-49sanx9h.mjs +2 -0
- package/dist/chunks/cli-1.0.9-4fdvygwb.mjs +25 -0
- package/dist/chunks/cli-1.0.9-4kjme82s.mjs +2 -0
- package/dist/chunks/cli-1.0.9-4vrbbav9.mjs +2 -0
- package/dist/chunks/cli-1.0.9-4yksn92y.mjs +2 -0
- package/dist/chunks/cli-1.0.9-51rze21n.mjs +2 -0
- package/dist/chunks/cli-1.0.9-537n2cda.mjs +2 -0
- package/dist/chunks/cli-1.0.9-593a1k2m.mjs +17 -0
- package/dist/chunks/cli-1.0.9-5afn268n.mjs +34 -0
- package/dist/chunks/cli-1.0.9-601tsydg.mjs +2 -0
- package/dist/chunks/cli-1.0.9-625zsef6.mjs +2 -0
- package/dist/chunks/cli-1.0.9-6424zmgd.mjs +2 -0
- package/dist/chunks/cli-1.0.9-67c9vgsq.mjs +5492 -0
- package/dist/chunks/cli-1.0.9-68er5cff.mjs +3 -0
- package/dist/chunks/cli-1.0.9-6q0e7nk4.mjs +3 -0
- package/dist/chunks/cli-1.0.9-6x8m34y6.mjs +67 -0
- package/dist/chunks/cli-1.0.9-6yxsfcyh.mjs +2 -0
- package/dist/chunks/cli-1.0.9-71jbnxs0.mjs +4 -0
- package/dist/chunks/cli-1.0.9-7exncgt2.mjs +4 -0
- package/dist/chunks/cli-1.0.9-7gewnt7b.mjs +2 -0
- package/dist/chunks/cli-1.0.9-7xt7m2q5.mjs +2 -0
- package/dist/chunks/cli-1.0.9-806xk0g7.mjs +2 -0
- package/dist/chunks/cli-1.0.9-81zj78t2.mjs +2 -0
- package/dist/chunks/cli-1.0.9-89yxpmpq.mjs +3 -0
- package/dist/chunks/cli-1.0.9-8f06bgf9.mjs +4 -0
- package/dist/chunks/cli-1.0.9-8g8n5ceb.mjs +2 -0
- package/dist/chunks/cli-1.0.9-8j4fe1qz.mjs +2 -0
- package/dist/chunks/cli-1.0.9-912srhxc.mjs +2 -0
- package/dist/chunks/cli-1.0.9-963yvtxd.mjs +2 -0
- package/dist/chunks/cli-1.0.9-9jyyb7zx.mjs +12 -0
- package/dist/chunks/cli-1.0.9-9p6ww1a0.mjs +2 -0
- package/dist/chunks/cli-1.0.9-9yr5whta.mjs +26 -0
- package/dist/chunks/cli-1.0.9-a0zm3d1g.mjs +2 -0
- package/dist/chunks/cli-1.0.9-aasy7y47.mjs +2 -0
- package/dist/chunks/cli-1.0.9-ajhbq50f.mjs +2 -0
- package/dist/chunks/cli-1.0.9-awxee62m.mjs +2 -0
- package/dist/chunks/cli-1.0.9-ayjdc0qr.mjs +2 -0
- package/dist/chunks/cli-1.0.9-az9m58wa.mjs +2 -0
- package/dist/chunks/cli-1.0.9-b029w2p8.mjs +2 -0
- package/dist/chunks/cli-1.0.9-b11n0pyq.mjs +9 -0
- package/dist/chunks/cli-1.0.9-b38km1fw.mjs +2 -0
- package/dist/chunks/cli-1.0.9-b78v72rn.mjs +2 -0
- package/dist/chunks/cli-1.0.9-bas5sqzw.mjs +2 -0
- package/dist/chunks/cli-1.0.9-bd7743tj.mjs +2 -0
- package/dist/chunks/cli-1.0.9-bg3jgpj8.mjs +2 -0
- package/dist/chunks/cli-1.0.9-bqcs2981.mjs +4 -0
- package/dist/chunks/cli-1.0.9-c05x7nfj.mjs +3 -0
- package/dist/chunks/cli-1.0.9-c5n2kbdv.mjs +17 -0
- package/dist/chunks/cli-1.0.9-cc6btq9c.mjs +2 -0
- package/dist/chunks/cli-1.0.9-cdc3drzy.mjs +2 -0
- package/dist/chunks/cli-1.0.9-ch1ca19q.mjs +2 -0
- package/dist/chunks/cli-1.0.9-cthzntz1.mjs +2 -0
- package/dist/chunks/cli-1.0.9-cymry1xw.mjs +2 -0
- package/dist/chunks/cli-1.0.9-d8rq80ph.mjs +2 -0
- package/dist/chunks/cli-1.0.9-dbs656rx.mjs +133 -0
- package/dist/chunks/cli-1.0.9-dg55k2hn.mjs +2 -0
- package/dist/chunks/cli-1.0.9-dg8j07p1.mjs +2 -0
- package/dist/chunks/cli-1.0.9-dp3xhncn.mjs +2 -0
- package/dist/chunks/cli-1.0.9-dvbfpdtc.mjs +24 -0
- package/dist/chunks/cli-1.0.9-e2f6b83v.mjs +2 -0
- package/dist/chunks/cli-1.0.9-e2mjjvjc.mjs +2 -0
- package/dist/chunks/cli-1.0.9-e491drav.mjs +2 -0
- package/dist/chunks/cli-1.0.9-e8n90m9g.mjs +2 -0
- package/dist/chunks/cli-1.0.9-ea0y4mww.mjs +2 -0
- package/dist/chunks/cli-1.0.9-eb7ne7cx.mjs +2 -0
- package/dist/chunks/cli-1.0.9-eeyg3kcg.mjs +4 -0
- package/dist/chunks/cli-1.0.9-efmzhqag.mjs +2 -0
- package/dist/chunks/cli-1.0.9-ej3ahs6j.mjs +199 -0
- package/dist/chunks/cli-1.0.9-eq3sypj3.mjs +2 -0
- package/dist/chunks/cli-1.0.9-erz57dtz.mjs +6 -0
- package/dist/chunks/cli-1.0.9-ez2pcj03.mjs +2 -0
- package/dist/chunks/cli-1.0.9-fejr36z6.mjs +2 -0
- package/dist/chunks/cli-1.0.9-fhj3g7hg.mjs +2 -0
- package/dist/chunks/cli-1.0.9-fkbdtr1w.mjs +3 -0
- package/dist/chunks/cli-1.0.9-fkfc8k86.mjs +2 -0
- package/dist/chunks/cli-1.0.9-fvw201bt.mjs +2 -0
- package/dist/chunks/cli-1.0.9-fw4bsz0q.mjs +2 -0
- package/dist/chunks/cli-1.0.9-fx0e9bkg.mjs +2 -0
- package/dist/chunks/cli-1.0.9-g8mgmpkc.mjs +2 -0
- package/dist/chunks/cli-1.0.9-gctz0hyw.mjs +24 -0
- package/dist/chunks/cli-1.0.9-ge04svda.mjs +2 -0
- package/dist/chunks/cli-1.0.9-gh82pj8t.mjs +50 -0
- package/dist/chunks/cli-1.0.9-gjta07sd.mjs +2 -0
- package/dist/chunks/cli-1.0.9-gsgbywct.mjs +25 -0
- package/dist/chunks/cli-1.0.9-gvp958jh.mjs +2 -0
- package/dist/chunks/cli-1.0.9-h5kwp1cf.mjs +2 -0
- package/dist/chunks/cli-1.0.9-ha9fdhs8.mjs +2 -0
- package/dist/chunks/cli-1.0.9-hf6frb0e.mjs +9 -0
- package/dist/chunks/cli-1.0.9-htsk8rvv.mjs +42 -0
- package/dist/chunks/cli-1.0.9-j02z8apf.mjs +2 -0
- package/dist/chunks/cli-1.0.9-j2832pm5.mjs +2 -0
- package/dist/chunks/cli-1.0.9-j297swbj.mjs +2 -0
- package/dist/chunks/cli-1.0.9-j500vd5e.mjs +2 -0
- package/dist/chunks/cli-1.0.9-j6fwd0mg.mjs +3 -0
- package/dist/chunks/cli-1.0.9-jcnmjs31.mjs +2 -0
- package/dist/chunks/cli-1.0.9-jfgy2jk6.mjs +5 -0
- package/dist/chunks/cli-1.0.9-jktrmswp.mjs +2 -0
- package/dist/chunks/cli-1.0.9-jmxz57bg.mjs +2 -0
- package/dist/chunks/cli-1.0.9-jq2h9s5r.mjs +2 -0
- package/dist/chunks/cli-1.0.9-jwye26tm.mjs +2 -0
- package/dist/chunks/cli-1.0.9-k7xzs5f3.mjs +2 -0
- package/dist/chunks/cli-1.0.9-k9k4mjr2.mjs +58 -0
- package/dist/chunks/cli-1.0.9-kfge7dzc.mjs +3 -0
- package/dist/chunks/cli-1.0.9-kw7p06w2.mjs +2 -0
- package/dist/chunks/cli-1.0.9-m6k5afpm.mjs +3 -0
- package/dist/chunks/cli-1.0.9-mx0hp5fn.mjs +2 -0
- package/dist/chunks/cli-1.0.9-n2eds51d.mjs +2 -0
- package/dist/chunks/cli-1.0.9-nc1t91tt.mjs +15 -0
- package/dist/chunks/cli-1.0.9-nm7ds98w.mjs +2 -0
- package/dist/chunks/cli-1.0.9-nz0skfsg.mjs +6 -0
- package/dist/chunks/cli-1.0.9-p3a08x10.mjs +2 -0
- package/dist/chunks/cli-1.0.9-ppa9xdxq.mjs +2 -0
- package/dist/chunks/cli-1.0.9-pxkbc8zc.mjs +2 -0
- package/dist/chunks/cli-1.0.9-q38wwdnj.mjs +2 -0
- package/dist/chunks/cli-1.0.9-q3fzs7rd.mjs +59 -0
- package/dist/chunks/cli-1.0.9-q3xyfb3x.mjs +2 -0
- package/dist/chunks/cli-1.0.9-q6e8xnkz.mjs +2 -0
- package/dist/chunks/cli-1.0.9-qb618hw7.mjs +2 -0
- package/dist/chunks/cli-1.0.9-qjey3ysx.mjs +3 -0
- package/dist/chunks/cli-1.0.9-qpvnvfac.mjs +2 -0
- package/dist/chunks/cli-1.0.9-qyfx57wb.mjs +2 -0
- package/dist/chunks/cli-1.0.9-r4ysx5t8.mjs +2 -0
- package/dist/chunks/cli-1.0.9-rd2hz2r7.mjs +2 -0
- package/dist/chunks/cli-1.0.9-rh1x9xts.mjs +2 -0
- package/dist/chunks/cli-1.0.9-rhvh1vdg.mjs +39 -0
- package/dist/chunks/cli-1.0.9-rjq71gw8.mjs +2 -0
- package/dist/chunks/cli-1.0.9-rm8ssvm7.mjs +2 -0
- package/dist/chunks/cli-1.0.9-rpw6qq2j.mjs +2 -0
- package/dist/chunks/cli-1.0.9-s6nk6s0k.mjs +2 -0
- package/dist/chunks/cli-1.0.9-sbbswdzj.mjs +2 -0
- package/dist/chunks/cli-1.0.9-sbm5c6f2.mjs +2 -0
- package/dist/chunks/cli-1.0.9-sjqe138z.mjs +16 -0
- package/dist/chunks/cli-1.0.9-sx5z6m5d.mjs +24 -0
- package/dist/chunks/cli-1.0.9-t4qshvc1.mjs +12 -0
- package/dist/chunks/cli-1.0.9-t80qhn8j.mjs +8 -0
- package/dist/chunks/cli-1.0.9-t8c5khak.mjs +2 -0
- package/dist/chunks/cli-1.0.9-tbzbnv01.mjs +2 -0
- package/dist/chunks/cli-1.0.9-tcn5dpwj.mjs +6 -0
- package/dist/chunks/cli-1.0.9-tcszykvk.mjs +2 -0
- package/dist/chunks/cli-1.0.9-th90br16.mjs +2 -0
- package/dist/chunks/cli-1.0.9-tkk94r4t.mjs +4 -0
- package/dist/chunks/cli-1.0.9-tv64yqec.mjs +2 -0
- package/dist/chunks/cli-1.0.9-tzke31bj.mjs +12 -0
- package/dist/chunks/cli-1.0.9-v1ymh1ej.mjs +7 -0
- package/dist/chunks/cli-1.0.9-v770djrd.mjs +2 -0
- package/dist/chunks/cli-1.0.9-vcf21zvy.mjs +2 -0
- package/dist/chunks/cli-1.0.9-vhcxraj8.mjs +2 -0
- package/dist/chunks/cli-1.0.9-vvwt9bfb.mjs +2 -0
- package/dist/chunks/cli-1.0.9-w1yvav1x.mjs +2 -0
- package/dist/chunks/cli-1.0.9-w5dyqxqk.mjs +2 -0
- package/dist/chunks/cli-1.0.9-wcm9r8rn.mjs +2 -0
- package/dist/chunks/cli-1.0.9-wk087awy.mjs +2 -0
- package/dist/chunks/cli-1.0.9-wm0q00hf.mjs +3 -0
- package/dist/chunks/cli-1.0.9-wny75xk9.mjs +2 -0
- package/dist/chunks/cli-1.0.9-x06kapeh.mjs +2 -0
- package/dist/chunks/cli-1.0.9-x3vqg6qp.mjs +2 -0
- package/dist/chunks/cli-1.0.9-x4t4nqd2.mjs +4 -0
- package/dist/chunks/cli-1.0.9-x4tngp24.mjs +5 -0
- package/dist/chunks/cli-1.0.9-x8ty0z67.mjs +12 -0
- package/dist/chunks/cli-1.0.9-xd6wrh53.mjs +2 -0
- package/dist/chunks/cli-1.0.9-xe8dc6qb.mjs +2 -0
- package/dist/chunks/cli-1.0.9-xtwh19d1.mjs +1 -0
- package/dist/chunks/cli-1.0.9-xx44tx6h.mjs +2 -0
- package/dist/chunks/cli-1.0.9-xyzdk3z1.mjs +2 -0
- package/dist/chunks/cli-1.0.9-y0zax3d9.mjs +2 -0
- package/dist/chunks/cli-1.0.9-y1db6cvh.mjs +2 -0
- package/dist/chunks/cli-1.0.9-y7sdjd9n.mjs +2 -0
- package/dist/chunks/cli-1.0.9-ymbxfv5d.mjs +6 -0
- package/dist/chunks/cli-1.0.9-ympvk0av.mjs +6 -0
- package/dist/chunks/cli-1.0.9-z8ywz3b3.mjs +3 -0
- package/dist/chunks/cli-1.0.9-z9a1abx1.mjs +15 -0
- package/dist/chunks/cli-1.0.9-zd316ka9.mjs +2 -0
- package/dist/chunks/cli-1.0.9-zqr8aygv.mjs +2 -0
- package/dist/chunks/cli-1.0.9-zrphfr1b.mjs +4 -0
- package/dist/chunks/client-1.0.9-6ytq8zpq.mjs +1 -0
- package/dist/chunks/color-1.0.9-6fzgjvkk.mjs +1 -0
- package/dist/chunks/compact-1.0.9-zezrh8xr.mjs +3 -0
- package/dist/chunks/config-1.0.9-wvjbx4ke.mjs +1 -0
- package/dist/chunks/config-1.0.9-wvne91f5.mjs +1 -0
- package/dist/chunks/constants-1.0.9-2fzrexcb.mjs +1 -0
- package/dist/chunks/context-1.0.9-ygv4e0ng.mjs +1 -0
- package/dist/chunks/context-noninteractive-1.0.9-jn0d4nj0.mjs +1 -0
- package/dist/chunks/conversation-1.0.9-gg4v7nyy.mjs +1 -0
- package/dist/chunks/copilotHeaders-1.0.9-eyzv69et.mjs +1 -0
- package/dist/chunks/copy-1.0.9-1spbc1fd.mjs +9 -0
- package/dist/chunks/cost-1.0.9-axf868g8.mjs +1 -0
- package/dist/chunks/createSSHSession-1.0.9-zp88fdrv.mjs +1 -0
- package/dist/chunks/createSession-1.0.9-6xv9ygwy.mjs +1 -0
- package/dist/chunks/debug-1.0.9-j00wf57e.mjs +1 -0
- package/dist/chunks/defaultActionDeps-1.0.9-yzqemm6t.mjs +1446 -0
- package/dist/chunks/desktop-1.0.9-zq6w2b8s.mjs +1 -0
- package/dist/chunks/detectRepository-1.0.9-mjzbbps4.mjs +1 -0
- package/dist/chunks/detection-1.0.9-yjvmg8pn.mjs +1 -0
- package/dist/chunks/diff-1.0.9-68dbevx4.mjs +1 -0
- package/dist/chunks/doctor-1.0.9-xgwzb4yw.mjs +1 -0
- package/dist/chunks/doctorDiagnostic-1.0.9-p8be86qt.mjs +1 -0
- package/dist/chunks/earlyInput-1.0.9-a7f6p18j.mjs +1 -0
- package/dist/chunks/effort-1.0.9-zv46qr82.mjs +10 -0
- package/dist/chunks/engine-1.0.9-zm715gn8.mjs +1 -0
- package/dist/chunks/envLessBridgeConfig-1.0.9-pbgxdbt9.mjs +1 -0
- package/dist/chunks/envUtils-1.0.9-jvdj5nsn.mjs +1 -0
- package/dist/chunks/environmentSelection-1.0.9-32y4kxzx.mjs +1 -0
- package/dist/chunks/environments-1.0.9-rapbbhdb.mjs +1 -0
- package/dist/chunks/errors-1.0.9-mr00r6m7.mjs +1 -0
- package/dist/chunks/exampleCommands-1.0.9-d9kwjybb.mjs +1 -0
- package/dist/chunks/execFileNoThrow-1.0.9-17y7nf7n.mjs +1 -0
- package/dist/chunks/exit-1.0.9-a8dgmc5m.mjs +1 -0
- package/dist/chunks/explorer-1.0.9-rr21y6bg.mjs +1 -0
- package/dist/chunks/export-1.0.9-m63465sz.mjs +2 -0
- package/dist/chunks/extra-usage-1.0.9-jyvmfa3x.mjs +1 -0
- package/dist/chunks/extra-usage-noninteractive-1.0.9-jr4xqktt.mjs +1 -0
- package/dist/chunks/fast-1.0.9-944nf8hg.mjs +1 -0
- package/dist/chunks/feedback-1.0.9-c6qydbzp.mjs +14 -0
- package/dist/chunks/firstPartyEventLogger-1.0.9-25ey9wf6.mjs +1 -0
- package/dist/chunks/git-1.0.9-se8gx0p4.mjs +1 -0
- package/dist/chunks/githubModelsCredentials-1.0.9-14n5qqvf.mjs +1 -0
- package/dist/chunks/goal-1.0.9-v5bwyvtb.mjs +4 -0
- package/dist/chunks/grove-1.0.9-twka7z5j.mjs +1 -0
- package/dist/chunks/growthbook-1.0.9-mghtxr31.mjs +1 -0
- package/dist/chunks/headless-1.0.9-m319gz5s.mjs +2 -0
- package/dist/chunks/heapdump-1.0.9-zk05f03w.mjs +6 -0
- package/dist/chunks/help-1.0.9-fjdspdd3.mjs +1 -0
- package/dist/chunks/hookChains-1.0.9-1p47yp2s.mjs +3 -0
- package/dist/chunks/hooks-1.0.9-gsae7evr.mjs +79 -0
- package/dist/chunks/hooks-1.0.9-ryra9j7e.mjs +1 -0
- package/dist/chunks/ide-1.0.9-5xk8pvc3.mjs +3 -0
- package/dist/chunks/image-processor-napi-1.0.9-m8xt10vv.mjs +1 -0
- package/dist/chunks/inboundAttachments-1.0.9-tv4b8ex4.mjs +1 -0
- package/dist/chunks/index-1.0.9-0mep6p2e.mjs +1 -0
- package/dist/chunks/index-1.0.9-41fkayp7.mjs +1 -0
- package/dist/chunks/index-1.0.9-4kgb526x.mjs +1 -0
- package/dist/chunks/index-1.0.9-6yrhew13.mjs +17 -0
- package/dist/chunks/index-1.0.9-90m3hak5.mjs +1 -0
- package/dist/chunks/index-1.0.9-93jbt8ts.mjs +1 -0
- package/dist/chunks/index-1.0.9-9ryfj4pb.mjs +1 -0
- package/dist/chunks/index-1.0.9-cq06g7a0.mjs +1 -0
- package/dist/chunks/index-1.0.9-f7brqkkr.mjs +1 -0
- package/dist/chunks/index-1.0.9-hvkdhsta.mjs +1 -0
- package/dist/chunks/index-1.0.9-jk2fhj8t.mjs +9 -0
- package/dist/chunks/index-1.0.9-kcnhr8fy.mjs +2 -0
- package/dist/chunks/index-1.0.9-kgymjzxf.mjs +1 -0
- package/dist/chunks/index-1.0.9-n9ganzdc.mjs +1 -0
- package/dist/chunks/index-1.0.9-p2kz6wm8.mjs +2 -0
- package/dist/chunks/index-1.0.9-q3kvfren.mjs +1 -0
- package/dist/chunks/index-1.0.9-qvjyptep.mjs +30 -0
- package/dist/chunks/index-1.0.9-sy14c383.mjs +1 -0
- package/dist/chunks/index-1.0.9-w84j6099.mjs +9 -0
- package/dist/chunks/index-1.0.9-xfjgkms3.mjs +1 -0
- package/dist/chunks/index-1.0.9-ystczwgk.mjs +1 -0
- package/dist/chunks/index-1.0.9-ythrtswh.mjs +5 -0
- package/dist/chunks/index-1.0.9-ytvws96r.mjs +1 -0
- package/dist/chunks/init-1.0.9-dk6ce4ec.mjs +1 -0
- package/dist/chunks/initReplBridge-1.0.9-xyxharkg.mjs +1 -0
- package/dist/chunks/ink-1.0.9-sj61qpy1.mjs +1 -0
- package/dist/chunks/insights-1.0.9-kc18bxsj.mjs +870 -0
- package/dist/chunks/install-1.0.9-41n1cava.mjs +1 -0
- package/dist/chunks/install-github-app-1.0.9-d0jrca5q.mjs +149 -0
- package/dist/chunks/install-slack-app-1.0.9-sgvf9xhe.mjs +1 -0
- package/dist/chunks/instrumentation-1.0.9-k55h305p.mjs +1 -0
- package/dist/chunks/interactiveHelpers-1.0.9-edx0pwv2.mjs +1 -0
- package/dist/chunks/keybindings-1.0.9-3j7rmqad.mjs +2 -0
- package/dist/chunks/knowledge-1.0.9-a0yrjtaw.mjs +2 -0
- package/dist/chunks/latestVersionCache-1.0.9-vaxbjn5a.mjs +1 -0
- package/dist/chunks/loadAgentsDir-1.0.9-5v5xmfae.mjs +1 -0
- package/dist/chunks/loadPluginHooks-1.0.9-jkz1yssz.mjs +1 -0
- package/dist/chunks/loadPluginHooks-1.0.9-ymdjzq3r.mjs +1 -0
- package/dist/chunks/log-1.0.9-zkpyqa3m.mjs +1 -0
- package/dist/chunks/main-1.0.9-h2389xyv.mjs +1 -0
- package/dist/chunks/managedEnv-1.0.9-m1nbgm9w.mjs +1 -0
- package/dist/chunks/mcp-1.0.9-0pffb151.mjs +4 -0
- package/dist/chunks/mcp-1.0.9-7te57n7g.mjs +1 -0
- package/dist/chunks/mcp-1.0.9-zx01gh7r.mjs +17 -0
- package/dist/chunks/mcpb-1.0.9-01pgh57h.mjs +1 -0
- package/dist/chunks/memory-1.0.9-t9n2z13b.mjs +3 -0
- package/dist/chunks/model-1.0.9-a1hweteq.mjs +1 -0
- package/dist/chunks/model-1.0.9-jpjmt8a2.mjs +2 -0
- package/dist/chunks/node-1.0.9-p2k460a4.mjs +12 -0
- package/dist/chunks/oauth-1.0.9-zjepvezc.mjs +1 -0
- package/dist/chunks/openaiShim-1.0.9-gapf03nh.mjs +14 -0
- package/dist/chunks/output-style-1.0.9-ssjrzh6q.mjs +1 -0
- package/dist/chunks/package-ZZWOLTXM-1.0.9-z6aewhjx.mjs +1 -0
- package/dist/chunks/parseConnectUrl-1.0.9-7gq7343s.mjs +1 -0
- package/dist/chunks/parser-1.0.9-pke5bjkh.mjs +1 -0
- package/dist/chunks/passes-1.0.9-r3ydzpyv.mjs +1 -0
- package/dist/chunks/permissions-1.0.9-97jpkg18.mjs +1 -0
- package/dist/chunks/permissions-1.0.9-c4jx0pxn.mjs +3 -0
- package/dist/chunks/plan-1.0.9-z3j9hsww.mjs +1 -0
- package/dist/chunks/plist-1.0.9-2acqr7kv.mjs +1 -0
- package/dist/chunks/plugin-1.0.9-z1m6zzew.mjs +29 -0
- package/dist/chunks/pluginStartupCheck-1.0.9-41sskjk2.mjs +1 -0
- package/dist/chunks/plugins-1.0.9-6tptm5qm.mjs +9 -0
- package/dist/chunks/preActionHook-1.0.9-wecvzns1.mjs +2 -0
- package/dist/chunks/print-1.0.9-dqymva6x.mjs +57 -0
- package/dist/chunks/privacy-settings-1.0.9-zyecjx4p.mjs +1 -0
- package/dist/chunks/process-1.0.9-2w0fkryd.mjs +1 -0
- package/dist/chunks/processBashCommand-1.0.9-4s05h1bj.mjs +1 -0
- package/dist/chunks/processSlashCommand-1.0.9-5tvxytqm.mjs +9 -0
- package/dist/chunks/prompt-1.0.9-nb76g2sv.mjs +1 -0
- package/dist/chunks/prompt-1.0.9-va3886b6.mjs +1 -0
- package/dist/chunks/prompts-1.0.9-m9dxdech.mjs +1 -0
- package/dist/chunks/protocolHandler-1.0.9-xnnv5p87.mjs +13 -0
- package/dist/chunks/provider-1.0.9-cvmd8h1d.mjs +2 -0
- package/dist/chunks/providerProfiles-1.0.9-9g0pwem4.mjs +1 -0
- package/dist/chunks/providerValidation-1.0.9-3rgdk5ee.mjs +6 -0
- package/dist/chunks/rate-limit-options-1.0.9-vk9xmrr9.mjs +1 -0
- package/dist/chunks/registerSubcommands-1.0.9-5jz3t4qr.mjs +34 -0
- package/dist/chunks/registry-1.0.9-9mvkaffy.mjs +1 -0
- package/dist/chunks/release-notes-1.0.9-6r7p97mn.mjs +5 -0
- package/dist/chunks/reload-plugins-1.0.9-xdhvgqpn.mjs +2 -0
- package/dist/chunks/remote-env-1.0.9-9htaxz0y.mjs +1 -0
- package/dist/chunks/remoteBridgeCore-1.0.9-xgvn82tp.mjs +1 -0
- package/dist/chunks/remoteSession-1.0.9-7s48fkf7.mjs +1 -0
- package/dist/chunks/rename-1.0.9-j3rs23m1.mjs +1 -0
- package/dist/chunks/replBridgeHandle-1.0.9-f67nzh9x.mjs +1 -0
- package/dist/chunks/replLauncher-1.0.9-gxjrsm7t.mjs +1 -0
- package/dist/chunks/resume-1.0.9-9f2xh9ad.mjs +2 -0
- package/dist/chunks/rewind-1.0.9-2tjbaa5s.mjs +1 -0
- package/dist/chunks/rootOptions-1.0.9-s35d4dq8.mjs +1 -0
- package/dist/chunks/runWorkflowHeadless-1.0.9-qzevh0jq.mjs +10 -0
- package/dist/chunks/sandbox-adapter-1.0.9-7vzjdzm5.mjs +1 -0
- package/dist/chunks/sandbox-toggle-1.0.9-q22mn3qe.mjs +1 -0
- package/dist/chunks/session-1.0.9-hnswn4q3.mjs +2 -0
- package/dist/chunks/sessionDiscovery-1.0.9-ap3h87gt.mjs +1 -0
- package/dist/chunks/sessionFileAccessHooks-1.0.9-266mnj7x.mjs +1 -0
- package/dist/chunks/sessionStorage-1.0.9-kdgvfddk.mjs +1 -0
- package/dist/chunks/settings-1.0.9-1avp22jd.mjs +1 -0
- package/dist/chunks/setup-1.0.9-v2ar4w15.mjs +5 -0
- package/dist/chunks/sinks-1.0.9-03y6p189.mjs +1 -0
- package/dist/chunks/skills-1.0.9-7m3bv7w4.mjs +1 -0
- package/dist/chunks/startupProfiler-1.0.9-3pbpjpsx.mjs +1 -0
- package/dist/chunks/startupUpdateCheck-1.0.9-r287g8qr.mjs +1 -0
- package/dist/chunks/state-1.0.9-5vj2cfb7.mjs +1 -0
- package/dist/chunks/stats-1.0.9-5wpymg6m.mjs +6 -0
- package/dist/chunks/status-1.0.9-zcea5prt.mjs +1 -0
- package/dist/chunks/stickers-1.0.9-01r7j7ce.mjs +1 -0
- package/dist/chunks/subprocessEnv-1.0.9-mknwnjve.mjs +1 -0
- package/dist/chunks/tasks-1.0.9-cenyj69d.mjs +1 -0
- package/dist/chunks/teamHelpers-1.0.9-7hr689j5.mjs +1 -0
- package/dist/chunks/teammateModeSnapshot-1.0.9-r6bjthhg.mjs +1 -0
- package/dist/chunks/teleport-1.0.9-3a8fh64n.mjs +1 -0
- package/dist/chunks/terminalSetup-1.0.9-dbp1dey3.mjs +1 -0
- package/dist/chunks/theme-1.0.9-he0pz8e5.mjs +1 -0
- package/dist/chunks/thinkback-1.0.9-taf9vg12.mjs +1 -0
- package/dist/chunks/thinkback-play-1.0.9-11em8wf4.mjs +1 -0
- package/dist/chunks/toolPool-1.0.9-r3vtdta9.mjs +1 -0
- package/dist/chunks/toolSearch-1.0.9-kwvr4k8b.mjs +1 -0
- package/dist/chunks/tools-1.0.9-2tg8nvhb.mjs +1 -0
- package/dist/chunks/trustedDevice-1.0.9-0q7ygrn2.mjs +1 -0
- package/dist/chunks/turndown.cjs-1.0.9-579kp1mn.mjs +69 -0
- package/dist/chunks/types-1.0.9-8q18d5tt.mjs +1 -0
- package/dist/chunks/ultrareviewCommand-1.0.9-9ejdt7py.mjs +4 -0
- package/dist/chunks/update-1.0.9-85n1z4v4.mjs +88 -0
- package/dist/chunks/upgrade-1.0.9-7q7cawa0.mjs +1 -0
- package/dist/chunks/upload-1.0.9-51kq9qt0.mjs +7 -0
- package/dist/chunks/upstreamproxy-1.0.9-59ykzeyj.mjs +14 -0
- package/dist/chunks/url-handler-napi-1.0.9-x7vgzkpg.mjs +1 -0
- package/dist/chunks/usage-1.0.9-z798edp5.mjs +1 -0
- package/dist/chunks/util-1.0.9-7kephmmr.mjs +1 -0
- package/dist/chunks/utils-1.0.9-ek4v8a00.mjs +1 -0
- package/dist/chunks/vim-1.0.9-kj0qj8nh.mjs +1 -0
- package/dist/chunks/watchLoop-1.0.9-r1awam6x.mjs +13 -0
- package/dist/chunks/watcher-1.0.9-9j8zqhdf.mjs +1 -0
- package/dist/chunks/wiki-1.0.9-w9wz311p.mjs +132 -0
- package/dist/chunks/workflows-1.0.9-9bwm4jqm.mjs +1 -0
- package/dist/chunks/worktree-1.0.9-wnbd6zc9.mjs +1 -0
- package/dist/chunks/worktreeModeEnabled-1.0.9-wjt137fb.mjs +1 -0
- package/dist/chunks/wrapper-1.0.9-dykv81xe.mjs +7 -0
- package/dist/cli.mjs +2 -2
- package/dist/help-workflow.txt +12 -0
- package/dist/help.txt +1 -0
- package/install.cjs +17 -1
- package/package.json +9 -9
- package/dist/chunks/AgentTool-1.0.7-syk5wnkb.mjs +0 -1
- package/dist/chunks/App-1.0.7-9xht4gsa.mjs +0 -1
- package/dist/chunks/ApproveApiKey-1.0.7-dnv7dmn7.mjs +0 -1
- package/dist/chunks/AssistantSessionChooser-1.0.7-q24ws7x8.mjs +0 -1
- package/dist/chunks/AutoModeOptInDialog-1.0.7-e3kma94j.mjs +0 -1
- package/dist/chunks/BypassPermissionsModeDialog-1.0.7-2m1y9b7f.mjs +0 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.0.7-1gpcb873.mjs +0 -1
- package/dist/chunks/ConsoleOAuthFlow-1.0.7-pyrnmhtt.mjs +0 -1
- package/dist/chunks/DiffDialog-1.0.7-whkynyby.mjs +0 -7
- package/dist/chunks/Doctor-1.0.7-3yedapcw.mjs +0 -1
- package/dist/chunks/ExplorerDialog-1.0.7-99ytgtp8.mjs +0 -6
- package/dist/chunks/Grove-1.0.7-c6wygjxb.mjs +0 -1
- package/dist/chunks/ITermBackend-1.0.7-a8a42yx1.mjs +0 -1
- package/dist/chunks/InvalidConfigDialog-1.0.7-0e1f33ss.mjs +0 -1
- package/dist/chunks/InvalidSettingsDialog-1.0.7-141f7djg.mjs +0 -1
- package/dist/chunks/MigrationDialog-1.0.7-scbcqde5.mjs +0 -1
- package/dist/chunks/Onboarding-1.0.7-9f7rpy9p.mjs +0 -1
- package/dist/chunks/ProviderManager-1.0.7-6mjnccee.mjs +0 -1
- package/dist/chunks/REPL-1.0.7-3xhews8d.mjs +0 -1
- package/dist/chunks/ResumeConversation-1.0.7-qq2sfpfr.mjs +0 -1
- package/dist/chunks/SnapshotUpdateDialog-1.0.7-x9djv2x5.mjs +0 -1
- package/dist/chunks/TeleportProgress-1.0.7-f6caprdb.mjs +0 -1
- package/dist/chunks/TeleportRepoMismatchDialog-1.0.7-b511561j.mjs +0 -1
- package/dist/chunks/TeleportResumeWrapper-1.0.7-9twx384a.mjs +0 -1
- package/dist/chunks/TmuxBackend-1.0.7-x3j2hxpn.mjs +0 -9
- package/dist/chunks/ToolSearchTool-1.0.7-1y7h6yxr.mjs +0 -1
- package/dist/chunks/TrustDialog-1.0.7-na359dm9.mjs +0 -1
- package/dist/chunks/activeProvider-1.0.7-2vx6krky.mjs +0 -1
- package/dist/chunks/add-dir-1.0.7-r9eb0fmb.mjs +0 -1
- package/dist/chunks/agentTypes-1.0.7-v46w2p6e.mjs +0 -1
- package/dist/chunks/agents-1.0.7-ekjscjc4.mjs +0 -3
- package/dist/chunks/agents-1.0.7-v22jz68n.mjs +0 -110
- package/dist/chunks/api-1.0.7-v520kz7p.mjs +0 -1
- package/dist/chunks/asciicast-1.0.7-r61pgxmk.mjs +0 -1
- package/dist/chunks/assistant-1.0.7-c12zzeyg.mjs +0 -1
- package/dist/chunks/auth-1.0.7-gv0th62c.mjs +0 -1
- package/dist/chunks/auth-1.0.7-y9sxvs6e.mjs +0 -1
- package/dist/chunks/autoMode-1.0.7-yq0m3sf6.mjs +0 -48
- package/dist/chunks/autoUpdater-1.0.7-6fqzjxwg.mjs +0 -1
- package/dist/chunks/backgroundHousekeeping-1.0.7-7mzhb52b.mjs +0 -1
- package/dist/chunks/branch-1.0.7-66ms82bv.mjs +0 -4
- package/dist/chunks/bridge-1.0.7-cd3w20b9.mjs +0 -2
- package/dist/chunks/bridgeConfig-1.0.7-wztmwmxc.mjs +0 -1
- package/dist/chunks/bridgeEnabled-1.0.7-046e65f0.mjs +0 -1
- package/dist/chunks/bridgeMain-1.0.7-knt8h92j.mjs +0 -88
- package/dist/chunks/bridgePointer-1.0.7-v2crbecf.mjs +0 -1
- package/dist/chunks/btw-1.0.7-eg973xg5.mjs +0 -1
- package/dist/chunks/buddy-1.0.7-ypvr18ck.mjs +0 -3
- package/dist/chunks/cacache-1.0.7-0tzh2dcw.mjs +0 -1
- package/dist/chunks/cache-probe-1.0.7-hhfr94gj.mjs +0 -21
- package/dist/chunks/cacheStats-1.0.7-51t2bh05.mjs +0 -4
- package/dist/chunks/caches-1.0.7-mvqghhkx.mjs +0 -1
- package/dist/chunks/claudeDesktop-1.0.7-1mrhcxq6.mjs +0 -1
- package/dist/chunks/claudemd-1.0.7-kgynnx5a.mjs +0 -1
- package/dist/chunks/clear-1.0.7-08jf28zt.mjs +0 -1
- package/dist/chunks/clearTerminal-1.0.7-z4gkskcj.mjs +0 -1
- package/dist/chunks/cli-1.0.7-01cbaw74.mjs +0 -2
- package/dist/chunks/cli-1.0.7-05enwpnp.mjs +0 -2
- package/dist/chunks/cli-1.0.7-073ekpkk.mjs +0 -21
- package/dist/chunks/cli-1.0.7-0dmnsy4c.mjs +0 -2
- package/dist/chunks/cli-1.0.7-0qbp0ac0.mjs +0 -17
- package/dist/chunks/cli-1.0.7-15qvkn0q.mjs +0 -15
- package/dist/chunks/cli-1.0.7-16wdg8r0.mjs +0 -18
- package/dist/chunks/cli-1.0.7-1fwxyw8s.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1j68v2d8.mjs +0 -3
- package/dist/chunks/cli-1.0.7-1mkaw3aw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1r1y3a1c.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1rw3xdy0.mjs +0 -58
- package/dist/chunks/cli-1.0.7-1s12ckef.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1sgef4sw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1ty38mre.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1xe7m9s1.mjs +0 -4
- package/dist/chunks/cli-1.0.7-1y8xdp9n.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2438cvr1.mjs +0 -3
- package/dist/chunks/cli-1.0.7-2cajdt14.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2csh6jt3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2k1bt916.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2pyjzmpq.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2wm3s497.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2xw882yk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-39nnxy0p.mjs +0 -2
- package/dist/chunks/cli-1.0.7-3arv8y4s.mjs +0 -12
- package/dist/chunks/cli-1.0.7-3fx5xqzq.mjs +0 -2
- package/dist/chunks/cli-1.0.7-3ke0fbeq.mjs +0 -6
- package/dist/chunks/cli-1.0.7-3kmf6s21.mjs +0 -67
- package/dist/chunks/cli-1.0.7-3p608q44.mjs +0 -2
- package/dist/chunks/cli-1.0.7-3pqhf5bj.mjs +0 -4
- package/dist/chunks/cli-1.0.7-3qnpcgyc.mjs +0 -2
- package/dist/chunks/cli-1.0.7-3s41c41h.mjs +0 -20
- package/dist/chunks/cli-1.0.7-3s4ccas2.mjs +0 -2
- package/dist/chunks/cli-1.0.7-3xrc45nn.mjs +0 -2
- package/dist/chunks/cli-1.0.7-3z1z90gf.mjs +0 -4
- package/dist/chunks/cli-1.0.7-41jm6paw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-45px4q2q.mjs +0 -12
- package/dist/chunks/cli-1.0.7-4a67zfe7.mjs +0 -2
- package/dist/chunks/cli-1.0.7-4qwjg996.mjs +0 -2
- package/dist/chunks/cli-1.0.7-538yatrk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-5f0y2nxn.mjs +0 -2
- package/dist/chunks/cli-1.0.7-5h2vgm7b.mjs +0 -2
- package/dist/chunks/cli-1.0.7-5kc9g0m9.mjs +0 -3
- package/dist/chunks/cli-1.0.7-5qss5m61.mjs +0 -2
- package/dist/chunks/cli-1.0.7-5rxjz9r1.mjs +0 -2
- package/dist/chunks/cli-1.0.7-65xw81pn.mjs +0 -7
- package/dist/chunks/cli-1.0.7-67z7m1zx.mjs +0 -15
- package/dist/chunks/cli-1.0.7-6ncp8ban.mjs +0 -2
- package/dist/chunks/cli-1.0.7-6r3vkkzw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-6rt1agkh.mjs +0 -2
- package/dist/chunks/cli-1.0.7-6wm7jzey.mjs +0 -2
- package/dist/chunks/cli-1.0.7-6yr2e385.mjs +0 -2
- package/dist/chunks/cli-1.0.7-73e5dz55.mjs +0 -2
- package/dist/chunks/cli-1.0.7-757ex32c.mjs +0 -199
- package/dist/chunks/cli-1.0.7-7egbzjdg.mjs +0 -12
- package/dist/chunks/cli-1.0.7-7gmv86pv.mjs +0 -25
- package/dist/chunks/cli-1.0.7-7qm9503t.mjs +0 -4
- package/dist/chunks/cli-1.0.7-7xhry9cz.mjs +0 -8
- package/dist/chunks/cli-1.0.7-7yrvwwdb.mjs +0 -2
- package/dist/chunks/cli-1.0.7-84dx5y2m.mjs +0 -2
- package/dist/chunks/cli-1.0.7-8fj15s8a.mjs +0 -2
- package/dist/chunks/cli-1.0.7-8hepstgz.mjs +0 -2
- package/dist/chunks/cli-1.0.7-8pfh7aha.mjs +0 -2
- package/dist/chunks/cli-1.0.7-96mb1gmj.mjs +0 -2
- package/dist/chunks/cli-1.0.7-96qpk0ct.mjs +0 -2
- package/dist/chunks/cli-1.0.7-97fqbfff.mjs +0 -2
- package/dist/chunks/cli-1.0.7-9p7hfa00.mjs +0 -2
- package/dist/chunks/cli-1.0.7-9pc6jb5f.mjs +0 -2
- package/dist/chunks/cli-1.0.7-9ws1j17m.mjs +0 -2
- package/dist/chunks/cli-1.0.7-a32vv8nk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-a78rj0kd.mjs +0 -9
- package/dist/chunks/cli-1.0.7-a7fahcda.mjs +0 -2
- package/dist/chunks/cli-1.0.7-a808xdj3.mjs +0 -3
- package/dist/chunks/cli-1.0.7-aa7vfbxa.mjs +0 -2
- package/dist/chunks/cli-1.0.7-af1m1akw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-akbc4ch3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-an2jwvew.mjs +0 -9
- package/dist/chunks/cli-1.0.7-anrcmph3.mjs +0 -3
- package/dist/chunks/cli-1.0.7-av93xde0.mjs +0 -2
- package/dist/chunks/cli-1.0.7-b16t7f1a.mjs +0 -2
- package/dist/chunks/cli-1.0.7-b2pf78c9.mjs +0 -2
- package/dist/chunks/cli-1.0.7-b778v1dh.mjs +0 -2
- package/dist/chunks/cli-1.0.7-baqj15a8.mjs +0 -2
- package/dist/chunks/cli-1.0.7-bc3sxk1j.mjs +0 -26
- package/dist/chunks/cli-1.0.7-bfe6f9c6.mjs +0 -2
- package/dist/chunks/cli-1.0.7-bkm2xek7.mjs +0 -2
- package/dist/chunks/cli-1.0.7-bn0sb2w7.mjs +0 -2
- package/dist/chunks/cli-1.0.7-c8kxp6h0.mjs +0 -2
- package/dist/chunks/cli-1.0.7-cb42m3ff.mjs +0 -2
- package/dist/chunks/cli-1.0.7-cf47wta1.mjs +0 -2
- package/dist/chunks/cli-1.0.7-cs7epg9a.mjs +0 -2
- package/dist/chunks/cli-1.0.7-d1zc020r.mjs +0 -133
- package/dist/chunks/cli-1.0.7-d3txxwh5.mjs +0 -2
- package/dist/chunks/cli-1.0.7-dbyr517p.mjs +0 -4
- package/dist/chunks/cli-1.0.7-ddhhvx60.mjs +0 -2
- package/dist/chunks/cli-1.0.7-df9p9tj8.mjs +0 -24
- package/dist/chunks/cli-1.0.7-dhdv7vtc.mjs +0 -50
- package/dist/chunks/cli-1.0.7-dnn18rgf.mjs +0 -2
- package/dist/chunks/cli-1.0.7-dr2dca7n.mjs +0 -2
- package/dist/chunks/cli-1.0.7-f43w1f9g.mjs +0 -42
- package/dist/chunks/cli-1.0.7-f6490vr3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-fcfrsawp.mjs +0 -2
- package/dist/chunks/cli-1.0.7-fckzct0z.mjs +0 -2
- package/dist/chunks/cli-1.0.7-ff6dfmp3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-fmdws8pg.mjs +0 -2
- package/dist/chunks/cli-1.0.7-fvr9xx0m.mjs +0 -2
- package/dist/chunks/cli-1.0.7-g1hrx2r5.mjs +0 -18
- package/dist/chunks/cli-1.0.7-g42rsvs5.mjs +0 -2
- package/dist/chunks/cli-1.0.7-g6d9snde.mjs +0 -3
- package/dist/chunks/cli-1.0.7-ga6hk3n2.mjs +0 -3
- package/dist/chunks/cli-1.0.7-ghxmw318.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gj1806bk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gk53nva2.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gnwjbdch.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gp71tfwe.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gq9fp39n.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gqf40mqk.mjs +0 -24
- package/dist/chunks/cli-1.0.7-h1g9rk4g.mjs +0 -4
- package/dist/chunks/cli-1.0.7-hd6xn6rt.mjs +0 -2
- package/dist/chunks/cli-1.0.7-hfcehnx9.mjs +0 -3
- package/dist/chunks/cli-1.0.7-hw8dxgj2.mjs +0 -2
- package/dist/chunks/cli-1.0.7-j31m0f1y.mjs +0 -2
- package/dist/chunks/cli-1.0.7-j6hxvf4r.mjs +0 -2
- package/dist/chunks/cli-1.0.7-j6ndkfy3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-jn7nay2r.mjs +0 -2
- package/dist/chunks/cli-1.0.7-jz4phmb3.mjs +0 -3
- package/dist/chunks/cli-1.0.7-k38j6sgc.mjs +0 -2
- package/dist/chunks/cli-1.0.7-k3nnbdbv.mjs +0 -2
- package/dist/chunks/cli-1.0.7-kegj01e5.mjs +0 -133
- package/dist/chunks/cli-1.0.7-kf237s65.mjs +0 -2
- package/dist/chunks/cli-1.0.7-kgbv7bt5.mjs +0 -17
- package/dist/chunks/cli-1.0.7-khd0yqhk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-m17d94h8.mjs +0 -2
- package/dist/chunks/cli-1.0.7-mcmpb4cd.mjs +0 -2
- package/dist/chunks/cli-1.0.7-mv7ptsre.mjs +0 -2
- package/dist/chunks/cli-1.0.7-mwj9f8rw.mjs +0 -59
- package/dist/chunks/cli-1.0.7-mznh91ce.mjs +0 -2
- package/dist/chunks/cli-1.0.7-n5hf2vsh.mjs +0 -2
- package/dist/chunks/cli-1.0.7-na7ksfyj.mjs +0 -2
- package/dist/chunks/cli-1.0.7-nhg85avf.mjs +0 -2
- package/dist/chunks/cli-1.0.7-nnd4za11.mjs +0 -3
- package/dist/chunks/cli-1.0.7-p4p38dky.mjs +0 -3
- package/dist/chunks/cli-1.0.7-p5setvdk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-ph9qjcjb.mjs +0 -2
- package/dist/chunks/cli-1.0.7-pscxy55m.mjs +0 -3
- package/dist/chunks/cli-1.0.7-pxmf9kyf.mjs +0 -2
- package/dist/chunks/cli-1.0.7-pyacw9kn.mjs +0 -5
- package/dist/chunks/cli-1.0.7-q3ezj6q3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-q7w0ex1x.mjs +0 -2
- package/dist/chunks/cli-1.0.7-qdtt526e.mjs +0 -2
- package/dist/chunks/cli-1.0.7-qjtqaam0.mjs +0 -2
- package/dist/chunks/cli-1.0.7-qknq8k3p.mjs +0 -2
- package/dist/chunks/cli-1.0.7-qmm35cv2.mjs +0 -39
- package/dist/chunks/cli-1.0.7-qxjpkptr.mjs +0 -2
- package/dist/chunks/cli-1.0.7-r4h75bn4.mjs +0 -2
- package/dist/chunks/cli-1.0.7-rbrr75z2.mjs +0 -2
- package/dist/chunks/cli-1.0.7-rz8h7nks.mjs +0 -2
- package/dist/chunks/cli-1.0.7-s11nkveb.mjs +0 -24
- package/dist/chunks/cli-1.0.7-s27f8y4p.mjs +0 -2
- package/dist/chunks/cli-1.0.7-s5mhxbhn.mjs +0 -5476
- package/dist/chunks/cli-1.0.7-s6jjnyxd.mjs +0 -2
- package/dist/chunks/cli-1.0.7-s8e8tq3y.mjs +0 -2
- package/dist/chunks/cli-1.0.7-sjpx2md1.mjs +0 -2
- package/dist/chunks/cli-1.0.7-skm59maw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-sv4vj25b.mjs +0 -2
- package/dist/chunks/cli-1.0.7-t8m8vafg.mjs +0 -4
- package/dist/chunks/cli-1.0.7-tf8b1vhx.mjs +0 -2
- package/dist/chunks/cli-1.0.7-tvz0kwb6.mjs +0 -25
- package/dist/chunks/cli-1.0.7-txhggtd1.mjs +0 -16
- package/dist/chunks/cli-1.0.7-tz22r50p.mjs +0 -2
- package/dist/chunks/cli-1.0.7-vcsdnmc0.mjs +0 -2
- package/dist/chunks/cli-1.0.7-veqj11zy.mjs +0 -3
- package/dist/chunks/cli-1.0.7-vjgedfc4.mjs +0 -2
- package/dist/chunks/cli-1.0.7-vtd2sbnq.mjs +0 -3
- package/dist/chunks/cli-1.0.7-vw4n13wr.mjs +0 -2
- package/dist/chunks/cli-1.0.7-vx0rcgfm.mjs +0 -2
- package/dist/chunks/cli-1.0.7-w3g8c9m3.mjs +0 -18
- package/dist/chunks/cli-1.0.7-wahp9jjm.mjs +0 -5
- package/dist/chunks/cli-1.0.7-wc28nq81.mjs +0 -6
- package/dist/chunks/cli-1.0.7-wc4y0k3e.mjs +0 -12
- package/dist/chunks/cli-1.0.7-wgt5ay2x.mjs +0 -6
- package/dist/chunks/cli-1.0.7-wk9hs648.mjs +0 -2
- package/dist/chunks/cli-1.0.7-wmrv4paj.mjs +0 -45
- package/dist/chunks/cli-1.0.7-wqrgw4kw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-ws7404wd.mjs +0 -2
- package/dist/chunks/cli-1.0.7-wwy64zs8.mjs +0 -4
- package/dist/chunks/cli-1.0.7-xdt2g9p7.mjs +0 -2
- package/dist/chunks/cli-1.0.7-xga48xv7.mjs +0 -2
- package/dist/chunks/cli-1.0.7-xh0afj9p.mjs +0 -2
- package/dist/chunks/cli-1.0.7-xhb3g1xh.mjs +0 -2
- package/dist/chunks/cli-1.0.7-xtj9j6ha.mjs +0 -15
- package/dist/chunks/cli-1.0.7-xvhkprcw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-xxa9e3we.mjs +0 -4
- package/dist/chunks/cli-1.0.7-y8sq6jh3.mjs +0 -4
- package/dist/chunks/cli-1.0.7-y94dd4yd.mjs +0 -2
- package/dist/chunks/cli-1.0.7-yatztvfp.mjs +0 -2
- package/dist/chunks/cli-1.0.7-yb9sxq0k.mjs +0 -2
- package/dist/chunks/cli-1.0.7-ybcht1kp.mjs +0 -2
- package/dist/chunks/cli-1.0.7-yc90byps.mjs +0 -34
- package/dist/chunks/cli-1.0.7-yyqg2waz.mjs +0 -2
- package/dist/chunks/cli-1.0.7-z53gtmpk.mjs +0 -6
- package/dist/chunks/cli-1.0.7-z5vgrn57.mjs +0 -2
- package/dist/chunks/cli-1.0.7-z9fvy0d8.mjs +0 -2
- package/dist/chunks/cli-1.0.7-zjapdrt8.mjs +0 -6
- package/dist/chunks/cli-1.0.7-zmqm6p6t.mjs +0 -2
- package/dist/chunks/cli-1.0.7-zsbst1mq.mjs +0 -1
- package/dist/chunks/cli-1.0.7-zwr4ga8c.mjs +0 -2
- package/dist/chunks/client-1.0.7-n8414pey.mjs +0 -1
- package/dist/chunks/color-1.0.7-99fmrmyq.mjs +0 -1
- package/dist/chunks/compact-1.0.7-91sa41px.mjs +0 -3
- package/dist/chunks/config-1.0.7-bjt981nd.mjs +0 -1
- package/dist/chunks/config-1.0.7-vfbd76cq.mjs +0 -1
- package/dist/chunks/constants-1.0.7-fj97y7dq.mjs +0 -1
- package/dist/chunks/context-1.0.7-qmktq4pg.mjs +0 -1
- package/dist/chunks/context-noninteractive-1.0.7-w9828p3h.mjs +0 -1
- package/dist/chunks/conversation-1.0.7-d5q8rrwx.mjs +0 -1
- package/dist/chunks/copilotHeaders-1.0.7-mhsm6qwp.mjs +0 -1
- package/dist/chunks/copy-1.0.7-hznd9dqf.mjs +0 -9
- package/dist/chunks/cost-1.0.7-hbpz16jx.mjs +0 -1
- package/dist/chunks/createSSHSession-1.0.7-5s4sy0qv.mjs +0 -1
- package/dist/chunks/createSession-1.0.7-mha5sscw.mjs +0 -1
- package/dist/chunks/debug-1.0.7-6kcgjwgp.mjs +0 -1
- package/dist/chunks/defaultActionDeps-1.0.7-5x2a3qnr.mjs +0 -1446
- package/dist/chunks/desktop-1.0.7-37m19pef.mjs +0 -1
- package/dist/chunks/detectRepository-1.0.7-3ffa7wfs.mjs +0 -1
- package/dist/chunks/detection-1.0.7-bcwz3kz9.mjs +0 -1
- package/dist/chunks/diff-1.0.7-60vwaapm.mjs +0 -1
- package/dist/chunks/doctor-1.0.7-bc3r1p04.mjs +0 -1
- package/dist/chunks/doctorDiagnostic-1.0.7-qe18rzqr.mjs +0 -1
- package/dist/chunks/earlyInput-1.0.7-51cxad4b.mjs +0 -1
- package/dist/chunks/effort-1.0.7-mckjwtdk.mjs +0 -10
- package/dist/chunks/engine-1.0.7-1kqhk6mc.mjs +0 -1
- package/dist/chunks/envLessBridgeConfig-1.0.7-hbpge4a8.mjs +0 -1
- package/dist/chunks/envUtils-1.0.7-m63cpkg3.mjs +0 -1
- package/dist/chunks/environmentSelection-1.0.7-kg2xnt7t.mjs +0 -1
- package/dist/chunks/environments-1.0.7-jcrcam7e.mjs +0 -1
- package/dist/chunks/errors-1.0.7-vhtw6kg6.mjs +0 -1
- package/dist/chunks/exampleCommands-1.0.7-f254y3tf.mjs +0 -1
- package/dist/chunks/exit-1.0.7-f5s73g22.mjs +0 -1
- package/dist/chunks/explorer-1.0.7-yjpphptq.mjs +0 -1
- package/dist/chunks/export-1.0.7-7kn40p9m.mjs +0 -2
- package/dist/chunks/extra-usage-1.0.7-xwb7xfe4.mjs +0 -1
- package/dist/chunks/extra-usage-noninteractive-1.0.7-0dpsjjh0.mjs +0 -1
- package/dist/chunks/fast-1.0.7-9eg9g1mf.mjs +0 -1
- package/dist/chunks/feedback-1.0.7-kkw4fdj8.mjs +0 -14
- package/dist/chunks/firstPartyEventLogger-1.0.7-yaekw6be.mjs +0 -1
- package/dist/chunks/git-1.0.7-t3824xkx.mjs +0 -1
- package/dist/chunks/githubModelsCredentials-1.0.7-m79e1ga1.mjs +0 -1
- package/dist/chunks/goal-1.0.7-jkmcdmm1.mjs +0 -4
- package/dist/chunks/grove-1.0.7-th5kn0n5.mjs +0 -1
- package/dist/chunks/growthbook-1.0.7-hnr2hv9t.mjs +0 -1
- package/dist/chunks/headless-1.0.7-2w17kqac.mjs +0 -2
- package/dist/chunks/heapdump-1.0.7-1qvsds14.mjs +0 -6
- package/dist/chunks/help-1.0.7-33ennxwb.mjs +0 -1
- package/dist/chunks/hookChains-1.0.7-8gt4r1qg.mjs +0 -3
- package/dist/chunks/hooks-1.0.7-970fsrks.mjs +0 -1
- package/dist/chunks/hooks-1.0.7-xyrevnk8.mjs +0 -79
- package/dist/chunks/ide-1.0.7-knfed9xe.mjs +0 -3
- package/dist/chunks/image-processor-napi-1.0.7-5c1fwxwf.mjs +0 -1
- package/dist/chunks/inboundAttachments-1.0.7-5p98j8m2.mjs +0 -1
- package/dist/chunks/index-1.0.7-0ce2q3me.mjs +0 -17
- package/dist/chunks/index-1.0.7-3tbze0ns.mjs +0 -1
- package/dist/chunks/index-1.0.7-3z09rqyx.mjs +0 -1
- package/dist/chunks/index-1.0.7-4g6596jt.mjs +0 -1
- package/dist/chunks/index-1.0.7-59cvfmen.mjs +0 -1
- package/dist/chunks/index-1.0.7-63vq5fws.mjs +0 -1
- package/dist/chunks/index-1.0.7-6wcbk6ve.mjs +0 -5
- package/dist/chunks/index-1.0.7-84wm5p43.mjs +0 -1
- package/dist/chunks/index-1.0.7-c0jfw97a.mjs +0 -9
- package/dist/chunks/index-1.0.7-dds9fcry.mjs +0 -1
- package/dist/chunks/index-1.0.7-ecq1qwpq.mjs +0 -1
- package/dist/chunks/index-1.0.7-gm6exxqq.mjs +0 -30
- package/dist/chunks/index-1.0.7-jh8savg9.mjs +0 -9
- package/dist/chunks/index-1.0.7-k8k38nbt.mjs +0 -1
- package/dist/chunks/index-1.0.7-kyyfrf6j.mjs +0 -1
- package/dist/chunks/index-1.0.7-m23r2bmv.mjs +0 -1
- package/dist/chunks/index-1.0.7-mmm10tac.mjs +0 -2
- package/dist/chunks/index-1.0.7-p82yhqst.mjs +0 -1
- package/dist/chunks/index-1.0.7-vyafwe23.mjs +0 -1
- package/dist/chunks/index-1.0.7-wazwyjm7.mjs +0 -1
- package/dist/chunks/index-1.0.7-wd33rv5q.mjs +0 -1
- package/dist/chunks/index-1.0.7-yhxty6kz.mjs +0 -1
- package/dist/chunks/index-1.0.7-zp3vs07b.mjs +0 -2
- package/dist/chunks/init-1.0.7-y29e6mb3.mjs +0 -1
- package/dist/chunks/initReplBridge-1.0.7-14rmpkte.mjs +0 -1
- package/dist/chunks/ink-1.0.7-gf3qdamf.mjs +0 -1
- package/dist/chunks/insights-1.0.7-hd6460mk.mjs +0 -870
- package/dist/chunks/install-1.0.7-antesxaa.mjs +0 -1
- package/dist/chunks/install-github-app-1.0.7-0asc4ajr.mjs +0 -149
- package/dist/chunks/install-slack-app-1.0.7-zwna6gq3.mjs +0 -1
- package/dist/chunks/instrumentation-1.0.7-wvv85h9t.mjs +0 -1
- package/dist/chunks/interactiveHelpers-1.0.7-pkmbfs0b.mjs +0 -1
- package/dist/chunks/keybindings-1.0.7-emp8m2vr.mjs +0 -2
- package/dist/chunks/knowledge-1.0.7-6hv6538k.mjs +0 -2
- package/dist/chunks/latestVersionCache-1.0.7-t1gtsxte.mjs +0 -1
- package/dist/chunks/loadAgentsDir-1.0.7-j5mq4f5x.mjs +0 -1
- package/dist/chunks/loadPluginHooks-1.0.7-6tbrq15z.mjs +0 -1
- package/dist/chunks/loadPluginHooks-1.0.7-k2zgqtye.mjs +0 -1
- package/dist/chunks/log-1.0.7-pmgzzdy7.mjs +0 -1
- package/dist/chunks/main-1.0.7-esamqda3.mjs +0 -1
- package/dist/chunks/managedEnv-1.0.7-6mz7vwyt.mjs +0 -1
- package/dist/chunks/mcp-1.0.7-d4941tnp.mjs +0 -17
- package/dist/chunks/mcp-1.0.7-hjjdsn53.mjs +0 -4
- package/dist/chunks/mcp-1.0.7-skfyfspe.mjs +0 -1
- package/dist/chunks/mcpb-1.0.7-twwnd1ct.mjs +0 -1
- package/dist/chunks/memory-1.0.7-0r8q4re7.mjs +0 -3
- package/dist/chunks/model-1.0.7-d82p81ne.mjs +0 -2
- package/dist/chunks/model-1.0.7-xt8c58fg.mjs +0 -1
- package/dist/chunks/node-1.0.7-5h6w60zy.mjs +0 -12
- package/dist/chunks/oauth-1.0.7-gveatjqe.mjs +0 -1
- package/dist/chunks/openaiShim-1.0.7-q8aqfz40.mjs +0 -14
- package/dist/chunks/output-style-1.0.7-xnamzpre.mjs +0 -1
- package/dist/chunks/package-ZZWOLTXM-1.0.7-y8bvx3y5.mjs +0 -1
- package/dist/chunks/parseConnectUrl-1.0.7-we9ebc0h.mjs +0 -1
- package/dist/chunks/parser-1.0.7-20zgf2mq.mjs +0 -1
- package/dist/chunks/passes-1.0.7-gcnj20c4.mjs +0 -1
- package/dist/chunks/permissions-1.0.7-43y27rj9.mjs +0 -3
- package/dist/chunks/permissions-1.0.7-kw8fw9gd.mjs +0 -1
- package/dist/chunks/plan-1.0.7-z1k9hfr8.mjs +0 -1
- package/dist/chunks/plist-1.0.7-daxqmwqx.mjs +0 -1
- package/dist/chunks/plugin-1.0.7-66bqymg3.mjs +0 -29
- package/dist/chunks/pluginStartupCheck-1.0.7-w5krqm0w.mjs +0 -1
- package/dist/chunks/plugins-1.0.7-8njx3c0z.mjs +0 -9
- package/dist/chunks/preActionHook-1.0.7-a1hhphah.mjs +0 -2
- package/dist/chunks/print-1.0.7-xnncgmye.mjs +0 -57
- package/dist/chunks/privacy-settings-1.0.7-7gfaexn9.mjs +0 -1
- package/dist/chunks/process-1.0.7-9sx5xgpe.mjs +0 -1
- package/dist/chunks/processBashCommand-1.0.7-32dm20nc.mjs +0 -1
- package/dist/chunks/processSlashCommand-1.0.7-am0rnn44.mjs +0 -9
- package/dist/chunks/prompt-1.0.7-0yt5k7pt.mjs +0 -1
- package/dist/chunks/prompt-1.0.7-hfv56awc.mjs +0 -1
- package/dist/chunks/prompts-1.0.7-1p5km2m0.mjs +0 -1
- package/dist/chunks/protocolHandler-1.0.7-geqttcpz.mjs +0 -13
- package/dist/chunks/provider-1.0.7-y0j7q32j.mjs +0 -2
- package/dist/chunks/providerProfiles-1.0.7-s0zs9q1r.mjs +0 -1
- package/dist/chunks/providerValidation-1.0.7-aexhx4ft.mjs +0 -6
- package/dist/chunks/rate-limit-options-1.0.7-r4b2s2hk.mjs +0 -1
- package/dist/chunks/registerSubcommands-1.0.7-qmvr4jj4.mjs +0 -34
- package/dist/chunks/registry-1.0.7-be1gn584.mjs +0 -1
- package/dist/chunks/release-notes-1.0.7-tcr3xzz7.mjs +0 -5
- package/dist/chunks/reload-plugins-1.0.7-psfk2m91.mjs +0 -2
- package/dist/chunks/remote-env-1.0.7-xn5b9vx7.mjs +0 -1
- package/dist/chunks/remoteBridgeCore-1.0.7-hvnh9bv2.mjs +0 -1
- package/dist/chunks/remoteSession-1.0.7-870w4tbq.mjs +0 -1
- package/dist/chunks/rename-1.0.7-53emj8yj.mjs +0 -1
- package/dist/chunks/replBridgeHandle-1.0.7-cbrh6d8b.mjs +0 -1
- package/dist/chunks/replLauncher-1.0.7-zs2c9f7n.mjs +0 -1
- package/dist/chunks/resume-1.0.7-b5e8840g.mjs +0 -2
- package/dist/chunks/rewind-1.0.7-15a43rp5.mjs +0 -1
- package/dist/chunks/rootOptions-1.0.7-84t0zbkm.mjs +0 -1
- package/dist/chunks/sandbox-adapter-1.0.7-rs0gse4a.mjs +0 -1
- package/dist/chunks/sandbox-toggle-1.0.7-benxjznf.mjs +0 -1
- package/dist/chunks/session-1.0.7-9kyk2x4p.mjs +0 -2
- package/dist/chunks/sessionDiscovery-1.0.7-3z1nttw5.mjs +0 -1
- package/dist/chunks/sessionFileAccessHooks-1.0.7-wha0618t.mjs +0 -1
- package/dist/chunks/sessionStorage-1.0.7-tdsf7h6t.mjs +0 -1
- package/dist/chunks/settings-1.0.7-ew9b4r78.mjs +0 -1
- package/dist/chunks/setup-1.0.7-tnm7hbmj.mjs +0 -5
- package/dist/chunks/sinks-1.0.7-bw23nvqf.mjs +0 -1
- package/dist/chunks/skills-1.0.7-z5a8v4xg.mjs +0 -1
- package/dist/chunks/startupProfiler-1.0.7-fqfzm5cc.mjs +0 -1
- package/dist/chunks/startupUpdateCheck-1.0.7-enpb315n.mjs +0 -1
- package/dist/chunks/state-1.0.7-anf50tyt.mjs +0 -1
- package/dist/chunks/stats-1.0.7-xgb8h40k.mjs +0 -6
- package/dist/chunks/status-1.0.7-f7s47750.mjs +0 -1
- package/dist/chunks/stickers-1.0.7-z1wec6v6.mjs +0 -1
- package/dist/chunks/subprocessEnv-1.0.7-838hrdpy.mjs +0 -1
- package/dist/chunks/tasks-1.0.7-gnsbny7t.mjs +0 -1
- package/dist/chunks/teamHelpers-1.0.7-b952rdkv.mjs +0 -1
- package/dist/chunks/teammateModeSnapshot-1.0.7-kp8hzkhr.mjs +0 -1
- package/dist/chunks/teleport-1.0.7-0z0g10ms.mjs +0 -1
- package/dist/chunks/terminalSetup-1.0.7-fgc3myw4.mjs +0 -1
- package/dist/chunks/theme-1.0.7-a88j7tjj.mjs +0 -1
- package/dist/chunks/thinkback-1.0.7-yzkgrf3q.mjs +0 -1
- package/dist/chunks/thinkback-play-1.0.7-jz896tvv.mjs +0 -1
- package/dist/chunks/toolPool-1.0.7-zc6vp20v.mjs +0 -1
- package/dist/chunks/toolSearch-1.0.7-ym8fk2b2.mjs +0 -1
- package/dist/chunks/tools-1.0.7-612s0tqy.mjs +0 -1
- package/dist/chunks/trustedDevice-1.0.7-vjbr81qz.mjs +0 -1
- package/dist/chunks/turndown.cjs-1.0.7-gz5y243z.mjs +0 -69
- package/dist/chunks/types-1.0.7-16q04281.mjs +0 -1
- package/dist/chunks/ultrareviewCommand-1.0.7-v65pd88x.mjs +0 -4
- package/dist/chunks/update-1.0.7-z4et749c.mjs +0 -88
- package/dist/chunks/upgrade-1.0.7-hbdmpet7.mjs +0 -1
- package/dist/chunks/upload-1.0.7-xgyk75yh.mjs +0 -7
- package/dist/chunks/upstreamproxy-1.0.7-vb939aaw.mjs +0 -14
- package/dist/chunks/url-handler-napi-1.0.7-nfw64r47.mjs +0 -1
- package/dist/chunks/usage-1.0.7-kpakcv0m.mjs +0 -1
- package/dist/chunks/util-1.0.7-52gcb8n1.mjs +0 -1
- package/dist/chunks/utils-1.0.7-ckre2ymb.mjs +0 -1
- package/dist/chunks/vim-1.0.7-10bew4qn.mjs +0 -1
- package/dist/chunks/watcher-1.0.7-85c73j65.mjs +0 -1
- package/dist/chunks/wiki-1.0.7-yw93y8cn.mjs +0 -132
- package/dist/chunks/workflows-1.0.7-yatxf71n.mjs +0 -1
- package/dist/chunks/worktree-1.0.7-dp2np4vz.mjs +0 -1
- package/dist/chunks/worktreeModeEnabled-1.0.7-m222ja7h.mjs +0 -1
- package/dist/chunks/wrapper-1.0.7-sqtjm0k7.mjs +0 -7
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import{Cb as yJ,Db as xz,Eb as rz,Fb as cz,Gb as iz,Hb as bJ}from"./cli-1.0.9-601tsydg.mjs";import{Jb as Tz}from"./cli-1.0.9-0xhf29zj.mjs";import{Rb as TJ,Sb as xJ,Tb as MJ,Ub as wJ,Vb as fJ}from"./cli-1.0.9-912srhxc.mjs";import{Xb as kJ}from"./cli-1.0.9-t8c5khak.mjs";import{Se as VJ,Te as lJ}from"./cli-1.0.9-z9a1abx1.mjs";import{if as EJ,kf as oz,mf as DK}from"./cli-1.0.9-42ww2d94.mjs";import{Bf as LJ,Ff as OJ,zf as mz}from"./cli-1.0.9-dp3xhncn.mjs";import{$G as JJ,$j as NK,Fn as UJ,Gn as CK,Zl as AJ,_j as RJ,_l as vz,aH as Cz,bH as KJ,cH as ZJ,cm as BK,eH as $J,fH as YJ,gH as XJ,hH as QJ,iH as WJ}from"./cli-1.0.9-67c9vgsq.mjs";import"./cli-1.0.9-kw7p06w2.mjs";import"./cli-1.0.9-0f3ex0vg.mjs";import"./cli-1.0.9-jcnmjs31.mjs";import"./cli-1.0.9-4yksn92y.mjs";import"./cli-1.0.9-b78v72rn.mjs";import"./cli-1.0.9-c5n2kbdv.mjs";import"./cli-1.0.9-wny75xk9.mjs";import"./cli-1.0.9-r4ysx5t8.mjs";import"./cli-1.0.9-3n2084tg.mjs";import{BV as DJ,HV as _K}from"./cli-1.0.9-xd6wrh53.mjs";import"./cli-1.0.9-vhcxraj8.mjs";import"./cli-1.0.9-03tgqcyj.mjs";import{bW as az,fW as RK}from"./cli-1.0.9-rm8ssvm7.mjs";import"./cli-1.0.9-19gz2k9q.mjs";import"./cli-1.0.9-awxee62m.mjs";import"./cli-1.0.9-v770djrd.mjs";import"./cli-1.0.9-dvbfpdtc.mjs";import"./cli-1.0.9-wcm9r8rn.mjs";import"./cli-1.0.9-13q9fkxq.mjs";import"./cli-1.0.9-5afn268n.mjs";import"./cli-1.0.9-q3fzs7rd.mjs";import"./cli-1.0.9-6q0e7nk4.mjs";import"./cli-1.0.9-tbzbnv01.mjs";import"./cli-1.0.9-vcf21zvy.mjs";import{K1 as pz,N1 as PK}from"./cli-1.0.9-7gewnt7b.mjs";import"./cli-1.0.9-rjq71gw8.mjs";import"./cli-1.0.9-1pe38ex2.mjs";import"./cli-1.0.9-nz0skfsg.mjs";import"./cli-1.0.9-6yxsfcyh.mjs";import"./cli-1.0.9-j500vd5e.mjs";import"./cli-1.0.9-49sanx9h.mjs";import"./cli-1.0.9-ymbxfv5d.mjs";import"./cli-1.0.9-e491drav.mjs";import"./cli-1.0.9-ez2pcj03.mjs";import"./cli-1.0.9-xe8dc6qb.mjs";import"./cli-1.0.9-w5dyqxqk.mjs";import"./cli-1.0.9-d8rq80ph.mjs";import"./cli-1.0.9-89yxpmpq.mjs";import{V6 as i,W6 as FK}from"./cli-1.0.9-sjqe138z.mjs";import"./cli-1.0.9-9jyyb7zx.mjs";import{v8 as G,w8 as pJ}from"./cli-1.0.9-erz57dtz.mjs";import"./cli-1.0.9-dbs656rx.mjs";import"./cli-1.0.9-vvwt9bfb.mjs";import"./cli-1.0.9-ppa9xdxq.mjs";import{$aa as zJ,Mfa as yz,P9 as Wz,R9 as HK,Ufa as OK,Zaa as fz,_aa as ez,aba as cJ,xaa as CJ,yaa as qK}from"./cli-1.0.9-ej3ahs6j.mjs";import{Zfa as sz,_fa as gJ,aga as Rz,hga as qz,pga as GK}from"./cli-1.0.9-x4t4nqd2.mjs";import"./cli-1.0.9-qyfx57wb.mjs";import"./cli-1.0.9-06kd11jd.mjs";import{Yga as PJ,eha as jK}from"./cli-1.0.9-rpw6qq2j.mjs";import"./cli-1.0.9-6x8m34y6.mjs";import"./cli-1.0.9-e2mjjvjc.mjs";import"./cli-1.0.9-az9m58wa.mjs";import{ria as zz,sia as NJ,uia as QK}from"./cli-1.0.9-jq2h9s5r.mjs";import{Zia as qJ,_ia as uz,cja as oJ,uja as q,xja as tz}from"./cli-1.0.9-ympvk0av.mjs";import"./cli-1.0.9-a0zm3d1g.mjs";import{$ja as VK,Uja as g}from"./cli-1.0.9-zrphfr1b.mjs";import{fka as _J,nka as BJ,pka as WK}from"./cli-1.0.9-y7sdjd9n.mjs";import"./cli-1.0.9-3ye1460y.mjs";import"./cli-1.0.9-806xk0g7.mjs";import"./cli-1.0.9-htsk8rvv.mjs";import"./cli-1.0.9-1f0bxa2a.mjs";import"./cli-1.0.9-tzke31bj.mjs";import"./cli-1.0.9-aasy7y47.mjs";import{Cra as I}from"./cli-1.0.9-j2832pm5.mjs";CK();NK();_K();jK();QK();qK();tz();HK();WK();VK();GK();OK();FK();BK();import{randomUUID as Sz}from"crypto";import{hostname as IJ,tmpdir as AK}from"os";import{basename as UK,join as LK,resolve as lz}from"path";WJ();pJ();lJ();cJ();gJ();tz();WJ();var dJ={type:"utf8",errorCorrectionLevel:"L",small:!0};async function aJ(z){return(await VJ(z,dJ)).split(`
|
|
2
|
+
`).filter((K)=>K.length>0)}function GJ(z){let J=z.write??(($)=>process.stdout.write($)),K=z.verbose,Y=0,O="idle",Z="Ready",R="",B="",U="",F="",L="",A=null,N=[],M=!1,E=null,P=0,x=0,_=1,f=null,k="single-session",b=new Map,d=null,S=0;function Xz($){let j=process.stdout.columns||80,w=0;for(let Gz of $.split(`
|
|
3
|
+
`)){if(Gz.length===0){w++;continue}let Nz=sz(Gz);w+=Math.max(1,Math.ceil(Nz/j))}if($.endsWith(`
|
|
4
|
+
`))w--;return w}function m($){J($),Y+=Xz($)}function a(){if(Y<=0)return;q(`[bridge:ui] clearStatusLines count=${Y}`),J(`\x1B[${Y}A`),J("\x1B[J"),Y=0}function $z($){a(),J($)}function n($){aJ($).then((j)=>{N=j,p()}).catch((j)=>{q(`QR code generation failed: ${j}`,{level:"error"})})}function o(){a();let $=fz[S%fz.length],j="";if(R)j+=G.dim(" · ")+G.dim(R);if(B)j+=G.dim(" · ")+G.dim(B);m(`${G.yellow($)} ${G.yellow("Connecting")}${j}
|
|
5
|
+
`)}function Vz(){t(),o(),d=setInterval(()=>{S++,o()},150)}function t(){if(d)clearInterval(d),d=null}function p(){if(O==="reconnecting"||O==="failed")return;a();let $=O==="idle";if(M)for(let Jz of N)m(`${G.dim(Jz)}
|
|
6
|
+
`);let j=ez,w=$?G.green:G.cyan,Nz=($?G.green:G.cyan)(Z),Oz="";if(R)Oz+=G.dim(" · ")+G.dim(R);if(B&&k!=="worktree")Oz+=G.dim(" · ")+G.dim(B);if(m(`${w(j)} ${Nz}${Oz}
|
|
7
|
+
`),_>1){let Jz=k==="worktree"?"New sessions will be created in an isolated worktree":"New sessions will be created in the current directory";m(` ${G.dim(`Capacity: ${x}/${_} · ${Jz}`)}
|
|
8
|
+
`);for(let[,Kz]of b){let r=Kz.title?Rz(Kz.title,35):G.dim("Attached"),Mz=QJ(r,Kz.url),Fz=Kz.activity,V=Fz&&Fz.type!=="result"&&Fz.type!=="error"?G.dim(` ${Rz(Fz.summary,40)}`):"";m(` ${Mz}${V}
|
|
9
|
+
`)}}if(_===1){let Jz=k==="single-session"?"Single session · exits when complete":k==="worktree"?`Capacity: ${x}/1 · New sessions will be created in an isolated worktree`:`Capacity: ${x}/1 · New sessions will be created in the current directory`;m(` ${G.dim(Jz)}
|
|
10
|
+
`)}if(_===1&&!$&&E&&Date.now()-P<JJ)m(` ${G.dim(Rz(E,60))}
|
|
11
|
+
`);let Qz=A??U;if(Qz){m(`
|
|
12
|
+
`);let Jz=$?$J(Qz):YJ(Qz),Kz=M?G.dim.italic("space to hide QR code"):G.dim.italic("space to show QR code"),r=f?G.dim.italic(" · w to toggle spawn mode"):"";m(`${G.dim(Jz)}
|
|
13
|
+
`),m(`${Kz}${r}
|
|
14
|
+
`)}}return{printBanner($,j){if(F=$.sessionIngressUrl,L=j,U=KJ(j,F),n(U),K)J(G.dim("Remote Control")+` v99.0.0
|
|
15
|
+
`);if(K){if($.spawnMode!=="single-session")J(G.dim("Spawn mode: ")+`${$.spawnMode}
|
|
16
|
+
`),J(G.dim("Max concurrent sessions: ")+`${$.maxSessions}
|
|
17
|
+
`);J(G.dim("Environment ID: ")+`${j}
|
|
18
|
+
`)}if($.sandbox)J(G.dim("Sandbox: ")+`${G.green("Enabled")}
|
|
19
|
+
`);J(`
|
|
20
|
+
`),Vz()},logSessionStart($,j){if(K){let w=Rz(j,80);$z(G.dim(`[${Cz()}]`)+` Session started: ${G.white(`"${w}"`)} (${G.dim($)})
|
|
21
|
+
`)}},logSessionComplete($,j){$z(G.dim(`[${Cz()}]`)+` Session ${G.green("completed")} (${qz(j)}) ${G.dim($)}
|
|
22
|
+
`)},logSessionFailed($,j){$z(G.dim(`[${Cz()}]`)+` Session ${G.red("failed")}: ${j} ${G.dim($)}
|
|
23
|
+
`)},logStatus($){$z(G.dim(`[${Cz()}]`)+` ${$}
|
|
24
|
+
`)},logVerbose($){if(K)$z(G.dim(`[${Cz()}] ${$}`)+`
|
|
25
|
+
`)},logError($){$z(G.red(`[${Cz()}] Error: ${$}`)+`
|
|
26
|
+
`)},logReconnected($){$z(G.dim(`[${Cz()}]`)+` ${G.green("Reconnected")} after ${qz($)}
|
|
27
|
+
`)},setRepoInfo($,j){R=$,B=j},updateIdleStatus(){t(),O="idle",Z="Ready",E=null,P=0,A=null,n(U),p()},setAttached($){if(t(),O="attached",Z="Connected",E=null,P=0,_<=1)A=ZJ($,L,F),n(A);p()},updateReconnectingStatus($,j){if(t(),a(),O="reconnecting",M)for(let Gz of N)m(`${G.dim(Gz)}
|
|
28
|
+
`);let w=fz[S%fz.length];S++,m(`${G.yellow(w)} ${G.yellow("Reconnecting")} ${G.dim("·")} ${G.dim(`retrying in ${$}`)} ${G.dim("·")} ${G.dim(`disconnected ${j}`)}
|
|
29
|
+
`)},updateFailedStatus($){t(),a(),O="failed";let j="";if(R)j+=G.dim(" · ")+G.dim(R);if(B)j+=G.dim(" · ")+G.dim(B);if(m(`${G.red(zJ)} ${G.red("Remote Control Failed")}${j}
|
|
30
|
+
`),m(`${G.dim(XJ)}
|
|
31
|
+
`),$)m(`${G.red($)}
|
|
32
|
+
`)},updateSessionStatus($,j,w,Gz){if(w.type==="tool_start")E=w.summary,P=Date.now();p()},clearStatus(){t(),a()},toggleQr(){M=!M,p()},updateSessionCount($,j,w){if(x===$&&_===j&&k===w)return;x=$,_=j,k=w},setSpawnModeDisplay($){if(f===$)return;if(f=$,$)k=$},addSession($,j){b.set($,{url:j})},updateSessionActivity($,j){let w=b.get($);if(!w)return;w.activity=j},setSessionTitle($,j){let w=b.get($);if(!w)return;if(w.title=j,O==="reconnecting"||O==="failed")return;if(_===1)O="titled",Z=Rz(j,40);p()},removeSession($){b.delete($)},refreshDisplay(){if(O==="reconnecting"||O==="failed")return;p()}}}OJ();PK();oJ();OJ();import{spawn as rJ}from"child_process";import{createWriteStream as iJ}from"fs";import{tmpdir as nJ}from"os";import{dirname as tJ,join as jJ}from"path";import{createInterface as HJ}from"readline";var sJ=10,eJ=10,zK=new Set(["PATH","HOME","USERPROFILE","HOMEPATH","HOMEDRIVE","USERNAME","USER","LOGNAME","TEMP","TMP","TMPDIR","SYSTEMROOT","SYSTEMDRIVE","COMSPEC","WINDIR","LANG","LC_ALL","LC_CTYPE","NODE_OPTIONS","NODE_PATH","NODE_ENV","CLAUDE_CODE_ENVIRONMENT_KIND","CLAUDE_CODE_FORCE_SANDBOX","CLAUDE_CODE_BUBBLEWRAP","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE_COORDINATOR_MODE","CLAUDE_CODE_PERMISSIONS_VERSION","CLAUDE_CODE_PERMISSIONS_SETTING","TERM","COLORTERM","FORCE_COLOR","NO_COLOR"]);function JK(z,J){let K={};for(let Y of Object.keys(z))if(zK.has(Y))K[Y]=z[Y];if(K.CLAUDE_CODE_OAUTH_TOKEN=void 0,K.CLAUDE_CODE_ENVIRONMENT_KIND="bridge",J.sandbox)K.CLAUDE_CODE_FORCE_SANDBOX="1";if(K.CLAUDE_CODE_SESSION_ACCESS_TOKEN=J.accessToken,K.CLAUDE_CODE_POST_FOR_SESSION_INGRESS_V2="1",J.useCcrV2)K.CLAUDE_CODE_USE_CCR_V2="1",K.CLAUDE_CODE_WORKER_EPOCH=String(J.workerEpoch);return K}function Iz(z){return z.replace(/[^a-zA-Z0-9_-]/g,"_")}var KK={Read:"Reading",Write:"Writing",Edit:"Editing",MultiEdit:"Editing",Bash:"Running",Glob:"Searching",Grep:"Searching",WebFetch:"Fetching",WebSearch:"Searching",Task:"Running task",FileReadTool:"Reading",FileWriteTool:"Writing",FileEditTool:"Editing",GlobTool:"Searching",GrepTool:"Searching",BashTool:"Running",NotebookEditTool:"Editing notebook",LSP:"LSP"};function ZK(z,J){let K=KK[z]??z,Y=J.file_path??J.filePath??J.pattern??J.command?.slice(0,60)??J.url??J.query??"";if(Y)return`${K} ${Y}`;return K}function $K(z,J,K){let Y;try{Y=uz(z)}catch{return[]}if(!Y||typeof Y!=="object")return[];let O=Y,Z=[],R=Date.now();switch(O.type){case"assistant":{let B=O.message;if(!B)break;let U=B.content;if(!Array.isArray(U))break;for(let F of U){if(!F||typeof F!=="object")continue;let L=F;if(L.type==="tool_use"){let A=L.name??"Tool",N=L.input??{},M=ZK(A,N);Z.push({type:"tool_start",summary:M,timestamp:R}),K(`[bridge:activity] sessionId=${J} tool_use name=${A} ${XK(N)}`)}else if(L.type==="text"){let A=L.text??"";if(A.length>0)Z.push({type:"text",summary:A.slice(0,80),timestamp:R}),K(`[bridge:activity] sessionId=${J} text "${A.slice(0,100)}"`)}}break}case"result":{let B=O.subtype;if(B==="success")Z.push({type:"result",summary:"Session completed",timestamp:R}),K(`[bridge:activity] sessionId=${J} result subtype=success`);else if(B){let F=O.errors?.[0]??`Error: ${B}`;Z.push({type:"error",summary:F,timestamp:R}),K(`[bridge:activity] sessionId=${J} result subtype=${B} error="${F}"`)}else K(`[bridge:activity] sessionId=${J} result subtype=undefined`);break}default:break}return Z}function YK(z){if(z.parent_tool_use_id!=null||z.isSynthetic||z.isReplay)return;let K=z.message?.content,Y;if(typeof K==="string")Y=K;else if(Array.isArray(K)){for(let O of K)if(O&&typeof O==="object"&&O.type==="text"){Y=O.text;break}}return Y=Y?.trim(),Y?Y:void 0}function XK(z){let J=[];for(let[K,Y]of Object.entries(z)){if(typeof Y==="string")J.push(`${K}="${Y.slice(0,100)}"`);if(J.length>=3)break}return J.join(" ")}function gz(z){return{spawn(J,K){let Y=Iz(J.sessionId),O;if(z.debugFile){let _=z.debugFile.lastIndexOf(".");if(_>0)O=`${z.debugFile.slice(0,_)}-${Y}${z.debugFile.slice(_)}`;else O=`${z.debugFile}-${Y}`}else if(z.verbose)O=jJ(nJ(),"claude",`bridge-session-${Y}.log`);let Z=null,R;if(z.debugFile)R=jJ(tJ(z.debugFile),`bridge-transcript-${Y}.jsonl`),Z=iJ(R,{flags:"a"}),Z.on("error",(_)=>{z.onDebug(`[bridge:session] Transcript write error: ${_.message}`),Z=null}),z.onDebug(`[bridge:session] Transcript log: ${R}`);let B=[...z.scriptArgs,"--print","--sdk-url",J.sdkUrl,"--session-id",J.sessionId,"--input-format","stream-json","--output-format","stream-json","--replay-user-messages",...z.verbose?["--verbose"]:[],...O?["--debug-file",O]:[],...z.permissionMode?["--permission-mode",z.permissionMode]:[]],U=JK(z.env,{accessToken:J.accessToken,useCcrV2:J.useCcrV2,workerEpoch:J.workerEpoch,sandbox:z.sandbox});if(z.onDebug(`[bridge:session] Spawning sessionId=${J.sessionId} sdkUrl=${J.sdkUrl} accessToken=${J.accessToken?"present":"MISSING"}`),z.onDebug(`[bridge:session] Child args: ${B.join(" ")}`),O)z.onDebug(`[bridge:session] Debug log: ${O}`);let F=rJ(z.execPath,B,{cwd:K,stdio:["pipe","pipe","pipe"],env:U,windowsHide:!0});z.onDebug(`[bridge:session] sessionId=${J.sessionId} pid=${F.pid}`);let L=[],A=null,N=[],M=!1,E=!1;if(F.stderr)HJ({input:F.stderr}).on("line",(f)=>{if(z.verbose)process.stderr.write(f+`
|
|
33
|
+
`);if(N.length>=eJ)N.shift();N.push(f)});if(F.stdout)HJ({input:F.stdout}).on("line",(f)=>{if(Z)Z.write(f+`
|
|
34
|
+
`);if(z.onDebug(`[bridge:ws] sessionId=${J.sessionId} <<< ${mz(f)}`),z.verbose)process.stderr.write(f+`
|
|
35
|
+
`);let k=$K(f,J.sessionId,z.onDebug);for(let b of k){if(L.length>=sJ)L.shift();L.push(b),A=b,z.onActivity?.(J.sessionId,b)}{let b;try{b=uz(f)}catch{}if(b&&typeof b==="object"){let d=b;if(d.type==="control_request"){if(d.request?.subtype==="can_use_tool"&&z.onPermissionRequest)z.onPermissionRequest(J.sessionId,b,J.accessToken)}else if(d.type==="user"&&!E&&J.onFirstUserMessage){let S=YK(d);if(S)E=!0,J.onFirstUserMessage(S)}}}});let P=new Promise((_)=>{F.on("close",(f,k)=>{if(Z)Z.end(),Z=null;if(k==="SIGTERM"||k==="SIGINT")z.onDebug(`[bridge:session] sessionId=${J.sessionId} interrupted signal=${k} pid=${F.pid}`),_("interrupted");else if(f===0)z.onDebug(`[bridge:session] sessionId=${J.sessionId} completed exit_code=0 pid=${F.pid}`),_("completed");else z.onDebug(`[bridge:session] sessionId=${J.sessionId} failed exit_code=${f} pid=${F.pid}`),_("failed")}),F.on("error",(f)=>{z.onDebug(`[bridge:session] sessionId=${J.sessionId} spawn error: ${f.message}`),_("failed")})}),x={sessionId:J.sessionId,done:P,activities:L,accessToken:J.accessToken,lastStderr:N,get currentActivity(){return A},kill(){if(!F.killed)if(z.onDebug(`[bridge:session] Sending SIGTERM to sessionId=${J.sessionId} pid=${F.pid}`),process.platform==="win32")F.kill();else F.kill("SIGTERM")},forceKill(){if(!M&&F.pid)if(M=!0,z.onDebug(`[bridge:session] Sending SIGKILL to sessionId=${J.sessionId} pid=${F.pid}`),process.platform==="win32")F.kill();else F.kill("SIGKILL")},writeStdin(_){if(F.stdin&&!F.stdin.destroyed)z.onDebug(`[bridge:ws] sessionId=${J.sessionId} >>> ${mz(_)}`),F.stdin.write(_)},updateAccessToken(_){x.accessToken=_,x.writeStdin(qJ({type:"update_environment_variables",variables:{CLAUDE_CODE_SESSION_ACCESS_TOKEN:_}})+`
|
|
36
|
+
`),z.onDebug(`[bridge:session] Sent token refresh via stdin for sessionId=${J.sessionId}`)}};return x}}}RK();DK();var EK={connInitialMs:2000,connCapMs:120000,connGiveUpMs:600000,generalInitialMs:500,generalCapMs:30000,generalGiveUpMs:600000},yK=1000,vJ=32;async function hJ(){return PJ("tengu_ccr_bridge_multi_session")}function FJ(z){return z.connCapMs*2}function SJ(){if(CJ()||!process.argv[1])return[];return[process.argv[1]]}function TK(z,J,K){try{return z.spawn(J,K)}catch(Y){let O=g(Y);return yz(Error(`Session spawn failed: ${O}`)),O}}async function mJ(z,J,K,Y,O,Z,R,B=EK,U,F){let L=new AbortController;if(R.aborted)L.abort();else R.addEventListener("abort",()=>L.abort(),{once:!0});let A=L.signal,N=new Map,M=new Map,E=new Map,P=new Map,x=new Map,_=new Map,f=new Set,k=new Map,b=new Set,d=new Set,S=bJ(A);async function Xz(){let Q=!1,V=!1,y=[];for(let[H]of N){let D=E.get(H),v=x.get(H);if(!D||!v)continue;try{await Y.heartbeatWork(J,D,v),Q=!0}catch(u){if(q(`[bridge:heartbeat] Failed for sessionId=${H} workId=${D}: ${g(u)}`),u instanceof xz)if(zz("tengu_bridge_heartbeat_error",{status:u.status,error_type:u.status===401||u.status===403?"auth_failed":"fatal"}),u.status===401||u.status===403)y.push(H);else V=!0}}for(let H of y){Z.logVerbose(`Session ${H} token expired — re-queuing via bridge/reconnect`);try{await Y.reconnectSession(J,H),q(`[bridge:heartbeat] Re-queued sessionId=${H} via bridge/reconnect`)}catch(D){Z.logError(`Failed to refresh session ${H} token: ${g(D)}`),q(`[bridge:heartbeat] reconnectSession(${H}) failed: ${g(D)}`,{level:"error"})}}if(V)return"fatal";if(y.length>0)return"auth_failed";return Q?"ok":"failed"}let m=new Set,a=F?kJ({getAccessToken:F,onRefresh:(Q,V)=>{let y=N.get(Q);if(!y)return;if(m.has(Q))Z.logVerbose(`Refreshing session ${Q} token via bridge/reconnect`),Y.reconnectSession(J,Q).catch((H)=>{Z.logError(`Failed to refresh session ${Q} token: ${g(H)}`),q(`[bridge:token] reconnectSession(${Q}) failed: ${g(H)}`,{level:"error"})});else y.updateAccessToken(V)},label:"bridge"}):null,$z=Date.now(),n=new Set;function o(Q){n.add(Q),Q.finally(()=>n.delete(Q))}let Vz=0,t=0,p=null,$=null,j=null,w=null,Gz=!1;if(q(`[bridge:work] Starting poll loop spawnMode=${z.spawnMode} maxSessions=${z.maxSessions} environmentId=${J}`),Wz("info","bridge_loop_started",{max_sessions:z.maxSessions,spawn_mode:z.spawnMode}),Z.printBanner(z,J),Z.updateSessionCount(0,z.maxSessions,z.spawnMode),U)Z.setAttached(U);function Nz(){Z.updateSessionCount(N.size,z.maxSessions,z.spawnMode);for(let[u,X]of N){let T=X.currentActivity;if(T)Z.updateSessionActivity(P.get(u)??u,T)}if(N.size===0){Z.updateIdleStatus();return}let[Q,V]=[...N.entries()].pop(),y=M.get(Q);if(!y)return;let H=V.currentActivity;if(!H||H.type==="result"||H.type==="error"){if(z.maxSessions>1)Z.refreshDisplay();return}let D=qz(Date.now()-y),v=V.activities.filter((u)=>u.type==="tool_start").slice(-5).map((u)=>u.summary);Z.updateSessionStatus(Q,D,H,v)}function Oz(){Qz(),Nz(),w=setInterval(Nz,yK)}function Qz(){if(w)clearInterval(w),w=null}function Jz(Q,V,y){return(H)=>{let D=E.get(Q);N.delete(Q),M.delete(Q),E.delete(Q),x.delete(Q);let v=P.get(Q)??Q;P.delete(Q),Z.removeSession(v),d.delete(v),m.delete(Q);let u=_.get(Q);if(u)clearTimeout(u),_.delete(Q);a?.cancel(Q),S.wake();let X=b.delete(Q),T=X&&H==="interrupted"?"failed":H,c=Date.now()-V;q(`[bridge:session] sessionId=${Q} workId=${D??"unknown"} exited status=${T} duration=${qz(c)}`),zz("tengu_bridge_session_done",{status:T,duration_ms:c}),Wz("info","bridge_session_done",{status:T,duration_ms:c}),Z.clearStatus(),Qz();let s=y.lastStderr.length>0?y.lastStderr.join(`
|
|
37
|
+
`):void 0,Yz;switch(T){case"completed":Z.logSessionComplete(Q,c);break;case"failed":if(!X&&!A.aborted)Yz=s??"Process exited with error",Z.logSessionFailed(Q,Yz),yz(Error(`Bridge session failed: ${Yz}`));break;case"interrupted":Z.logVerbose(`Session ${Q} interrupted`);break}if(T!=="interrupted"&&D)o(kz(Y,J,D,Z,B.stopWorkBaseDelayMs)),f.add(D);let Zz=k.get(Q);if(Zz)k.delete(Q),o(vz(Zz.worktreePath,Zz.worktreeBranch,Zz.gitRoot,Zz.hookBased).catch((l)=>Z.logVerbose(`Failed to remove worktree ${Zz.worktreePath}: ${g(l)}`)));if(T!=="interrupted"&&!A.aborted)if(z.spawnMode!=="single-session")o(Y.archiveSession(v).catch((l)=>Z.logVerbose(`Failed to archive session ${Q}: ${g(l)}`))),q(`[bridge:session] Session ${T}, returning to idle (multi-session mode)`);else{q(`[bridge:session] Session ${T}, aborting poll loop to tear down environment`),L.abort();return}if(!A.aborted)Oz()}}if(!U)Oz();while(!A.aborted){let Q=Tz();try{let V=await Y.pollForWork(J,K,A,Q.reclaim_older_than_ms);if(p!==null||$!==null){let X=Date.now()-(p??$??Date.now());Z.logReconnected(X),q(`[bridge:poll] Reconnected after ${qz(X)}`),zz("tengu_bridge_reconnected",{disconnected_ms:X})}if(Vz=0,t=0,p=null,$=null,j=null,!V){if(N.size>=z.maxSessions){let T=Q.multisession_poll_interval_ms_at_capacity;if(Q.non_exclusive_heartbeat_interval_ms>0){zz("tengu_bridge_heartbeat_mode_entered",{active_sessions:N.size,heartbeat_interval_ms:Q.non_exclusive_heartbeat_interval_ms});let c=T>0?Date.now()+T:null,s="ok",Yz=0;while(!A.aborted&&N.size>=z.maxSessions&&(c===null||Date.now()<c)){let l=Tz();if(l.non_exclusive_heartbeat_interval_ms<=0)break;let _z=S.signal();if(s=await Xz(),s==="auth_failed"||s==="fatal"){_z.cleanup();break}Yz++,await i(l.non_exclusive_heartbeat_interval_ms,_z.signal),_z.cleanup()}let Zz=s==="auth_failed"||s==="fatal"?s:A.aborted?"shutdown":N.size<z.maxSessions?"capacity_changed":c!==null&&Date.now()>=c?"poll_due":"config_disabled";if(zz("tengu_bridge_heartbeat_mode_exited",{reason:Zz,heartbeat_cycles:Yz,active_sessions:N.size}),Zz==="poll_due")q(`[bridge:poll] Heartbeat poll_due after ${Yz} cycles — falling through to pollForWork`);if(s==="auth_failed"||s==="fatal"){let l=S.signal();await i(T>0?T:Q.non_exclusive_heartbeat_interval_ms,l.signal),l.cleanup()}}else if(T>0){let c=S.signal();await i(T,c.signal),c.cleanup()}}else{let T=N.size>0?Q.multisession_poll_interval_ms_partial_capacity:Q.multisession_poll_interval_ms_not_at_capacity;await i(T,A)}continue}let H=N.size>=z.maxSessions;if(f.has(V.id)){if(q(`[bridge:work] Skipping already-completed workId=${V.id}`),H){let X=S.signal();if(Q.non_exclusive_heartbeat_interval_ms>0)await Xz(),await i(Q.non_exclusive_heartbeat_interval_ms,X.signal);else if(Q.multisession_poll_interval_ms_at_capacity>0)await i(Q.multisession_poll_interval_ms_at_capacity,X.signal);X.cleanup()}else await i(1000,A);continue}let D;try{D=TJ(V.secret)}catch(X){let T=g(X);if(Z.logError(`Failed to decode work secret for workId=${V.id}: ${T}`),zz("tengu_bridge_work_secret_failed",{}),f.add(V.id),o(kz(Y,J,V.id,Z,B.stopWorkBaseDelayMs)),H){let c=S.signal();if(Q.non_exclusive_heartbeat_interval_ms>0)await Xz(),await i(Q.non_exclusive_heartbeat_interval_ms,c.signal);else if(Q.multisession_poll_interval_ms_at_capacity>0)await i(Q.multisession_poll_interval_ms_at_capacity,c.signal);c.cleanup()}continue}let v=async()=>{q(`[bridge:work] Acknowledging workId=${V.id}`);try{await Y.acknowledgeWork(J,V.id,D.session_ingress_token)}catch(X){q(`[bridge:work] Acknowledge failed workId=${V.id}: ${g(X)}`)}},u=V.data.type;switch(V.data.type){case"healthcheck":await v(),q("[bridge:work] Healthcheck received"),Z.logVerbose("Healthcheck received");break;case"session":{let X=V.data.id;try{yJ(X,"session_id")}catch{await v(),Z.logError(`Invalid session_id received: ${X}`);break}let T=N.get(X);if(T){T.updateAccessToken(D.session_ingress_token),x.set(X,D.session_ingress_token),E.set(X,V.id),a?.schedule(X,D.session_ingress_token),q(`[bridge:work] Updated access token for existing sessionId=${X} workId=${V.id}`),await v();break}if(N.size>=z.maxSessions){q(`[bridge:work] At capacity (${N.size}/${z.maxSessions}), cannot spawn new session for workId=${V.id}`);break}await v();let c=Date.now(),s,Yz=!1,Zz;if(D.use_code_sessions===!0||_J(process.env.CLAUDE_BRIDGE_USE_CCR_V2)){s=wJ(z.apiBaseUrl,X);for(let W=1;W<=2;W++)try{Zz=await fJ(s,D.session_ingress_token),Yz=!0,q(`[bridge:session] CCR v2: registered worker sessionId=${X} epoch=${Zz} attempt=${W}`);break}catch(C){let h=g(C);if(W<2){if(q(`[bridge:session] CCR v2: registerWorker attempt ${W} failed, retrying: ${h}`),await i(2000,A),A.aborted)break;continue}Z.logError(`CCR v2 worker registration failed for session ${X}: ${h}`),yz(Error(`registerWorker failed: ${h}`)),f.add(V.id),o(kz(Y,J,V.id,Z,B.stopWorkBaseDelayMs))}if(!Yz)break}else s=xJ(z.sessionIngressUrl,X);let{spawnMode:l,dir:_z}=z,Uz=0;if(l==="worktree"&&(U===void 0||!MJ(X,U))){let W=Date.now();try{let C=await AJ(`bridge-${Iz(X)}`);Uz=Date.now()-W,k.set(X,{worktreePath:C.worktreePath,worktreeBranch:C.worktreeBranch,gitRoot:C.gitRoot,hookBased:C.hookBased}),_z=C.worktreePath,q(`[bridge:session] Created worktree for sessionId=${X} at ${C.worktreePath}`)}catch(C){let h=g(C);Z.logError(`Failed to create worktree for session ${X}: ${h}`),yz(Error(`Worktree creation failed: ${h}`)),f.add(V.id),o(kz(Y,J,V.id,Z,B.stopWorkBaseDelayMs));break}}q(`[bridge:session] Spawning sessionId=${X} sdkUrl=${s}`);let e=pz(X),Lz=TK(O,{sessionId:X,sdkUrl:s,accessToken:D.session_ingress_token,useCcrV2:Yz,workerEpoch:Zz,onFirstUserMessage:(W)=>{if(d.has(e))return;d.add(e);let C=mK(W);Z.setSessionTitle(e,C),q(`[bridge:title] derived title for ${e}: ${C}`),import("./createSession-1.0.9-6xv9ygwy.mjs").then(({updateBridgeSessionTitle:h})=>h(e,C,{baseUrl:z.apiBaseUrl})).catch((h)=>q(`[bridge:title] failed to update title for ${e}: ${h}`,{level:"error"}))}},_z);if(typeof Lz==="string"){Z.logError(`Failed to spawn session ${X}: ${Lz}`);let W=k.get(X);if(W)k.delete(X),o(vz(W.worktreePath,W.worktreeBranch,W.gitRoot,W.hookBased).catch((C)=>Z.logVerbose(`Failed to remove worktree ${W.worktreePath}: ${g(C)}`)));f.add(V.id),o(kz(Y,J,V.id,Z,B.stopWorkBaseDelayMs));break}let Dz=Lz,Az=Date.now()-c;zz("tengu_bridge_session_started",{active_sessions:N.size,spawn_mode:l,in_worktree:k.has(X),spawn_duration_ms:Az,worktree_create_ms:Uz,inProtectedNamespace:BJ()}),Wz("info","bridge_session_started",{spawn_mode:l,in_worktree:k.has(X),spawn_duration_ms:Az,worktree_create_ms:Uz}),N.set(X,Dz),E.set(X,V.id),x.set(X,D.session_ingress_token),P.set(X,e);let wz=Date.now();M.set(X,wz),Z.logSessionStart(X,`Session ${X}`);let Ez=Iz(X),jz;if(z.debugFile){let W=z.debugFile.lastIndexOf(".");if(W>0)jz=`${z.debugFile.slice(0,W)}-${Ez}${z.debugFile.slice(W)}`;else jz=`${z.debugFile}-${Ez}`}else if(z.verbose)jz=LK(AK(),"claude",`bridge-session-${Ez}.log`);if(jz)Z.logVerbose(`Debug log: ${jz}`);Z.addSession(e,UJ(e,z.sessionIngressUrl)),Oz(),Z.setAttached(e),uK(e,z.apiBaseUrl).then((W)=>{if(W&&N.has(X))d.add(e),Z.setSessionTitle(e,W),q(`[bridge:title] server title for ${e}: ${W}`)}).catch((W)=>q(`[bridge:title] failed to fetch title for ${e}: ${W}`,{level:"error"}));let Bz=z.sessionTimeoutMs??EJ;if(Bz>0){let W=setTimeout(fK,Bz,X,Bz,Z,b,Dz);_.set(X,W)}if(Yz)m.add(X);a?.schedule(X,D.session_ingress_token),Dz.done.then(Jz(X,wz,Dz));break}default:await v(),q(`[bridge:work] Unknown work type: ${u}, skipping`);break}if(H){let X=S.signal();if(Q.non_exclusive_heartbeat_interval_ms>0)await Xz(),await i(Q.non_exclusive_heartbeat_interval_ms,X.signal);else if(Q.multisession_poll_interval_ms_at_capacity>0)await i(Q.multisession_poll_interval_ms_at_capacity,X.signal);X.cleanup()}}catch(V){if(A.aborted)break;if(V instanceof xz){if(Gz=!0,cz(V.errorType))Z.logStatus(V.message);else if(iz(V))q(`[bridge:work] Suppressed 403 error: ${V.message}`);else Z.logError(V.message),yz(V);zz("tengu_bridge_fatal_error",{status:V.status,error_type:V.errorType}),Wz(cz(V.errorType)?"info":"error","bridge_fatal_error",{status:V.status,error_type:V.errorType});break}let y=LJ(V);if(MK(V)||wK(V)){let H=Date.now();if(j!==null&&H-j>FJ(B))q(`[bridge:work] Detected system sleep (${Math.round((H-j)/1000)}s gap), resetting error budget`),Wz("info","bridge_poll_sleep_detected",{gapMs:H-j}),p=null,Vz=0,$=null,t=0;if(j=H,!p)p=H;let D=H-p;if(D>=B.connGiveUpMs){Z.logError(`Server unreachable for ${Math.round(D/60000)} minutes, giving up.`),zz("tengu_bridge_poll_give_up",{error_type:"connection",elapsed_ms:D}),Wz("error","bridge_poll_give_up",{error_type:"connection",elapsed_ms:D}),Gz=!0;break}$=null,t=0,Vz=Vz?Math.min(Vz*2,B.connCapMs):B.connInitialMs;let v=dz(Vz);if(Z.logVerbose(`Connection error, retrying in ${bz(v)} (${Math.round(D/1000)}s elapsed): ${y}`),Z.updateReconnectingStatus(bz(v),qz(D)),Tz().non_exclusive_heartbeat_interval_ms>0)await Xz();await i(v,A)}else{let H=Date.now();if(j!==null&&H-j>FJ(B))q(`[bridge:work] Detected system sleep (${Math.round((H-j)/1000)}s gap), resetting error budget`),Wz("info","bridge_poll_sleep_detected",{gapMs:H-j}),p=null,Vz=0,$=null,t=0;if(j=H,!$)$=H;let D=H-$;if(D>=B.generalGiveUpMs){Z.logError(`Persistent errors for ${Math.round(D/60000)} minutes, giving up.`),zz("tengu_bridge_poll_give_up",{error_type:"general",elapsed_ms:D}),Wz("error","bridge_poll_give_up",{error_type:"general",elapsed_ms:D}),Gz=!0;break}p=null,Vz=0,t=t?Math.min(t*2,B.generalCapMs):B.generalInitialMs;let v=dz(t);if(Z.logVerbose(`Poll failed, retrying in ${bz(v)} (${Math.round(D/1000)}s elapsed): ${y}`),Z.updateReconnectingStatus(bz(v),qz(D)),Tz().non_exclusive_heartbeat_interval_ms>0)await Xz();await i(v,A)}}}Qz(),Z.clearStatus();let Kz=Date.now()-$z;zz("tengu_bridge_shutdown",{active_sessions:N.size,loop_duration_ms:Kz}),Wz("info","bridge_shutdown",{active_sessions:N.size,loop_duration_ms:Kz});let r=new Set(N.keys());if(U)r.add(U);let Mz=new Map(P);if(N.size>0){q(`[bridge:shutdown] Shutting down ${N.size} active session(s)`),Z.logStatus(`Shutting down ${N.size} active session(s)…`);let Q=new Map(E);for(let[y,H]of N.entries())q(`[bridge:shutdown] Sending SIGTERM to sessionId=${y}`),H.kill();let V=new AbortController;await Promise.race([Promise.allSettled([...N.values()].map((y)=>y.done)),i(B.shutdownGraceMs??30000,V.signal)]),V.abort();for(let[y,H]of N.entries())q(`[bridge:shutdown] Force-killing stuck sessionId=${y}`),H.forceKill();for(let y of _.values())clearTimeout(y);if(_.clear(),a?.cancelAll(),k.size>0){let y=[...k.values()];k.clear(),q(`[bridge:shutdown] Cleaning up ${y.length} worktree(s)`),await Promise.allSettled(y.map((H)=>vz(H.worktreePath,H.worktreeBranch,H.gitRoot,H.hookBased)))}await Promise.allSettled([...Q.entries()].map(([y,H])=>{return Y.stopWork(J,H,!0).catch((D)=>Z.logVerbose(`Failed to stop work ${H} for session ${y}: ${g(D)}`))}))}if(n.size>0)await Promise.allSettled([...n]);if(r.size>0)q(`[bridge:shutdown] Archiving ${r.size} session(s)`),await Promise.allSettled([...r].map((Q)=>Y.archiveSession(Mz.get(Q)??pz(Q)).catch((V)=>Z.logVerbose(`Failed to archive session ${Q}: ${g(V)}`))));try{await Y.deregisterEnvironment(J),q("[bridge:shutdown] Environment deregistered, bridge offline"),Z.logVerbose("Environment deregistered.")}catch(Q){Z.logVerbose(`Failed to deregister environment: ${g(Q)}`)}let{clearBridgePointer:Fz}=await import("./bridgePointer-1.0.9-zt50pndw.mjs");await Fz(z.dir),Z.logVerbose("Environment offline.")}var xK=new Set(["ECONNREFUSED","ECONNRESET","ETIMEDOUT","ENETUNREACH","EHOSTUNREACH"]);function MK(z){if(z&&typeof z==="object"&&"code"in z&&typeof z.code==="string"&&xK.has(z.code))return!0;return!1}function wK(z){return!!z&&typeof z==="object"&&"code"in z&&typeof z.code==="string"&&z.code==="ERR_BAD_RESPONSE"}function dz(z){return Math.max(0,z+z*0.25*(2*Math.random()-1))}function bz(z){return z>=1000?`${(z/1000).toFixed(1)}s`:`${Math.round(z)}ms`}async function kz(z,J,K,Y,O=1000){for(let R=1;R<=3;R++)try{await z.stopWork(J,K,!1),q(`[bridge:work] stopWork succeeded for workId=${K} on attempt ${R}/3`);return}catch(B){if(B instanceof xz){if(iz(B))q(`[bridge:work] Suppressed stopWork 403 for ${K}: ${B.message}`);else Y.logError(`Failed to stop work ${K}: ${B.message}`);Wz("error","bridge_stop_work_failed",{attempts:R,fatal:!0});return}let U=g(B);if(R<3){let F=dz(O*Math.pow(2,R-1));Y.logVerbose(`Failed to stop work ${K} (attempt ${R}/3), retrying in ${bz(F)}: ${U}`),await i(F)}else Y.logError(`Failed to stop work ${K} after 3 attempts: ${U}`),Wz("error","bridge_stop_work_failed",{attempts:3})}}function fK(z,J,K,Y,O){q(`[bridge:session] sessionId=${z} timed out after ${qz(J)}`),zz("tengu_bridge_session_timeout",{timeout_ms:J}),K.logSessionFailed(z,`Session timed out after ${qz(J)}`),Y.add(z),O.kill()}var kK=["session","same-dir","worktree"];function bK(z){if(z==="session")return"single-session";if(z==="same-dir")return"same-dir";if(z==="worktree")return"worktree";return`--spawn requires one of: ${kK.join(", ")} (got: ${z??"<missing>"})`}function IK(z){let J=z===void 0?NaN:parseInt(z,10);if(isNaN(J)||J<1)return`--capacity requires a positive integer (got: ${z??"<missing>"})`;return J}function vK(z){let J=!1,K=!1,Y,O,Z,R,B=!1,U,F,L,A,N=!1;for(let E=0;E<z.length;E++){let P=z[E];if(P==="--help"||P==="-h")B=!0;else if(P==="--verbose"||P==="-v")J=!0;else if(P==="--sandbox")K=!0;else if(P==="--no-sandbox")K=!1;else if(P==="--debug-file"&&E+1<z.length)Y=lz(z[++E]);else if(P.startsWith("--debug-file="))Y=lz(P.slice(13));else if(P==="--session-timeout"&&E+1<z.length)O=parseInt(z[++E],10)*1000;else if(P.startsWith("--session-timeout="))O=parseInt(P.slice(18),10)*1000;else if(P==="--permission-mode"&&E+1<z.length)Z=z[++E];else if(P.startsWith("--permission-mode="))Z=P.slice(18);else if(P==="--name"&&E+1<z.length)R=z[++E];else if(P.startsWith("--name="))R=P.slice(7);else if(P==="--spawn"||P.startsWith("--spawn=")){if(U!==void 0)return M("--spawn may only be specified once");let x=P.startsWith("--spawn=")?P.slice(8):z[++E],_=bK(x);if(_==="single-session"||_==="same-dir"||_==="worktree")U=_;else return M(_)}else if(P==="--capacity"||P.startsWith("--capacity=")){if(F!==void 0)return M("--capacity may only be specified once");let x=P.startsWith("--capacity=")?P.slice(11):z[++E],_=IK(x);if(typeof _==="number")F=_;else return M(_)}else if(P==="--create-session-in-dir")L=!0;else if(P==="--no-create-session-in-dir")L=!1;else return M(`Unknown argument: ${P}
|
|
38
|
+
Run 'claude remote-control --help' for usage.`)}if(U==="single-session"&&F!==void 0)return M("--capacity cannot be used with --spawn=session (single-session mode has fixed capacity 1).");if((A||N)&&(U!==void 0||F!==void 0||L!==void 0))return M("--session-id and --continue cannot be used with --spawn, --capacity, or --create-session-in-dir.");if(A&&N)return M("--session-id and --continue cannot be used together.");return{verbose:J,sandbox:K,debugFile:Y,sessionTimeoutMs:O,permissionMode:Z,name:R,spawnMode:U,capacity:F,createSessionInDir:L,sessionId:A,continueSession:N,help:B};function M(E){return{verbose:J,sandbox:K,debugFile:Y,sessionTimeoutMs:O,permissionMode:Z,name:R,spawnMode:U,capacity:F,createSessionInDir:L,sessionId:A,continueSession:N,help:B,error:E}}}async function hK(){let{EXTERNAL_PERMISSION_MODES:z}=await import("./permissions-1.0.9-97jpkg18.mjs"),J=z.join(", "),K=await hJ(),Y=K?` --spawn <mode> Spawn mode: same-dir, worktree, session
|
|
39
|
+
(default: same-dir)
|
|
40
|
+
--capacity <N> Max concurrent sessions in worktree or
|
|
41
|
+
same-dir mode (default: ${vJ})
|
|
42
|
+
--[no-]create-session-in-dir Pre-create a session in the current
|
|
43
|
+
directory; in worktree mode this session
|
|
44
|
+
stays in cwd while on-demand sessions get
|
|
45
|
+
isolated worktrees (default: on)
|
|
46
|
+
`:"",R=`
|
|
47
|
+
Remote Control - Connect your local environment to claude.ai/code
|
|
48
|
+
|
|
49
|
+
USAGE
|
|
50
|
+
claude remote-control [options]
|
|
51
|
+
OPTIONS
|
|
52
|
+
--name <name> Name for the session (shown in claude.ai/code)
|
|
53
|
+
--permission-mode <mode> Permission mode for spawned sessions
|
|
54
|
+
(${J})
|
|
55
|
+
--debug-file <path> Write debug logs to file
|
|
56
|
+
-v, --verbose Enable verbose output
|
|
57
|
+
-h, --help Show this help
|
|
58
|
+
${Y}
|
|
59
|
+
DESCRIPTION
|
|
60
|
+
Remote Control allows you to control sessions on your local device from
|
|
61
|
+
claude.ai/code (https://claude.ai/code). Run this command in the
|
|
62
|
+
directory you want to work in, then connect from the Claude app or web.
|
|
63
|
+
${K?`
|
|
64
|
+
Remote Control runs as a persistent server that accepts multiple concurrent
|
|
65
|
+
sessions in the current directory. One session is pre-created on start so
|
|
66
|
+
you have somewhere to type immediately. Use --spawn=worktree to isolate
|
|
67
|
+
each on-demand session in its own git worktree, or --spawn=session for
|
|
68
|
+
the classic single-session mode (exits when that session ends). Press 'w'
|
|
69
|
+
during runtime to toggle between same-dir and worktree.
|
|
70
|
+
`:""}
|
|
71
|
+
NOTES
|
|
72
|
+
- You must be logged in with a Claude account that has a subscription
|
|
73
|
+
- Run \`claude\` first in the directory to accept the workspace trust dialog
|
|
74
|
+
${K?` - Worktree mode requires a git repository or WorktreeCreate/WorktreeRemove hooks
|
|
75
|
+
`:""}`;console.log(R)}var SK=80;function mK(z){let J=z.replace(/\s+/g," ").trim();return Rz(J,SK)}async function uK(z,J){let{getBridgeSession:K}=await import("./createSession-1.0.9-6xv9ygwy.mjs");return(await K(z,{baseUrl:J}))?.title||void 0}async function kZ(z){let J=vK(z);if(J.help){await hK();return}if(J.error)console.error(`Error: ${J.error}`),process.exit(1);let{verbose:K,sandbox:Y,debugFile:O,sessionTimeoutMs:Z,permissionMode:R,name:B,spawnMode:U,capacity:F,createSessionInDir:L,sessionId:A,continueSession:N}=J,M=A,E,P=U!==void 0||F!==void 0||L!==void 0;if(R!==void 0){let{PERMISSION_MODES:W}=await import("./permissions-1.0.9-97jpkg18.mjs"),C=W;if(!C.includes(R))console.error(`Error: Invalid permission mode '${R}'. Valid modes: ${C.join(", ")}`),process.exit(1)}let x=lz("."),{enableConfigs:_,checkHasTrustDialogAccepted:f}=await import("./config-1.0.9-wvne91f5.mjs");_();let{initSinks:k}=await import("./sinks-1.0.9-03y6p189.mjs");k();let b=await hJ();if(P&&!b)await NJ("tengu_bridge_multi_session_denied",{used_spawn:U!==void 0,used_capacity:F!==void 0,used_create_session_in_dir:L!==void 0}),await Promise.race([Promise.all([DJ(),RJ()]),i(500,void 0,{unref:!0})]).catch(()=>{}),console.error("Error: Multi-session Remote Control is not enabled for your account yet."),process.exit(1);let{setOriginalCwd:d,setCwdState:S}=await import("./state-1.0.9-5vj2cfb7.mjs");if(d(x),S(x),!f())console.error(`Error: Workspace not trusted. Please run \`claude\` in ${x} first to review and accept the workspace trust dialog.`),process.exit(1);let{clearOAuthTokenCache:Xz,checkAndRefreshOAuthTokenIfNeeded:m}=await import("./auth-1.0.9-q57mj8gk.mjs"),{getBridgeAccessToken:a,getBridgeBaseUrl:$z}=await import("./bridgeConfig-1.0.9-pqqgvm77.mjs");if(!a())console.error(oz),process.exit(1);let{getGlobalConfig:o,saveGlobalConfig:Vz,getCurrentProjectConfig:t,saveCurrentProjectConfig:p}=await import("./config-1.0.9-wvne91f5.mjs");if(!o().remoteDialogSeen){let C=(await import("readline")).createInterface({input:process.stdin,output:process.stdout});console.log(`
|
|
76
|
+
Remote Control lets you access this CLI session from the web (claude.ai/code)
|
|
77
|
+
or the Claude app, so you can pick up where you left off on any device.
|
|
78
|
+
|
|
79
|
+
You can disconnect remote access anytime by running /remote-control again.
|
|
80
|
+
`);let h=await new Promise((Hz)=>{C.question("Enable Remote Control? (y/n) ",Hz)});if(C.close(),Vz((Hz)=>{if(Hz.remoteDialogSeen)return Hz;return{...Hz,remoteDialogSeen:!0}}),h.toLowerCase()!=="y"&&h.toLowerCase()!=="yes")process.exit(0)}let $=$z();if($.startsWith("http://")&&!$.includes("localhost")&&!$.includes("127.0.0.1"))console.error("Error: Remote Control base URL uses HTTP. Only HTTPS or localhost HTTP is allowed."),process.exit(1);let j=process.env.CLAUDE_BRIDGE_SESSION_INGRESS_URL||$,{getBranch:w,getRemoteUrl:Gz,findGitRoot:Nz}=await import("./git-1.0.9-se8gx0p4.mjs"),{hasWorktreeCreateHook:Oz}=await import("./hooks-1.0.9-ryra9j7e.mjs"),Qz=Oz()||Nz(x)!==null,Jz=b?t().remoteControlSpawnMode:void 0;if(Jz==="worktree"&&!Qz)console.error("Warning: Saved spawn mode is worktree but this directory is not a git repository. Falling back to same-dir."),Jz=void 0,p((W)=>{if(W.remoteControlSpawnMode===void 0)return W;return{...W,remoteControlSpawnMode:void 0}});if(b&&!Jz&&Qz&&U===void 0&&!M&&process.stdin.isTTY){let C=(await import("readline")).createInterface({input:process.stdin,output:process.stdout});console.log(`
|
|
81
|
+
Claude Remote Control is launching in spawn mode which lets you create new sessions in this project from Claude Code on Web or your Mobile app. Learn more here: https://code.claude.com/docs/en/remote-control
|
|
82
|
+
|
|
83
|
+
Spawn mode for this project:
|
|
84
|
+
`+` [1] same-dir — sessions share the current directory (default)
|
|
85
|
+
`+` [2] worktree — each session gets an isolated git worktree
|
|
86
|
+
|
|
87
|
+
`+`This can be changed later or explicitly set with --spawn=same-dir or --spawn=worktree.
|
|
88
|
+
`);let h=await new Promise((Pz)=>{C.question("Choose [1/2] (default: 1): ",Pz)});C.close();let Hz=h.trim()==="2"?"worktree":"same-dir";Jz=Hz,zz("tengu_bridge_spawn_mode_chosen",{spawn_mode:Hz}),p((Pz)=>{if(Pz.remoteControlSpawnMode===Hz)return Pz;return{...Pz,remoteControlSpawnMode:Hz}})}let Kz,r;if(M)r="single-session",Kz="resume";else if(U!==void 0)r=U,Kz="flag";else if(Jz!==void 0)r=Jz,Kz="saved";else r=b?"same-dir":"single-session",Kz="gate_default";let Mz=r==="single-session"?1:F??vJ,Fz=L??!0;if(!M){let{clearBridgePointer:W}=await import("./bridgePointer-1.0.9-zt50pndw.mjs");await W(x)}if(r==="worktree"&&!Qz)console.error("Error: Worktree mode requires a git repository or WorktreeCreate hooks configured. Use --spawn=session for single-session mode."),process.exit(1);let Q=await w(),V=await Gz(),y=IJ(),H=Sz(),{handleOAuth401Error:D}=await import("./auth-1.0.9-q57mj8gk.mjs"),v=rz({baseUrl:$,getAccessToken:a,runnerVersion:"99.0.0",onDebug:q,onAuth401:D,getTrustedDeviceToken:az}),u,X={dir:x,machineName:y,branch:Q,gitRepoUrl:V,maxSessions:Mz,spawnMode:r,verbose:K,sandbox:Y,bridgeId:H,workerType:"claude_code",environmentId:Sz(),reuseEnvironmentId:u,apiBaseUrl:$,sessionIngressUrl:j,debugFile:O,sessionTimeoutMs:Z};q(`[bridge:init] bridgeId=${H}${u?` reuseEnvironmentId=${u}`:""} dir=${x} branch=${Q} gitRepoUrl=${V} machine=${y}`),q(`[bridge:init] apiBaseUrl=${$} sessionIngressUrl=${j}`),q(`[bridge:init] sandbox=${Y}${O?` debugFile=${O}`:""}`);let T,c;try{let W=await v.registerBridgeEnvironment(X);T=W.environment_id,c=W.environment_secret}catch(W){zz("tengu_bridge_registration_failed",{status:W instanceof xz?W.status:void 0}),console.error(W instanceof xz&&W.status===404?"Remote Control environments are not available for your account.":`Error: ${g(W)}`),process.exit(1)}let s;q(`[bridge:init] Registered, server environmentId=${T}`);let Yz=Tz();zz("tengu_bridge_started",{max_sessions:X.maxSessions,has_debug_file:!!X.debugFile,sandbox:X.sandbox,verbose:X.verbose,heartbeat_interval_ms:Yz.non_exclusive_heartbeat_interval_ms,spawn_mode:X.spawnMode,spawn_mode_source:Kz,multi_session_gate:b,pre_create_session:Fz,worktree_available:Qz}),Wz("info","bridge_started",{max_sessions:X.maxSessions,sandbox:X.sandbox,spawn_mode:X.spawnMode});let Zz=gz({execPath:process.execPath,scriptArgs:SJ(),env:process.env,verbose:K,sandbox:Y,debugFile:O,permissionMode:R,onDebug:q,onActivity:(W,C)=>{q(`[bridge:activity] sessionId=${W} ${C.type} ${C.summary}`)},onPermissionRequest:(W,C,h)=>{q(`[bridge:perm] sessionId=${W} tool=${C.request.tool_name} request_id=${C.request_id} (not auto-approving)`)}}),l=GJ({verbose:K}),{parseGitHubRepository:_z}=await import("./detectRepository-1.0.9-mjzbbps4.mjs"),Uz=V?_z(V):null,e=Uz?Uz.split("/").pop():UK(x);l.setRepoInfo(e,Q);let Lz=r!=="single-session"&&Qz;if(Lz)l.setSpawnModeDisplay(r);let Dz=(W)=>{if(W[0]===3||W[0]===4){process.emit("SIGINT");return}if(W[0]===32){l.toggleQr();return}if(W[0]===119){if(!Lz)return;let C=X.spawnMode==="same-dir"?"worktree":"same-dir";X.spawnMode=C,zz("tengu_bridge_spawn_mode_toggled",{spawn_mode:C}),l.logStatus(C==="worktree"?"Spawn mode: worktree (new sessions get isolated git worktrees)":"Spawn mode: same-dir (new sessions share the current directory)"),l.setSpawnModeDisplay(C),l.refreshDisplay(),p((h)=>{if(h.remoteControlSpawnMode===C)return h;return{...h,remoteControlSpawnMode:C}});return}};if(process.stdin.isTTY)process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.on("data",Dz);let Az=new AbortController,wz=()=>{q("[bridge:shutdown] SIGINT received, shutting down"),Az.abort()},Ez=()=>{q("[bridge:shutdown] SIGTERM received, shutting down"),Az.abort()};process.on("SIGINT",wz),process.on("SIGTERM",Ez);let jz=null;if(Fz){let{createBridgeSession:W}=await import("./createSession-1.0.9-6xv9ygwy.mjs");try{if(jz=await W({environmentId:T,title:B,events:[],gitRepoUrl:V,branch:Q,signal:Az.signal,baseUrl:$,getAccessToken:a,permissionMode:R}),jz)q(`[bridge:init] Created initial session ${jz}`)}catch(C){q(`[bridge:init] Session creation failed (non-fatal): ${g(C)}`)}}let Bz=null;if(jz&&r==="single-session"){let{writeBridgePointer:W}=await import("./bridgePointer-1.0.9-zt50pndw.mjs"),C={sessionId:jz,environmentId:T,source:"standalone"};await W(X.dir,C),Bz=setInterval(W,3600000,X.dir,C),Bz.unref?.()}try{await mJ(X,T,c,v,Zz,l,Az.signal,void 0,jz??void 0,async()=>{return Xz(),await m(),a()})}finally{if(Bz!==null)clearInterval(Bz);if(process.off("SIGINT",wz),process.off("SIGTERM",Ez),process.stdin.off("data",Dz),process.stdin.isTTY)process.stdin.setRawMode(!1);process.stdin.pause()}process.exit(0)}class hz extends Error{constructor(z){super(z);this.name="BridgeHeadlessPermanentError"}}async function bZ(z,J){let{dir:K,log:Y}=z;process.chdir(K);let{setOriginalCwd:O,setCwdState:Z}=await import("./state-1.0.9-5vj2cfb7.mjs");O(K),Z(K);let{enableConfigs:R,checkHasTrustDialogAccepted:B}=await import("./config-1.0.9-wvne91f5.mjs");R();let{initSinks:U}=await import("./sinks-1.0.9-03y6p189.mjs");if(U(),!B())throw new hz(`Workspace not trusted: ${K}. Run \`claude\` in that directory first to accept the trust dialog.`);if(!z.getAccessToken())throw Error(oz);let{getBridgeBaseUrl:F}=await import("./bridgeConfig-1.0.9-pqqgvm77.mjs"),L=F();if(L.startsWith("http://")&&!L.includes("localhost")&&!L.includes("127.0.0.1"))throw new hz("Remote Control base URL uses HTTP. Only HTTPS or localhost HTTP is allowed.");let A=process.env.CLAUDE_BRIDGE_SESSION_INGRESS_URL||L,{getBranch:N,getRemoteUrl:M,findGitRoot:E}=await import("./git-1.0.9-se8gx0p4.mjs"),{hasWorktreeCreateHook:P}=await import("./hooks-1.0.9-ryra9j7e.mjs");if(z.spawnMode==="worktree"){if(!(P()||E(K)!==null))throw new hz(`Worktree mode requires a git repository or WorktreeCreate hooks. Directory ${K} has neither.`)}let x=await N(),_=await M(),f=IJ(),k=Sz(),b={dir:K,machineName:f,branch:x,gitRepoUrl:_,maxSessions:z.capacity,spawnMode:z.spawnMode,verbose:!1,sandbox:z.sandbox,bridgeId:k,workerType:"claude_code",environmentId:Sz(),apiBaseUrl:L,sessionIngressUrl:A,sessionTimeoutMs:z.sessionTimeoutMs},d=rz({baseUrl:L,getAccessToken:z.getAccessToken,runnerVersion:"99.0.0",onDebug:Y,onAuth401:z.onAuth401,getTrustedDeviceToken:az}),S,Xz;try{let n=await d.registerBridgeEnvironment(b);S=n.environment_id,Xz=n.environment_secret}catch(n){throw Error(`Bridge registration failed: ${g(n)}`)}let m=gz({execPath:process.execPath,scriptArgs:SJ(),env:process.env,verbose:!1,sandbox:z.sandbox,permissionMode:z.permissionMode,onDebug:Y}),a=gK(Y);a.printBanner(b,S);let $z;if(z.createSessionOnStart){let{createBridgeSession:n}=await import("./createSession-1.0.9-6xv9ygwy.mjs");try{let o=await n({environmentId:S,title:z.name,events:[],gitRepoUrl:_,branch:x,signal:J,baseUrl:L,getAccessToken:z.getAccessToken,permissionMode:z.permissionMode});if(o)$z=o,Y(`created initial session ${o}`)}catch(o){Y(`session pre-creation failed (non-fatal): ${g(o)}`)}}await mJ(b,S,Xz,d,m,a,J,void 0,$z,async()=>z.getAccessToken())}function gK(z){let J=()=>{};return{printBanner:(K,Y)=>z(`registered environmentId=${Y} dir=${K.dir} spawnMode=${K.spawnMode} capacity=${K.maxSessions}`),logSessionStart:(K,Y)=>z(`session start ${K}`),logSessionComplete:(K,Y)=>z(`session complete ${K} (${Y}ms)`),logSessionFailed:(K,Y)=>z(`session failed ${K}: ${Y}`),logStatus:z,logVerbose:z,logError:(K)=>z(`error: ${K}`),logReconnected:(K)=>z(`reconnected after ${K}ms`),addSession:(K,Y)=>z(`session attached ${K}`),removeSession:(K)=>z(`session detached ${K}`),updateIdleStatus:J,updateReconnectingStatus:J,updateSessionStatus:J,updateSessionActivity:J,updateSessionCount:J,updateFailedStatus:J,setSpawnModeDisplay:J,setRepoInfo:J,setAttached:J,setSessionTitle:J,clearStatus:J,toggleQr:J,refreshDisplay:J}}export{mJ as runBridgeLoop,bZ as runBridgeHeadless,vK as parseArgs,wK as isServerError,MK as isConnectionError,kZ as bridgeMain,hz as BridgeHeadlessPermanentError};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Aha as S,Bha as _,fha as A,gha as k,qha as G,rha as N,uha as M,xha as Y,zha as O}from"./cli-1.0.9-6x8m34y6.mjs";import{Zia as K,_ia as W,cja as j,uja as C,xja as R}from"./cli-1.0.9-ympvk0av.mjs";import"./cli-1.0.9-a0zm3d1g.mjs";import{$ja as c,Wja as y}from"./cli-1.0.9-zrphfr1b.mjs";import"./cli-1.0.9-y7sdjd9n.mjs";import"./cli-1.0.9-3ye1460y.mjs";import"./cli-1.0.9-806xk0g7.mjs";import"./cli-1.0.9-htsk8rvv.mjs";import"./cli-1.0.9-j2832pm5.mjs";O();R();c();k();_();M();j();import{mkdir as m,readFile as z,stat as E,unlink as T,writeFile as f}from"fs/promises";import{dirname as B,join as b}from"path";var I=50,D=14400000,u=S(()=>Y.object({sessionId:Y.string(),environmentId:Y.string(),source:Y.enum(["standalone","repl"])}));function J(q){return b(N(),G(q),"bridge-pointer.json")}async function g(q,x){let v=J(q);try{await m(B(v),{recursive:!0}),await f(v,K(x),"utf8"),C(`[bridge:pointer] wrote ${v}`)}catch(V){C(`[bridge:pointer] write failed: ${V}`,{level:"warn"})}}async function U(q){let x=J(q),v,V;try{V=(await E(x)).mtimeMs,v=await z(x,"utf8")}catch{return null}let Z=u().safeParse(F(v));if(!Z.success)return C(`[bridge:pointer] invalid schema, clearing: ${x}`),await X(q),null;let $=Math.max(0,Date.now()-V);if($>D)return C(`[bridge:pointer] stale (>4h mtime), clearing: ${x}`),await X(q),null;return{...Z.data,ageMs:$}}async function s(q){let x=await U(q);if(x)return{pointer:x,dir:q};let v=await A(q);if(v.length<=1)return null;if(v.length>I)return C(`[bridge:pointer] ${v.length} worktrees exceeds fanout cap ${I}, skipping`),null;let V=G(q),Z=v.filter((H)=>G(H)!==V),$=await Promise.all(Z.map(async(H)=>{let L=await U(H);return L?{pointer:L,dir:H}:null})),Q=null;for(let H of $)if(H&&(!Q||H.pointer.ageMs<Q.pointer.ageMs))Q=H;if(Q)C(`[bridge:pointer] fanout found pointer in worktree ${Q.dir} (ageMs=${Q.pointer.ageMs})`);return Q}async function X(q){let x=J(q);try{await T(x),C(`[bridge:pointer] cleared ${x}`)}catch(v){if(!y(v))C(`[bridge:pointer] clear failed: ${v}`,{level:"warn"})}}function F(q){try{return W(q)}catch{return null}}export{g as writeBridgePointer,s as readBridgePointerAcrossWorktrees,U as readBridgePointer,J as getBridgePointerPath,X as clearBridgePointer,D as BRIDGE_POINTER_TTL_MS};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Qh as a,Rh as bJ}from"./cli-1.0.9-3mv7thfe.mjs";import{Sh as x,Th as AJ}from"./cli-1.0.9-nm7ds98w.mjs";import{FP as TJ,KQ as hJ,Nn as m,On as UJ,PD as l,VD as kJ,cx as i,dx as HJ,py as u,qH as $,rH as vJ,ry as WJ,uT as s,vT as t,wP as r,wQ as o,wT as DJ}from"./cli-1.0.9-67c9vgsq.mjs";import"./cli-1.0.9-kw7p06w2.mjs";import"./cli-1.0.9-0f3ex0vg.mjs";import"./cli-1.0.9-jcnmjs31.mjs";import"./cli-1.0.9-4yksn92y.mjs";import"./cli-1.0.9-b78v72rn.mjs";import"./cli-1.0.9-c5n2kbdv.mjs";import"./cli-1.0.9-wny75xk9.mjs";import"./cli-1.0.9-r4ysx5t8.mjs";import"./cli-1.0.9-3n2084tg.mjs";import"./cli-1.0.9-xd6wrh53.mjs";import"./cli-1.0.9-vhcxraj8.mjs";import"./cli-1.0.9-03tgqcyj.mjs";import"./cli-1.0.9-rm8ssvm7.mjs";import"./cli-1.0.9-19gz2k9q.mjs";import"./cli-1.0.9-awxee62m.mjs";import"./cli-1.0.9-v770djrd.mjs";import"./cli-1.0.9-dvbfpdtc.mjs";import"./cli-1.0.9-wcm9r8rn.mjs";import{SX as c,UX as IJ,vX as g,wX as QJ}from"./cli-1.0.9-13q9fkxq.mjs";import"./cli-1.0.9-5afn268n.mjs";import{L0 as NJ,LY as GJ,e0 as k,g0 as v,x0 as j,z0 as KJ}from"./cli-1.0.9-q3fzs7rd.mjs";import"./cli-1.0.9-6q0e7nk4.mjs";import"./cli-1.0.9-tbzbnv01.mjs";import"./cli-1.0.9-vcf21zvy.mjs";import"./cli-1.0.9-7gewnt7b.mjs";import"./cli-1.0.9-rjq71gw8.mjs";import"./cli-1.0.9-1pe38ex2.mjs";import"./cli-1.0.9-nz0skfsg.mjs";import"./cli-1.0.9-6yxsfcyh.mjs";import"./cli-1.0.9-j500vd5e.mjs";import"./cli-1.0.9-49sanx9h.mjs";import"./cli-1.0.9-ymbxfv5d.mjs";import{s3 as F,t3 as W,u3 as d}from"./cli-1.0.9-e491drav.mjs";import{v3 as zJ}from"./cli-1.0.9-ez2pcj03.mjs";import"./cli-1.0.9-xe8dc6qb.mjs";import"./cli-1.0.9-w5dyqxqk.mjs";import"./cli-1.0.9-d8rq80ph.mjs";import"./cli-1.0.9-89yxpmpq.mjs";import"./cli-1.0.9-sjqe138z.mjs";import"./cli-1.0.9-9jyyb7zx.mjs";import"./cli-1.0.9-erz57dtz.mjs";import"./cli-1.0.9-dbs656rx.mjs";import"./cli-1.0.9-vvwt9bfb.mjs";import"./cli-1.0.9-ppa9xdxq.mjs";import{Jaa as p,Kaa as C,Sda as S,aba as ZJ,oea as FJ}from"./cli-1.0.9-ej3ahs6j.mjs";import"./cli-1.0.9-x4t4nqd2.mjs";import"./cli-1.0.9-qyfx57wb.mjs";import"./cli-1.0.9-06kd11jd.mjs";import"./cli-1.0.9-rpw6qq2j.mjs";import"./cli-1.0.9-6x8m34y6.mjs";import"./cli-1.0.9-e2mjjvjc.mjs";import"./cli-1.0.9-az9m58wa.mjs";import"./cli-1.0.9-jq2h9s5r.mjs";import"./cli-1.0.9-ympvk0av.mjs";import"./cli-1.0.9-a0zm3d1g.mjs";import{$ja as YJ,Uja as f}from"./cli-1.0.9-zrphfr1b.mjs";import"./cli-1.0.9-y7sdjd9n.mjs";import"./cli-1.0.9-3ye1460y.mjs";import"./cli-1.0.9-806xk0g7.mjs";import"./cli-1.0.9-htsk8rvv.mjs";import"./cli-1.0.9-1f0bxa2a.mjs";import"./cli-1.0.9-tzke31bj.mjs";import"./cli-1.0.9-aasy7y47.mjs";import{Bra as XJ,xra as R}from"./cli-1.0.9-j2832pm5.mjs";function EJ(V){let J=n.c(25),{question:Y,context:z,onDone:G}=V,[Z,e]=N.useState(null),[K,y]=N.useState(null),[P,JJ]=N.useState(0),T=N.useRef(null),{rows:VJ}=c(g()),A;if(J[0]===Symbol.for("react.memo_cache_sentinel"))A=()=>JJ(qJ),J[0]=A;else A=J[0];j(A,Z||K?null:80);let b;if(J[1]!==G)b=function(X){if(X.key==="escape"||X.key==="return"||X.key===" "||X.ctrl&&(X.key==="c"||X.key==="d")){X.preventDefault(),G(void 0,{display:"skip"});return}if(X.key==="up"||X.ctrl&&X.key==="p")X.preventDefault(),T.current?.scrollBy(-_);if(X.key==="down"||X.ctrl&&X.key==="n")X.preventDefault(),T.current?.scrollBy(_)},J[1]=G,J[2]=b;else b=J[2];let h=b,w,L;if(J[3]!==z||J[4]!==Y)w=()=>{let B=m();return async function(){try{let O=await MJ(z),M=await a({question:Y,cacheSafeParams:O});if(!B.signal.aborted)if(M.response)e(M.response);else y("No response received")}catch(O){let M=O;if(!B.signal.aborted)y(f(M)||"Failed to get response")}}(),()=>{B.abort()}},L=[Y,z],J[3]=z,J[4]=Y,J[5]=w,J[6]=L;else w=J[5],L=J[6];N.useEffect(w,L);let D=Math.max(5,VJ-wJ-LJ),E;if(J[7]===Symbol.for("react.memo_cache_sentinel"))E=W(v,{color:"warning",bold:!0,children:["/btw"," "]}),J[7]=E;else E=J[7];let Q;if(J[8]!==Y)Q=W(k,{children:[E,F(v,{dimColor:!0,children:Y})]}),J[8]=Y,J[9]=Q;else Q=J[9];let U;if(J[10]!==K||J[11]!==P||J[12]!==Z)U=F(x,{ref:T,flexDirection:"column",flexGrow:1,children:K?F(v,{color:"error",children:K}):Z?F(u,{children:Z}):W(k,{children:[F($,{frame:P,messageColor:"warning"}),F(v,{color:"warning",children:"Answering..."})]})}),J[10]=K,J[11]=P,J[12]=Z,J[13]=U;else U=J[13];let I;if(J[14]!==D||J[15]!==U)I=F(k,{marginTop:1,marginLeft:2,maxHeight:D,children:U}),J[14]=D,J[15]=U,J[16]=I;else I=J[16];let H;if(J[17]!==K||J[18]!==Z)H=(Z||K)&&F(k,{marginTop:1,children:W(v,{dimColor:!0,children:[p,"/",C," to scroll · Space, Enter, or Escape to dismiss"]})}),J[17]=K,J[18]=Z,J[19]=H;else H=J[19];let q;if(J[20]!==h||J[21]!==Q||J[22]!==I||J[23]!==H)q=W(k,{flexDirection:"column",paddingLeft:2,marginTop:1,tabIndex:0,autoFocus:!0,onKeyDown:h,children:[Q,I,H]}),J[20]=h,J[21]=Q,J[22]=I,J[23]=H,J[24]=q;else q=J[24];return q}function qJ(V){return V+1}function BJ(V){let J=V.at(-1);if(J?.type==="assistant"&&J.message.stop_reason===null)return V.slice(0,-1);return V}async function MJ(V){let J=o(BJ(V.messages)),Y=l();if(Y)return{systemPrompt:Y.systemPrompt,userContext:Y.userContext,systemContext:Y.systemContext,toolUseContext:V,forkContextMessages:J};let[z,G,Z]=await Promise.all([r(V.options.tools,V.options.mainLoopModel,[],V.options.mcpClients),t(),s()]);return{systemPrompt:i(z),userContext:G,systemContext:Z,toolUseContext:V,forkContextMessages:J}}async function aJ(V,J,Y){let z=Y?.trim();if(!z)return V("Usage: /btw <your question>",{display:"system"}),null;return S((G)=>({...G,btwUseCount:G.btwUseCount+1})),F(EJ,{question:z,context:J,onDone:V})}var n,N,wJ=5,LJ=6,_=3;var PJ=XJ(()=>{KJ();WJ();vJ();ZJ();TJ();IJ();DJ();QJ();AJ();NJ();UJ();FJ();YJ();kJ();hJ();bJ();HJ();d();n=R(GJ(),1),N=R(zJ(),1)});PJ();export{aJ as call};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{MW as p,NW as f,OW as a,PW as S}from"./cli-1.0.9-v770djrd.mjs";import{Sda as d,oea as C}from"./cli-1.0.9-ej3ahs6j.mjs";import"./cli-1.0.9-x4t4nqd2.mjs";import"./cli-1.0.9-qyfx57wb.mjs";import"./cli-1.0.9-06kd11jd.mjs";import"./cli-1.0.9-rpw6qq2j.mjs";import"./cli-1.0.9-6x8m34y6.mjs";import{eia as m,fia as y,gia as b}from"./cli-1.0.9-e2mjjvjc.mjs";import"./cli-1.0.9-az9m58wa.mjs";import"./cli-1.0.9-jq2h9s5r.mjs";import"./cli-1.0.9-ympvk0av.mjs";import"./cli-1.0.9-a0zm3d1g.mjs";import"./cli-1.0.9-zrphfr1b.mjs";import"./cli-1.0.9-y7sdjd9n.mjs";import"./cli-1.0.9-3ye1460y.mjs";import"./cli-1.0.9-806xk0g7.mjs";import"./cli-1.0.9-htsk8rvv.mjs";import{Bra as g}from"./cli-1.0.9-j2832pm5.mjs";function R(t){let o=2166136261;for(let s=0;s<t.length;s++)o^=t.charCodeAt(s),o=Math.imul(o,16777619);return o>>>0}function r(t,o){return t[R(o)%t.length]}function M(t){return t.charAt(0).toUpperCase()+t.slice(1)}function O(){let t=f(),{bones:o}=p(`${t}:buddy`),s=r($,`${t}:prefix`),n=r(A,`${t}:suffix`),i=r(w,`${t}:personality`);return{name:`${s}${n}`,personality:`${i}.`,hatchedAt:Date.now()}}function l(t,o,s=!1){t.setAppState((n)=>({...n,companionReaction:o,companionPetAt:s?Date.now():n.companionPetAt}))}function c(t){t(`Usage: /buddy [status|mute|unmute]
|
|
2
|
+
|
|
3
|
+
Run /buddy with no args to hatch your companion the first time, then pet it on later runs.`,{display:"system"})}async function X(t,o,s){let n=s?.trim().toLowerCase()??"";if(m.includes(n)||n===""){let e=a();if(n!==""||e){if(n!=="")return c(t),null}}if(m.includes(n))return c(t),null;if(y.includes(n)||n==="status"){let e=a();if(!e)return t("No buddy hatched yet. Run /buddy to hatch one.",{display:"system"}),null;return t(`${e.name} is your ${M(e.rarity)} ${e.species}. ${e.personality}`,{display:"system"}),null}if(n==="mute"||n==="unmute"){let e=n==="mute";if(d((u)=>({...u,companionMuted:e})),e)l(o,void 0);return t(`Buddy ${e?"muted":"unmuted"}.`,{display:"system"}),null}if(n!=="")return c(t),null;let i=a();if(!i){let e=O();return d((u)=>({...u,companion:e,companionMuted:!1})),i={...p(`${f()}:buddy`).bones,...e},l(o,`${i.name} the ${i.species} has hatched.`,!0),t(`${i.name} the ${i.species} is now your buddy. Run /buddy again to pet them.`,{display:"system"}),null}let h=`${i.name} ${r(E,`${Date.now()}:${i.name}`)}`;return l(o,h,!0),t(void 0,{display:"skip"}),null}var $,A,w,E;var L=g(()=>{C();S();b();$=["Byte","Echo","Glint","Miso","Nova","Pixel","Rune","Static","Vector","Whisk"],A=["bean","bit","bud","dot","ling","loop","moss","patch","puff","spark"],w=["Curious and quietly encouraging","A patient little watcher with strong debugging instincts","Playful, observant, and suspicious of flaky tests","Calm under pressure and fond of clean diffs","A tiny terminal gremlin who likes successful builds"],E=["leans into the headpat","does a proud little bounce","emits a content beep","looks delighted","wiggles happily"]});L();export{X as call};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./cli-1.0.9-j2832pm5.mjs";var g=()=>null,c=class{},q={get(v,j){if(j==="__esModule")return!0;if(j==="default")return new Proxy({},q);if(j==="ExportResultCode")return{SUCCESS:0,FAILED:1};if(j==="resourceFromAttributes")return()=>({});if(j==="SandboxRuntimeConfigSchema")return{parse:()=>({})};return g}},z=new Proxy(g,q),C=z,A=!0,B=null,D=new Proxy({},{get:()=>g}),E={parse:()=>({})},F=[],G=g,H=null,I=null,J=g,K=g,L={SUCCESS:0,FAILED:1},M=g,P=c,Q=c,R=c,S=c,U=c,V=c,W=c,X=c,Y=c,Z=c,_=c,$=c,b=c,i=c,k={getTracer:()=>({startSpan:()=>({end:g,setAttribute:g,setStatus:g,recordException:g})})},u={active:g,with:(v,j)=>j()},w={OK:0,ERROR:1,UNSET:2},y="service.name",N="service.version",O="service.name",T="service.version",h={CUMULATIVE:0,DELTA:1},x={HISTOGRAM:0,SUM:1,GAUGE:2},d={COUNTER:0,HISTOGRAM:1,UP_DOWN_COUNTER:2},f=c,m={};export{k as trace,M as resourceFromAttributes,K as plot,J as getSyntaxTheme,G as getMcpConfigForManifest,C as default,u as context,A as __stub,w as SpanStatusCode,Q as SimpleSpanProcessor,_ as SimpleLogRecordProcessor,m as SeverityNumber,B as SandboxViolationStore,E as SandboxRuntimeConfigSchema,D as SandboxManager,T as SEMRESATTRS_SERVICE_VERSION,O as SEMRESATTRS_SERVICE_NAME,P as Resource,f as PushMetricExporter,Y as PrometheusExporter,i as PeriodicExportingMetricReader,V as OTLPTraceExporter,X as OTLPMetricExporter,W as OTLPLogExporter,S as NodeTracerProvider,b as MeterProvider,Z as LoggerProvider,d as InstrumentType,L as ExportResultCode,x as DataPointType,I as ColorFile,H as ColorDiff,R as BatchSpanProcessor,$ as BatchLogRecordProcessor,U as BasicTracerProvider,F as BROWSER_TOOLS,h as AggregationTemporality,N as ATTR_SERVICE_VERSION,y as ATTR_SERVICE_NAME};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{Y1 as h,a2 as zz}from"./cli-1.0.9-rjq71gw8.mjs";import"./cli-1.0.9-89yxpmpq.mjs";import{V5 as m,s6 as e}from"./cli-1.0.9-sjqe138z.mjs";import"./cli-1.0.9-9jyyb7zx.mjs";import"./cli-1.0.9-erz57dtz.mjs";import"./cli-1.0.9-dbs656rx.mjs";import"./cli-1.0.9-vvwt9bfb.mjs";import{Afa as r,nfa as y,ufa as s,xfa as v}from"./cli-1.0.9-ej3ahs6j.mjs";import"./cli-1.0.9-x4t4nqd2.mjs";import"./cli-1.0.9-qyfx57wb.mjs";import"./cli-1.0.9-06kd11jd.mjs";import"./cli-1.0.9-rpw6qq2j.mjs";import"./cli-1.0.9-6x8m34y6.mjs";import"./cli-1.0.9-e2mjjvjc.mjs";import"./cli-1.0.9-az9m58wa.mjs";import"./cli-1.0.9-jq2h9s5r.mjs";import{uja as k,xja as o}from"./cli-1.0.9-ympvk0av.mjs";import"./cli-1.0.9-a0zm3d1g.mjs";import"./cli-1.0.9-zrphfr1b.mjs";import"./cli-1.0.9-y7sdjd9n.mjs";import{Spa as a,Vla as b}from"./cli-1.0.9-3ye1460y.mjs";import"./cli-1.0.9-806xk0g7.mjs";import"./cli-1.0.9-htsk8rvv.mjs";import"./cli-1.0.9-1f0bxa2a.mjs";import"./cli-1.0.9-tzke31bj.mjs";import"./cli-1.0.9-aasy7y47.mjs";import{Bra as n}from"./cli-1.0.9-j2832pm5.mjs";function Nz(J){if(!J)return"unknown";return J.replace(/-\d{4,}$/,"").replace(/-latest$/,"").replace(/-preview$/,"")}function Y(J,Q){return Q.split(".").reduce((X,O)=>X!=null?X[O]:void 0,J)}async function R(J,Q,X,O){let q=Date.now(),V;try{V=await fetch(J,{method:"POST",headers:Q,body:JSON.stringify(X)})}catch(B){return{label:O,status:0,elapsed:Date.now()-q,headers:{},usage:null,responseId:null,error:B.message}}let A=Date.now()-q,U={};if(V.headers.forEach((B,w)=>{U[w]=B}),!V.ok){let B=await V.text().catch(()=>"");return{label:O,status:V.status,elapsed:A,headers:U,usage:null,responseId:null,error:B}}let L=await V.text(),$=null,T=null,_=J.endsWith("/responses");for(let B of L.split(`
|
|
2
|
+
|
|
3
|
+
`)){let w=B.split(`
|
|
4
|
+
`).map((x)=>x.trim()).filter(Boolean);if(_){let x=w.find((z)=>z.startsWith("event: ")),j=w.filter((z)=>z.startsWith("data: "));if(!x||!j.length)continue;let C=x.slice(7).trim();if(C==="response.completed"||C==="response.incomplete")try{let z=JSON.parse(j.map((W)=>W.slice(6)).join(`
|
|
5
|
+
`));$=z?.response?.usage??null,T=z?.response?.id??null}catch{}}else for(let x of w){if(!x.startsWith("data: "))continue;let j=x.slice(6).trim();if(j==="[DONE]")continue;try{let C=JSON.parse(j);if(C.usage)$=C.usage,T=C.id??null}catch{}}}return{label:O,status:V.status,elapsed:A,headers:U,usage:$,responseId:T,error:null}}function S(J){let Q=[`--- ${J.label} ---`];if(J.error)return Q.push(` ERROR (HTTP ${J.status}): ${J.error.slice(0,200)}`),Q.join(`
|
|
6
|
+
`);if(Q.push(` HTTP ${J.status} — ${J.elapsed}ms`),J.responseId)Q.push(` response.id: ${J.responseId}`);if(J.usage)Q.push(" Usage:"),Q.push(` ${JSON.stringify(J.usage,null,2).replace(/\n/g,`
|
|
7
|
+
`)}`);else Q.push(" Usage: null");for(let X of["openai-processing-ms","x-ratelimit-remaining","x-ratelimit-limit","x-ms-region","x-github-request-id","x-request-id"])if(J.headers[X])Q.push(` ${X}: ${J.headers[X]}`);return Q.join(`
|
|
8
|
+
`)}var Jz,K,M='Say "hello" and nothing else.',g=3000,jz=async(J)=>{let Q=(J??"").trim().split(/\s+/).filter(Boolean),X=Q.includes("--no-key"),q=(Q.find((N)=>!N.startsWith("--"))||void 0)??m(),V=y({model:q}),A=v(),U=A?.transport==="github_copilot";if(U)h();let L=A?.apiKey??A?.extras?.githubToken??"";if(!L)return{type:"text",value:`No API key found. Make sure you are in an active OpenAI-compatible or GitHub Copilot session.
|
|
9
|
+
For GitHub Copilot: run /provider and choose GitHub Copilot.
|
|
10
|
+
For OpenAI-compatible: configure a profile via /provider.`};let $=V.transport==="codex_responses",T=$?"/responses":"/chat/completions",_=`${V.baseUrl}${T}`,B=Nz(V.resolvedModel),w=`${b()}:${B}`,x={"Content-Type":"application/json",Authorization:`Bearer ${L}`,originator:"claudin"};if(U)Object.assign(x,Jz);let j;if($)j={model:V.resolvedModel,instructions:K,input:[{type:"message",role:"user",content:[{type:"input_text",text:M}]}],stream:!0,...X?{}:{store:!1,prompt_cache_key:w,prompt_cache_retention:"24h"}};else j={model:V.resolvedModel,messages:[{role:"system",content:K},{role:"user",content:M}],stream:!0,stream_options:{include_usage:!0},max_tokens:20,...X?{}:{store:!1,prompt_cache_key:w}};let C=[`[cache-probe] Starting cache probe${X?" (--no-key: cache params OMITTED)":""}`,` model: ${V.resolvedModel} (family: ${B})`,` transport: ${V.transport}`,` endpoint: ${_}`,` prompt_cache_key: ${X?"NOT SENT":w}`,` store: ${X?"NOT SENT":"false"}`,` system prompt: ~${Math.round(K.length/4)} tokens`,` delay between calls: ${g}ms`].join(`
|
|
11
|
+
`);k(C);let z=await R(_,x,j,"CALL 1 — Cold (no cache)");if(k(`[cache-probe]
|
|
12
|
+
${S(z)}`),z.error)return{type:"text",value:`Cache probe failed on first call: HTTP ${z.status}
|
|
13
|
+
${z.error.slice(0,300)}
|
|
14
|
+
|
|
15
|
+
Full details in debug log.`};await new Promise((N)=>setTimeout(N,g));let W=await R(_,x,j,"CALL 2 — Warm (cache expected)");k(`[cache-probe]
|
|
16
|
+
${S(W)}`);let c=["input_tokens","output_tokens","total_tokens","prompt_tokens","completion_tokens","input_tokens_details.cached_tokens","prompt_tokens_details.cached_tokens","output_tokens_details.reasoning_tokens"],Z=["[cache-probe] COMPARISON"];Z.push(` ${"Field".padEnd(42)} ${"Call 1".padStart(8)} ${"Call 2".padStart(8)} ${"Delta".padStart(8)}`),Z.push(` ${"-".repeat(72)}`);for(let N of c){let H=Y(z.usage,N),I=Y(W.usage,N);if(H===void 0&&I===void 0)continue;let i=typeof H==="number"&&typeof I==="number"?I-H:"";Z.push(` ${N.padEnd(42)} ${String(H??"-").padStart(8)} ${String(I??"-").padStart(8)} ${String(i).padStart(8)}`)}Z.push(""),Z.push(` Latency: ${z.elapsed}ms → ${W.elapsed}ms (${W.elapsed-z.elapsed>0?"+":""}${W.elapsed-z.elapsed}ms)`);for(let N of["openai-processing-ms","x-ms-region","x-ratelimit-remaining"]){let H=z.headers[N],I=W.headers[N];if(H||I)Z.push(` ${N}: ${H??"-"} → ${I??"-"}`)}let D=Y(W.usage,"input_tokens_details.cached_tokens")??Y(W.usage,"prompt_tokens_details.cached_tokens")??0,F=z.usage?.input_tokens??z.usage?.prompt_tokens??0,P=W.usage?.input_tokens??W.usage?.prompt_tokens??0,G;if(D>0){let N=P>0?Math.round(D/P*100):"?";G=`CACHE HIT: ${D} cached tokens (${N}% of input)`}else if(F===0&&P===0)G="INCONCLUSIVE: Server returns 0 input_tokens — cannot measure";else if(W.elapsed<z.elapsed*0.6&&F>100)G=`POSSIBLE SILENT CACHING: Call 2 was ${Math.round((1-W.elapsed/z.elapsed)*100)}% faster but no cached_tokens reported`;else G="NO CACHE DETECTED";Z.push(`
|
|
17
|
+
Verdict: ${G}`);function u(N){return{input_tokens:N?.input_tokens??0,output_tokens:N?.output_tokens??0,cache_creation_input_tokens:0,cache_read_input_tokens:0}}function p(N){return{input_tokens:N?.prompt_tokens??0,output_tokens:N?.completion_tokens??0,cache_creation_input_tokens:0,cache_read_input_tokens:N?.prompt_tokens_details?.cached_tokens??0}}let f=$?u:p,d=f(z.usage),E=f(W.usage);if(Z.push(""),Z.push(` --- What main's shim reports (${$?"codexShim.makeUsage":"openaiShim.convertChunkUsage"}) ---`),Z.push(` Call 1: cache_read_input_tokens=${d.cache_read_input_tokens}`),Z.push(` Call 2: cache_read_input_tokens=${E.cache_read_input_tokens}`),$&&D>0)Z.push(` BUG: Server returned ${D} cached tokens but main's makeUsage() drops it → reports 0`);else if(!$&&E.cache_read_input_tokens>0)Z.push(" OK: Chat Completions path on main correctly reads cached_tokens");k(Z.join(`
|
|
18
|
+
`));let t=X?" (NO cache key sent)":"",l=$?"codexShim.makeUsage()":"openaiShim.convertChunkUsage()";return{type:"text",value:[`Cache Probe — ${V.resolvedModel} via ${$?"Responses API":"Chat Completions"}${t}`,"",`Call 1: ${z.elapsed}ms, input=${F}, cached=${Y(z.usage,"input_tokens_details.cached_tokens")??Y(z.usage,"prompt_tokens_details.cached_tokens")??0}`,`Call 2: ${W.elapsed}ms, input=${P}, cached=${D}`,"",G,"",`What main's ${l} reports:`,` Call 2 cache_read_input_tokens = ${E.cache_read_input_tokens}${$&&D>0?" ← BUG: server sent "+D+" but main drops it":""}`,"","Full details written to debug log."].join(`
|
|
19
|
+
`)}};var Qz=n(()=>{a();r();s();o();zz();e();Jz={"User-Agent":"GitHubCopilotChat/0.26.7","Editor-Version":"vscode/1.99.3","Editor-Plugin-Version":"copilot-chat/0.26.7","Copilot-Integration-Id":"vscode-chat"},K=["You are a coding assistant. Answer concisely.","CONTEXT: User is working on a TypeScript project with Bun runtime.",...Array.from({length:80},(J,Q)=>`Rule ${Q+1}: Follow best practices for TypeScript including strict typing, error handling, testing, and clean code. Prefer explicit types over any. Use const assertions. Await all async operations.`)].join(`
|
|
20
|
+
|
|
21
|
+
`)});Qz();export{jz as call};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{e2 as L,f2 as P,g2 as $,k2 as Q,l2 as U,m2 as V,n2 as j}from"./cli-1.0.9-1pe38ex2.mjs";import{Bra as Z}from"./cli-1.0.9-j2832pm5.mjs";function w(k,D){let G=new Date(k.timestamp).toISOString(),B=`${G.slice(0,10)} ${G.slice(11,19)}`,I=L(k.metrics);return` #${String(D+1).padStart(3)} ${B} ${k.label.padEnd(28).slice(0,28)} ${I}`}function K(k,D){return`${k.padEnd(18)}${P(D)}`}var v=20,O=async()=>{let k=V(),D=U(),G=Q();if(k.length===0)return{type:"text",value:`Cache stats
|
|
2
|
+
No API requests yet this session.
|
|
3
|
+
Start a turn and re-run /cache-stats to see results.`};let B=k.slice(-v),I=k.length-B.length,q=["Cache stats",""];q.push(K("Current turn:",G)),q.push(K("Session total:",D)),q.push(""),q.push(`Recent requests (${B.length}${I>0?` of ${k.length}, ${I} older omitted`:""}):`),q.push(" # time model cache");for(let[J,Y]of B.entries())q.push(w(Y,k.length-B.length+J));if(B.some((J)=>!J.metrics.supported))q.push(""),q.push(" N/A rows: provider API does not expose cache usage (GitHub Copilot, Ollama)."),q.push(" The request still ran normally — only the metric is unavailable.");return{type:"text",value:q.join(`
|
|
4
|
+
`)}};var A=Z(()=>{j();$()});A();export{O as call};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Wh as a,Xh as b}from"./cli-1.0.9-11tj558a.mjs";import"./cli-1.0.9-k9k4mjr2.mjs";import"./cli-1.0.9-tkk94r4t.mjs";import"./cli-1.0.9-67c9vgsq.mjs";import"./cli-1.0.9-kw7p06w2.mjs";import"./cli-1.0.9-0f3ex0vg.mjs";import"./cli-1.0.9-jcnmjs31.mjs";import"./cli-1.0.9-4yksn92y.mjs";import"./cli-1.0.9-b78v72rn.mjs";import"./cli-1.0.9-c5n2kbdv.mjs";import"./cli-1.0.9-wny75xk9.mjs";import"./cli-1.0.9-r4ysx5t8.mjs";import"./cli-1.0.9-3n2084tg.mjs";import"./cli-1.0.9-xd6wrh53.mjs";import"./cli-1.0.9-vhcxraj8.mjs";import"./cli-1.0.9-03tgqcyj.mjs";import"./cli-1.0.9-rm8ssvm7.mjs";import"./cli-1.0.9-19gz2k9q.mjs";import"./cli-1.0.9-awxee62m.mjs";import"./cli-1.0.9-v770djrd.mjs";import"./cli-1.0.9-dvbfpdtc.mjs";import"./cli-1.0.9-wcm9r8rn.mjs";import"./cli-1.0.9-13q9fkxq.mjs";import"./cli-1.0.9-5afn268n.mjs";import"./cli-1.0.9-q3fzs7rd.mjs";import"./cli-1.0.9-6q0e7nk4.mjs";import"./cli-1.0.9-tbzbnv01.mjs";import"./cli-1.0.9-vcf21zvy.mjs";import"./cli-1.0.9-7gewnt7b.mjs";import"./cli-1.0.9-rjq71gw8.mjs";import"./cli-1.0.9-1pe38ex2.mjs";import"./cli-1.0.9-nz0skfsg.mjs";import"./cli-1.0.9-6yxsfcyh.mjs";import"./cli-1.0.9-j500vd5e.mjs";import"./cli-1.0.9-49sanx9h.mjs";import"./cli-1.0.9-ymbxfv5d.mjs";import"./cli-1.0.9-e491drav.mjs";import"./cli-1.0.9-ez2pcj03.mjs";import"./cli-1.0.9-xe8dc6qb.mjs";import"./cli-1.0.9-w5dyqxqk.mjs";import"./cli-1.0.9-d8rq80ph.mjs";import"./cli-1.0.9-89yxpmpq.mjs";import"./cli-1.0.9-sjqe138z.mjs";import"./cli-1.0.9-9jyyb7zx.mjs";import"./cli-1.0.9-erz57dtz.mjs";import"./cli-1.0.9-dbs656rx.mjs";import"./cli-1.0.9-vvwt9bfb.mjs";import"./cli-1.0.9-ppa9xdxq.mjs";import"./cli-1.0.9-ej3ahs6j.mjs";import"./cli-1.0.9-x4t4nqd2.mjs";import"./cli-1.0.9-qyfx57wb.mjs";import"./cli-1.0.9-06kd11jd.mjs";import"./cli-1.0.9-rpw6qq2j.mjs";import"./cli-1.0.9-6x8m34y6.mjs";import"./cli-1.0.9-e2mjjvjc.mjs";import"./cli-1.0.9-az9m58wa.mjs";import"./cli-1.0.9-jq2h9s5r.mjs";import"./cli-1.0.9-ympvk0av.mjs";import"./cli-1.0.9-a0zm3d1g.mjs";import"./cli-1.0.9-zrphfr1b.mjs";import"./cli-1.0.9-y7sdjd9n.mjs";import"./cli-1.0.9-3ye1460y.mjs";import"./cli-1.0.9-806xk0g7.mjs";import"./cli-1.0.9-htsk8rvv.mjs";import"./cli-1.0.9-1f0bxa2a.mjs";import"./cli-1.0.9-tzke31bj.mjs";import"./cli-1.0.9-aasy7y47.mjs";import"./cli-1.0.9-j2832pm5.mjs";b();export{a as clearSessionCaches};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Mfa as X,S_ as V,T_ as W,U_ as J,Ufa as H,aaa as k,faa as N,tba as x,wba as A}from"./cli-1.0.9-ej3ahs6j.mjs";import"./cli-1.0.9-x4t4nqd2.mjs";import"./cli-1.0.9-qyfx57wb.mjs";import"./cli-1.0.9-06kd11jd.mjs";import"./cli-1.0.9-rpw6qq2j.mjs";import"./cli-1.0.9-6x8m34y6.mjs";import"./cli-1.0.9-e2mjjvjc.mjs";import"./cli-1.0.9-az9m58wa.mjs";import"./cli-1.0.9-jq2h9s5r.mjs";import"./cli-1.0.9-ympvk0av.mjs";import"./cli-1.0.9-a0zm3d1g.mjs";import{$ja as y,Vja as b}from"./cli-1.0.9-zrphfr1b.mjs";import"./cli-1.0.9-y7sdjd9n.mjs";import"./cli-1.0.9-3ye1460y.mjs";import"./cli-1.0.9-806xk0g7.mjs";import"./cli-1.0.9-htsk8rvv.mjs";import"./cli-1.0.9-j2832pm5.mjs";A();y();N();H();J();import{readdir as L,readFile as U,stat as Z}from"fs/promises";import{homedir as _}from"os";import{join as $}from"path";async function F(){let B=W();if(!V.includes(B))throw Error(`Unsupported platform: ${B} - Claude Desktop integration only works on macOS and WSL.`);if(B==="macos")return $(_(),"Library","Application Support","Claude","claude_desktop_config.json");let K=process.env.USERPROFILE?process.env.USERPROFILE.replace(/\\/g,"/"):null;if(K){let q=`/mnt/c${K.replace(/^[A-Z]:/,"")}/AppData/Roaming/Claude/claude_desktop_config.json`;try{return await Z(q),q}catch{}}try{try{let q=await L("/mnt/c/Users",{withFileTypes:!0});for(let z of q){if(z.name==="Public"||z.name==="Default"||z.name==="Default User"||z.name==="All Users")continue;let I=$("/mnt/c/Users",z.name,"AppData","Roaming","Claude","claude_desktop_config.json");try{return await Z(I),I}catch{}}}catch{}}catch(G){X(G)}throw Error("Could not find Claude Desktop config file in Windows. Make sure Claude Desktop is installed on Windows.")}async function h(){if(!V.includes(W()))throw Error("Unsupported platform - Claude Desktop integration only works on macOS and WSL.");try{let B=await F(),K;try{K=await U(B,{encoding:"utf8"})}catch(I){if(b(I)==="ENOENT")return{};throw I}let G=k(K);if(!G||typeof G!=="object")return{};let q=G.mcpServers;if(!q||typeof q!=="object")return{};let z={};for(let[I,Q]of Object.entries(q)){if(!Q||typeof Q!=="object")continue;let Y=x().safeParse(Q);if(Y.success)z[I]=Y.data}return z}catch(B){return X(B),{}}}export{h as readClaudeDesktopMcpServers,F as getClaudeDesktopConfigPath};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$S as b,_S as a,aT as c,bT as d,cT as e,dT as f,eT as g,fT as h,gT as i,hT as j,iT as k,jT as l,kT as m,lT as n,mT as o,nT as p,oT as q,pT as r,qT as s,rT as t}from"./cli-1.0.9-67c9vgsq.mjs";import"./cli-1.0.9-kw7p06w2.mjs";import"./cli-1.0.9-0f3ex0vg.mjs";import"./cli-1.0.9-jcnmjs31.mjs";import"./cli-1.0.9-4yksn92y.mjs";import"./cli-1.0.9-b78v72rn.mjs";import"./cli-1.0.9-c5n2kbdv.mjs";import"./cli-1.0.9-wny75xk9.mjs";import"./cli-1.0.9-r4ysx5t8.mjs";import"./cli-1.0.9-3n2084tg.mjs";import"./cli-1.0.9-xd6wrh53.mjs";import"./cli-1.0.9-vhcxraj8.mjs";import"./cli-1.0.9-03tgqcyj.mjs";import"./cli-1.0.9-rm8ssvm7.mjs";import"./cli-1.0.9-19gz2k9q.mjs";import"./cli-1.0.9-awxee62m.mjs";import"./cli-1.0.9-v770djrd.mjs";import"./cli-1.0.9-dvbfpdtc.mjs";import"./cli-1.0.9-wcm9r8rn.mjs";import"./cli-1.0.9-13q9fkxq.mjs";import"./cli-1.0.9-5afn268n.mjs";import"./cli-1.0.9-q3fzs7rd.mjs";import"./cli-1.0.9-6q0e7nk4.mjs";import"./cli-1.0.9-tbzbnv01.mjs";import"./cli-1.0.9-vcf21zvy.mjs";import"./cli-1.0.9-7gewnt7b.mjs";import"./cli-1.0.9-rjq71gw8.mjs";import"./cli-1.0.9-1pe38ex2.mjs";import"./cli-1.0.9-nz0skfsg.mjs";import"./cli-1.0.9-6yxsfcyh.mjs";import"./cli-1.0.9-j500vd5e.mjs";import"./cli-1.0.9-49sanx9h.mjs";import"./cli-1.0.9-ymbxfv5d.mjs";import"./cli-1.0.9-e491drav.mjs";import"./cli-1.0.9-ez2pcj03.mjs";import"./cli-1.0.9-xe8dc6qb.mjs";import"./cli-1.0.9-w5dyqxqk.mjs";import"./cli-1.0.9-d8rq80ph.mjs";import"./cli-1.0.9-89yxpmpq.mjs";import"./cli-1.0.9-sjqe138z.mjs";import"./cli-1.0.9-9jyyb7zx.mjs";import"./cli-1.0.9-erz57dtz.mjs";import"./cli-1.0.9-dbs656rx.mjs";import"./cli-1.0.9-vvwt9bfb.mjs";import"./cli-1.0.9-ppa9xdxq.mjs";import"./cli-1.0.9-ej3ahs6j.mjs";import"./cli-1.0.9-x4t4nqd2.mjs";import"./cli-1.0.9-qyfx57wb.mjs";import"./cli-1.0.9-06kd11jd.mjs";import"./cli-1.0.9-rpw6qq2j.mjs";import"./cli-1.0.9-6x8m34y6.mjs";import"./cli-1.0.9-e2mjjvjc.mjs";import"./cli-1.0.9-az9m58wa.mjs";import"./cli-1.0.9-jq2h9s5r.mjs";import"./cli-1.0.9-ympvk0av.mjs";import"./cli-1.0.9-a0zm3d1g.mjs";import"./cli-1.0.9-zrphfr1b.mjs";import"./cli-1.0.9-y7sdjd9n.mjs";import"./cli-1.0.9-3ye1460y.mjs";import"./cli-1.0.9-806xk0g7.mjs";import"./cli-1.0.9-htsk8rvv.mjs";import"./cli-1.0.9-1f0bxa2a.mjs";import"./cli-1.0.9-tzke31bj.mjs";import"./cli-1.0.9-aasy7y47.mjs";import"./cli-1.0.9-j2832pm5.mjs";t();export{b as stripHtmlComments,q as shouldShowClaudeMdExternalIncludesWarning,g as resetGetMemoryFilesCache,c as processMemoryFile,d as processMdRules,n as processConditionedMdRules,r as isMemoryFilePath,p as hasExternalClaudeMdIncludes,l as getMemoryFilesForNestedDirectory,e as getMemoryFiles,k as getManagedAndUserConditionalRules,h as getLargeMemoryFiles,o as getExternalClaudeMdIncludes,m as getConditionalRulesForCwdLevelDirectory,j as getClaudeMds,s as getAllMemoryFilePaths,i as filterInjectedMemoryFiles,f as clearMemoryFileCaches,a as MAX_MEMORY_CHARACTER_COUNT};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Uh as a,Vh as l}from"./cli-1.0.9-j297swbj.mjs";import"./cli-1.0.9-11tj558a.mjs";import"./cli-1.0.9-k9k4mjr2.mjs";import"./cli-1.0.9-25kh81st.mjs";import"./cli-1.0.9-tkk94r4t.mjs";import"./cli-1.0.9-67c9vgsq.mjs";import"./cli-1.0.9-kw7p06w2.mjs";import"./cli-1.0.9-0f3ex0vg.mjs";import"./cli-1.0.9-jcnmjs31.mjs";import"./cli-1.0.9-4yksn92y.mjs";import"./cli-1.0.9-b78v72rn.mjs";import"./cli-1.0.9-c5n2kbdv.mjs";import"./cli-1.0.9-wny75xk9.mjs";import"./cli-1.0.9-r4ysx5t8.mjs";import"./cli-1.0.9-3n2084tg.mjs";import"./cli-1.0.9-xd6wrh53.mjs";import"./cli-1.0.9-vhcxraj8.mjs";import"./cli-1.0.9-03tgqcyj.mjs";import"./cli-1.0.9-rm8ssvm7.mjs";import"./cli-1.0.9-19gz2k9q.mjs";import"./cli-1.0.9-awxee62m.mjs";import"./cli-1.0.9-v770djrd.mjs";import"./cli-1.0.9-dvbfpdtc.mjs";import"./cli-1.0.9-wcm9r8rn.mjs";import"./cli-1.0.9-13q9fkxq.mjs";import"./cli-1.0.9-5afn268n.mjs";import"./cli-1.0.9-q3fzs7rd.mjs";import"./cli-1.0.9-6q0e7nk4.mjs";import"./cli-1.0.9-tbzbnv01.mjs";import"./cli-1.0.9-vcf21zvy.mjs";import"./cli-1.0.9-7gewnt7b.mjs";import"./cli-1.0.9-rjq71gw8.mjs";import"./cli-1.0.9-1pe38ex2.mjs";import"./cli-1.0.9-nz0skfsg.mjs";import"./cli-1.0.9-6yxsfcyh.mjs";import"./cli-1.0.9-j500vd5e.mjs";import"./cli-1.0.9-49sanx9h.mjs";import"./cli-1.0.9-ymbxfv5d.mjs";import"./cli-1.0.9-e491drav.mjs";import"./cli-1.0.9-ez2pcj03.mjs";import"./cli-1.0.9-xe8dc6qb.mjs";import"./cli-1.0.9-w5dyqxqk.mjs";import"./cli-1.0.9-d8rq80ph.mjs";import"./cli-1.0.9-89yxpmpq.mjs";import"./cli-1.0.9-sjqe138z.mjs";import"./cli-1.0.9-9jyyb7zx.mjs";import"./cli-1.0.9-erz57dtz.mjs";import"./cli-1.0.9-dbs656rx.mjs";import"./cli-1.0.9-vvwt9bfb.mjs";import"./cli-1.0.9-ppa9xdxq.mjs";import"./cli-1.0.9-ej3ahs6j.mjs";import"./cli-1.0.9-x4t4nqd2.mjs";import"./cli-1.0.9-qyfx57wb.mjs";import"./cli-1.0.9-06kd11jd.mjs";import"./cli-1.0.9-rpw6qq2j.mjs";import"./cli-1.0.9-6x8m34y6.mjs";import"./cli-1.0.9-e2mjjvjc.mjs";import"./cli-1.0.9-az9m58wa.mjs";import"./cli-1.0.9-jq2h9s5r.mjs";import"./cli-1.0.9-ympvk0av.mjs";import"./cli-1.0.9-a0zm3d1g.mjs";import"./cli-1.0.9-zrphfr1b.mjs";import"./cli-1.0.9-y7sdjd9n.mjs";import"./cli-1.0.9-3ye1460y.mjs";import"./cli-1.0.9-806xk0g7.mjs";import"./cli-1.0.9-htsk8rvv.mjs";import"./cli-1.0.9-1f0bxa2a.mjs";import"./cli-1.0.9-tzke31bj.mjs";import"./cli-1.0.9-aasy7y47.mjs";import{Bra as t}from"./cli-1.0.9-j2832pm5.mjs";var n=async(e,o)=>{return await a(o),{type:"text",value:""}};var m=t(()=>{l()});m();export{n as call};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A1 as a,B1 as b,C1 as c}from"./cli-1.0.9-tbzbnv01.mjs";import"./cli-1.0.9-j2832pm5.mjs";c();export{a as getClearTerminalSequence,b as clearTerminal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Aea as k,Mea as f,Sda as M,Vda as L,nea as G,oea as h,sea as v,tea as P}from"./cli-1.0.9-ej3ahs6j.mjs";import{hia as E,qia as x}from"./cli-1.0.9-az9m58wa.mjs";import{cka as T,pka as u}from"./cli-1.0.9-y7sdjd9n.mjs";import{Bra as C}from"./cli-1.0.9-j2832pm5.mjs";import{chmodSync as K,cpSync as S,existsSync as V,mkdirSync as m,readFileSync as _,readdirSync as w,statSync as D,writeFileSync as O}from"fs";import{homedir as R}from"os";import{join as Y}from"path";function b(j){return Y(j,".claude")}function A(j){try{let q=_(j,"utf8"),B=JSON.parse(q);if(B&&typeof B==="object"&&!Array.isArray(B))return B;return null}catch{return null}}function F(j,q){O(j,JSON.stringify(q,null,2),{encoding:"utf8"})}function $(j){m(j,{recursive:!0})}function l(j,q,B,Q){let z=Y(j,".credentials.json"),I=Y(q,".credentials.json");if(!V(z))return 0;try{if(V(I)){let W=_(z),X=_(I);if(W.equals(X))return K(I,384),0;return Q.push(`${I} already exists with different content — kept new file untouched`),0}$(q);let N=_(z);return O(I,N),K(I,384),d(N)}catch(N){return B.push(`failed to copy .credentials.json: ${N instanceof Error?N.message:String(N)}`),0}}function d(j){try{let q=JSON.parse(j.toString("utf8"));if(q&&typeof q==="object")return Object.keys(q).length}catch{}return 1}function y(j,q,B){let Q=Y(j,"CLAUDE.md"),z=Y(q,"CLAUDE.md");if(!V(Q))return!1;if(V(z))return!1;try{$(q);let I=_(Q);return O(z,I),!0}catch(I){return B.push(`failed to copy CLAUDE.md: ${I instanceof Error?I.message:String(I)}`),!1}}function c(j,q,B){let Q=Y(j,"keybindings.json"),z=Y(q,"keybindings.json");if(!V(Q))return!1;if(V(z))return!1;try{$(q);let I=_(Q);return O(z,I),!0}catch(I){return B.push(`failed to copy keybindings.json: ${I instanceof Error?I.message:String(I)}`),!1}}function H(j,q,B,Q){let z=Y(j,B),I=Y(q,B);if(!V(z))return 0;let N=0;try{if(!D(z).isDirectory())return 0;$(q),S(z,I,{recursive:!0,force:!1,errorOnExist:!1}),N=p(I)}catch(W){Q.push(`failed to copy ${B}/: ${W instanceof Error?W.message:String(W)}`)}return N}function p(j){try{if(!V(j))return 0;return w(j).length}catch{return 0}}function a(j,q,B){let Q=Y(j,"settings.json");if(!V(Q))return 0;let z=A(Q);if(!z)return B.push("legacy settings.json could not be parsed; skipped"),0;let I=Y(q,"settings.json"),N=V(I)?A(I)??{}:{},W={...N},X=0;for(let U of g){if(!(U in z))continue;if(U in N)continue;W[U]=z[U],X+=1}if(X===0&&V(I))return 0;try{$(q),F(I,W)}catch(U){return B.push(`failed to write settings.json: ${U instanceof Error?U.message:String(U)}`),0}return X}function J(j){return Y(j,`.claude${E()}.json`)}function n(j){return Y(j,`config${E()}.json`)}function t(j,q,B){let Q=J(j);if(!V(Q))return 0;let z=A(Q);if(!z)return B.push(`legacy ${Q} could not be parsed; skipped`),0;let I=n(q),N=V(I)?A(I)??{}:{},W={...N},X=0;for(let U of Object.keys(z)){if(U in N)continue;W[U]=z[U],X+=1}if(X===0&&V(I))return 0;try{F(I,W)}catch(U){return B.push(`failed to write ${I}: ${U instanceof Error?U.message:String(U)}`),0}return G(null),X}function o(){let q=L().claudeToClaudinMigratedAt;if(typeof q==="string"&&q.length>0)return{migrated:!0,at:q};return{migrated:!1}}function s(j){M((q)=>({...q,claudeToClaudinMigratedAt:j}))}async function Vj(j={}){let q=j.homeDir??R(),B=b(q),Q=j.newDir??T(),z=[],I=[],N={tokens:0,settingsKeys:0,globalConfigKeys:0,claudeMd:!1,plugins:0,skills:0,agents:0,commands:0,keybindings:!1,anthropicProfileCreated:!1,errors:z,warnings:I,alreadyMigrated:!1,legacyDir:B,newDir:Q},W=V(J(q));if(!V(B)&&!W)return N;let X=o();if(X.migrated&&!j.force)return N.alreadyMigrated=!0,N.migratedAt=X.at,N;try{$(Q)}catch(U){return z.push(`failed to create ${Q}: ${U instanceof Error?U.message:String(U)}`),N}if(V(B))N.tokens=l(B,Q,z,I),N.settingsKeys=a(B,Q,z),N.claudeMd=y(B,Q,z),N.plugins=H(B,Q,"plugins",z),N.skills=H(B,Q,"skills",z),N.agents=H(B,Q,"agents",z),N.commands=H(B,Q,"commands",z),N.keybindings=c(B,Q,z);if(N.globalConfigKeys=t(q,Q,I),N.anthropicProfileCreated=i(Q,N.tokens,I),z.length===0){let U=new Date().toISOString();s(U),N.migratedAt=U}return N}function i(j,q,B){if(q<=0)return!1;let Q=Y(j,".credentials.json"),z;try{z=JSON.parse(_(Q,"utf8"))}catch(Z){return B.push(`failed to read migrated .credentials.json for profile bootstrap: ${Z instanceof Error?Z.message:String(Z)}`),!1}let N=z?.claudeAiOauth?.accessToken;if(typeof N!=="string"||N.length===0)return!1;let W=P();if(W.some((Z)=>Z.provider==="anthropic"))return!1;let X=v("anthropic"),U={provider:"anthropic",name:X.name,baseUrl:X.baseUrl,model:X.model};try{if(!k(U,{makeActive:W.length===0}))return B.push("anthropic profile could not be saved after migration"),!1;return!0}catch(Z){return B.push(`failed to create anthropic profile: ${Z instanceof Error?Z.message:String(Z)}`),!1}}function Wj(j){if(j.alreadyMigrated)return`nothing to do (last run: ${j.migratedAt??"unknown"}). Pass --force to re-run.`;let q=[];q.push(`${j.tokens} token${j.tokens===1?"":"s"}`),q.push(`${j.settingsKeys} settings key${j.settingsKeys===1?"":"s"}`),q.push(`${j.globalConfigKeys} global config key${j.globalConfigKeys===1?"":"s"}`),q.push(`${j.claudeMd?1:0} CLAUDE.md`),q.push(`${j.plugins} plugin${j.plugins===1?"":"s"}`),q.push(`${j.skills} skill${j.skills===1?"":"s"}`),q.push(`${j.agents} agent${j.agents===1?"":"s"}`),q.push(`${j.commands} command${j.commands===1?"":"s"}`),q.push(`${j.keybindings?"keybindings copied":"no keybindings"}`),q.push(j.anthropicProfileCreated?"anthropic profile created":"anthropic profile already present");let B=q.join(", "),Q=`. ${j.legacyDir} kept untouched.`,z=`${B}${Q}`;if(j.warnings.length>0)z+=` Warnings: ${j.warnings.join("; ")}`;if(j.errors.length>0)z+=` Errors: ${j.errors.join("; ")}`;return z}function e(j=R()){return V(b(j))}function r(j=R()){return V(J(j))}function Xj(j=R()){let q=L();if(q.claudeToClaudinMigratedAt)return!1;if(q.legacyMigrationSkipped===!0)return!1;return e(j)||r(j)}function Yj(){M((j)=>({...j,legacyMigrationSkipped:!0}))}var g;var jj=C(()=>{x();h();u();f();g=["theme","model","customApiKeyResponses","permissions","verbose","editorMode","mcpServers","providerProfiles","activeProviderProfileId"]});
|
|
2
|
+
export{Vj as Hc,Wj as Ic,e as Jc,Xj as Kc,Yj as Lc,jj as Mc};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{P4 as H,Q4 as _,R4 as Y,S4 as y}from"./cli-1.0.9-sjqe138z.mjs";import{P9 as M,R9 as f}from"./cli-1.0.9-ej3ahs6j.mjs";import{gja as P,kja as p,uja as x,xia as F,xja as S,zia as b}from"./cli-1.0.9-ympvk0av.mjs";import{$ja as R,Uja as V}from"./cli-1.0.9-zrphfr1b.mjs";import{fka as U,pka as g}from"./cli-1.0.9-y7sdjd9n.mjs";import{Spa as A,coa as D,doa as W}from"./cli-1.0.9-3ye1460y.mjs";import{Bra as L}from"./cli-1.0.9-j2832pm5.mjs";function I(){let q=D();if(q!==void 0)return q;let G=process.env.CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR;if(!G){let w=process.env.CLAUDE_SESSION_INGRESS_TOKEN_FILE??H,z=Y(w,"session ingress token");return W(z),z}let Q=parseInt(G,10);if(Number.isNaN(Q))return x(`CLAUDE_CODE_WEBSOCKET_AUTH_FILE_DESCRIPTOR must be a valid file descriptor number, got: ${G}`,{level:"error"}),W(null),null;try{let w=P(),z=process.platform==="darwin"||process.platform==="freebsd"?`/dev/fd/${Q}`:`/proc/self/fd/${Q}`,X=w.readFileSync(z,{encoding:"utf8"}).trim();if(!X)return x("File descriptor contained empty token",{level:"error"}),W(null),null;return x(`Successfully read token from file descriptor ${Q}`),W(X),_(H,X,"session ingress token"),X}catch(w){x(`Failed to read token from file descriptor ${Q}: ${V(w)}`,{level:"error"});let z=process.env.CLAUDE_SESSION_INGRESS_TOKEN_FILE??H,X=Y(z,"session ingress token");return W(X),X}}function k(){let q=process.env.CLAUDE_CODE_SESSION_ACCESS_TOKEN;if(q)return q;return I()}function s(){let q=k();if(!q)return{};if(q.startsWith("sk-ant-sid")){let G={Cookie:`sessionKey=${q}`},Q=process.env.CLAUDE_CODE_ORGANIZATION_UUID;if(Q)G["X-Organization-Uuid"]=Q;return G}return{Authorization:`Bearer ${q}`}}function o(q){process.env.CLAUDE_CODE_SESSION_ACCESS_TOKEN=q}var u=L(()=>{A();y();S();R();p()});function E(){j(),K=setInterval(()=>{if(M("debug","session_keepalive_heartbeat",{refcount:J}),U(process.env.CLAUDE_CODE_REMOTE_SEND_KEEPALIVES))$?.()},C)}function v(){if(j(),$===null)return;B=setTimeout(()=>{M("info","session_idle_30s"),B=null},C)}function j(){if(B!==null)clearTimeout(B),B=null}function e(q){if($=q,J>0&&K===null)E()}function qq(){if($=null,K!==null)clearInterval(K),K=null;j()}function Gq(){if(U(process.env.CLAUDE_CODE_REMOTE_SEND_KEEPALIVES))$?.()}function Jq(){return $!==null}function Kq(q){if(J++,Z.set(q,(Z.get(q)??0)+1),J===1){if(O=Date.now(),$!==null&&K===null)E()}if(!N)N=!0,F(async()=>{M("info","session_activity_at_shutdown",{refcount:J,active:Object.fromEntries(Z),oldest_activity_ms:J>0&&O!==null?Date.now()-O:null})})}function Qq(q){if(J>0)J--;let G=(Z.get(q)??0)-1;if(G>0)Z.set(q,G);else Z.delete(q);if(J===0&&K!==null)clearInterval(K),K=null,v()}var C=30000,$=null,J=0,Z,O=null,K=null,B=null,N=!1;var h=L(()=>{b();f();g();Z=new Map});var $q;var m=L(()=>{$q={input_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,output_tokens:0,output_tokens_details:{thinking_tokens:0},server_tool_use:{web_search_requests:0,web_fetch_requests:0},service_tier:"standard",cache_creation:{ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0},inference_geo:"",iterations:[],speed:"standard"}});
|
|
2
|
+
export{k as QV,s as RV,o as SV,u as TV,e as UV,qq as VV,Gq as WV,Jq as XV,Kq as YV,Qq as ZV,h as _V,$q as $V,m as aW};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{Tg as g,Vg as Py}from"./cli-1.0.9-9p6ww1a0.mjs";import{Ni as s,Pi as d,Qi as $y}from"./cli-1.0.9-cymry1xw.mjs";import{CS as c,DL as x,Fr as A,HL as Ny,Nr as Qy,Rs as R,Wx as q,XS as py,Xx as Zy,Zs as Wy,dL as K,eL as Ry,go as V,io as Y,ko as D,lS as t,mL as n,no as M,oo as C,pl as L,po as T,pv as E,ro as f,sv as Xy,tl as Iy,ur as u,wL as vy,xo as Ky}from"./cli-1.0.9-67c9vgsq.mjs";import{YW as i,ZW as Oy}from"./cli-1.0.9-dvbfpdtc.mjs";import{$X as _,_X as l,aY as a,eY as Uy}from"./cli-1.0.9-13q9fkxq.mjs";import{kY as o,qY as hy}from"./cli-1.0.9-5afn268n.mjs";import{c0 as k,d0 as Jy}from"./cli-1.0.9-q3fzs7rd.mjs";import{$7 as zy,I7 as X,U5 as B,V5 as F,s6 as qy}from"./cli-1.0.9-sjqe138z.mjs";import{v8 as H,w8 as ry}from"./cli-1.0.9-erz57dtz.mjs";import{Daa as j,Faa as jy,K_ as b,Pca as m,R_ as wy,Sda as v,T_ as W,U_ as Sy,Uca as Z,Vca as O,Vda as w,cda as ky,oea as N,u_ as h}from"./cli-1.0.9-ej3ahs6j.mjs";import{Uga as z,eha as Gy}from"./cli-1.0.9-rpw6qq2j.mjs";import{uja as p,xja as yy}from"./cli-1.0.9-ympvk0av.mjs";N();function Vy(y){let r=w().numStartups;v((G)=>{let S=G.tipsHistory??{};if(S[y]===r)return G;return{...G,tipsHistory:{...S,[y]:r}}})}function P(y){let r=w(),G=r.tipsHistory?.[y];if(!G)return 1/0;return r.numStartups-G}ry();yy();Wy();ky();hy();Jy();Py();Zy();Iy();zy();Oy();N();Qy();jy();Xy();wy();Ky();qy();Sy();Ny();vy();Ry();py();Gy();$y();Uy();var Q;async function Hy(){if(Q!==void 0)return Q;let y=await n();return Q=K in y,Q}async function U(y,r,G){if(!await Hy())return!1;if(x(`${y}@${K}`))return!1;let{bashTools:S}=r??{};if(G.cli&&S?.size){if(G.cli.some((I)=>S.has(I)))return!0}if(G.filePath&&r?.readFileState){if(E(r.readFileState).some(($)=>G.filePath.test($)))return!0}return!1}var by=[{id:"new-user-warmup",content:async()=>"Start with small features or bug fixes, tell Claudin to propose a plan, and verify its suggested edits",cooldownSessions:3,async isRelevant(){return w().numStartups<10}},{id:"plan-mode-for-complex-tasks",content:async()=>`Use Plan Mode to prepare for a complex request before making changes. Press ${q("chat:cycleMode","Chat","shift+tab")} twice to enable.`,cooldownSessions:5,isRelevant:async()=>{let y=w();return(y.lastPlanModeUse?(Date.now()-y.lastPlanModeUse)/86400000:1/0)>7}},{id:"default-permission-mode-config",content:async()=>"Use /config to change your default permission mode (including Plan Mode)",cooldownSessions:10,isRelevant:async()=>{try{let y=w(),r=O(),G=Boolean(y.lastPlanModeUse),S=Boolean(r?.permissions?.defaultMode);return G&&!S}catch(y){return p(`Failed to check default-permission-mode-config tip relevance: ${y}`,{level:"warn"}),!1}}},{id:"git-worktrees",content:async()=>"Use git worktrees to run multiple Claudin sessions in parallel.",cooldownSessions:10,isRelevant:async()=>{try{let y=w();return await b()<=1&&y.numStartups>50}catch(y){return!1}}},{id:"diff-reviewer",content:async()=>`Review local changes, stashes and the git log side by side — run /diff or hit ${q("chat:openDiff","Chat","ctrl+g")}.`,cooldownSessions:10,isRelevant:async()=>{try{return await h()}catch(y){return!1}}},{id:"diff-git-log",content:async()=>`Scroll back through your git log and open any commit's diff in /diff (or hit ${q("chat:openDiff","Chat","ctrl+g")}).`,cooldownSessions:15,isRelevant:async()=>{try{return await h()}catch(y){return!1}}},{id:"file-explorer",content:async()=>`Browse and edit files without leaving the REPL — run /explorer or hit ${q("chat:openExplorer","Chat","ctrl+e")} for a file tree with a built-in nvim-style editor.`,cooldownSessions:10,isRelevant:async()=>!0},{id:"explorer-fuzzy-find",content:async()=>"Inside /explorer, press / to fuzzy-find any file by name, or @ to drop it into your prompt.",cooldownSessions:15,isRelevant:async()=>!0},{id:"explorer-create-delete",content:async()=>"Inside /explorer, press a to create, r to rename, or d to delete the selected file.",cooldownSessions:15,isRelevant:async()=>!0},{id:"bash-output-filter-token-saving",content:async()=>"Bash output filter is active — redundant command output is trimmed before reaching the model, reducing token usage. Disable in /config.",cooldownSessions:20,async isRelevant(){let y=w();return y.numStartups>5&&y.bashOutputFilterEnabled!==!1}},{id:"color-when-multi-clauding",content:async()=>"Running multiple Claudin sessions? Use /color and /rename to tell them apart at a glance.",cooldownSessions:10,isRelevant:async()=>{if(t())return!1;return await i()>=2}},{id:"terminal-setup",content:async()=>j.terminal==="Apple_Terminal"?"Run /terminal-setup to enable convenient terminal integration like Option + Enter for new line and more":"Run /terminal-setup to enable convenient terminal integration like Shift + Enter for new line and more",cooldownSessions:10,async isRelevant(){let y=w();if(j.terminal==="Apple_Terminal")return!y.optionAsMetaKeyInstalled;return!y.shiftEnterKeyBindingInstalled}},{id:"shift-enter",content:async()=>j.terminal==="Apple_Terminal"?"Press Option+Enter to send a multi-line message":"Press Shift+Enter to send a multi-line message",cooldownSessions:10,async isRelevant(){let y=w();return Boolean((j.terminal==="Apple_Terminal"?y.optionAsMetaKeyInstalled:y.shiftEnterKeyBindingInstalled)&&y.numStartups>3)}},{id:"shift-enter-setup",content:async()=>j.terminal==="Apple_Terminal"?"Run /terminal-setup to enable Option+Enter for new lines":"Run /terminal-setup to enable Shift+Enter for new lines",cooldownSessions:10,async isRelevant(){if(!o())return!1;let y=w();return!(j.terminal==="Apple_Terminal"?y.optionAsMetaKeyInstalled:y.shiftEnterKeyBindingInstalled)}},{id:"memory-command",content:async()=>"Use /memory to view and manage Claudin memory",cooldownSessions:15,async isRelevant(){return w().memoryUsageCount<=0}},{id:"theme-command",content:async()=>"Use /theme to change the color theme",cooldownSessions:20,isRelevant:async()=>!0},{id:"colorterm-truecolor",content:async()=>"Try setting environment variable COLORTERM=truecolor for richer colors",cooldownSessions:30,isRelevant:async()=>!process.env.COLORTERM&&H.level<3},{id:"powershell-tool-env",content:async()=>"Set CLAUDE_CODE_USE_POWERSHELL_TOOL=1 to enable the PowerShell tool (preview)",cooldownSessions:10,isRelevant:async()=>W()==="windows"&&process.env.CLAUDE_CODE_USE_POWERSHELL_TOOL===void 0},{id:"status-line",content:async()=>"Use /statusline to set up a custom status line that will display beneath the input box",cooldownSessions:25,isRelevant:async()=>O().statusLine===void 0},{id:"prompt-queue",content:async()=>"Hit Enter to queue up additional messages while Claudin is working.",cooldownSessions:5,async isRelevant(){return w().promptQueueUseCount<=3}},{id:"enter-to-steer-in-relatime",content:async()=>"Send messages to Claudin while it works to steer Claudin in real-time",cooldownSessions:20,isRelevant:async()=>!0},{id:"todo-list",content:async()=>"Ask Claudin to create a todo list when working on complex tasks to track progress and remain on track",cooldownSessions:20,isRelevant:async()=>!0},{id:"vscode-command-install",content:async()=>`Open the Command Palette (Cmd+Shift+P) and run "Shell Command: Install '${j.terminal==="vscode"?"code":j.terminal}' command in PATH" to enable IDE integration`,cooldownSessions:0,async isRelevant(){if(!V())return!1;if(W()!=="macos")return!1;switch(j.terminal){case"vscode":return!await T();case"cursor":return!await M();case"windsurf":return!await C();default:return!1}}},{id:"ide-upsell-external-terminal",content:async()=>"Connect Claudin to your IDE · /ide",cooldownSessions:4,async isRelevant(){if(Y())return!1;if((await D()).length!==0)return!1;return(await f()).length>0}},{id:"install-github-app",content:async()=>"Run /install-github-app to tag @claude right from your Github issues and PRs",cooldownSessions:10,isRelevant:async()=>!w().githubActionSetupCount},{id:"install-slack-app",content:async()=>"Run /install-slack-app to use Claude in Slack",cooldownSessions:10,isRelevant:async()=>!w().slackAppInstallCount},{id:"permissions",content:async()=>"Use /permissions to pre-approve and pre-deny bash, edit, and MCP tools",cooldownSessions:10,async isRelevant(){return w().numStartups>10}},{id:"drag-and-drop-images",content:async()=>"Did you know you can drag and drop image files into your terminal?",cooldownSessions:10,isRelevant:async()=>!j.isSSH()},{id:"paste-images-mac",content:async()=>"Paste images into Claudin using control+v (not cmd+v!)",cooldownSessions:10,isRelevant:async()=>W()==="macos"},{id:"double-esc",content:async()=>"Double-tap esc to rewind the conversation to a previous point in time",cooldownSessions:10,isRelevant:async()=>!R()},{id:"double-esc-code-restore",content:async()=>"Double-tap esc to rewind the code and/or conversation to a previous point in time",cooldownSessions:10,isRelevant:async()=>R()},{id:"continue",content:async()=>"Run claudin --continue or claudin --resume to resume a conversation",cooldownSessions:10,isRelevant:async()=>!0},{id:"rename-conversation",content:async()=>"Name your conversations with /rename to find them easily in /resume later",cooldownSessions:15,isRelevant:async()=>c()&&w().numStartups>10},{id:"custom-commands",content:async()=>"Create skills by adding .md files to .claudin/skills/ in your project or ~/.claudin/skills/ for skills that work in any project",cooldownSessions:15,async isRelevant(){return w().numStartups>10}},{id:"shift-tab",content:async()=>`Hit ${q("chat:cycleMode","Chat","shift+tab")} to cycle between default mode, auto-accept edit mode, and plan mode`,cooldownSessions:10,isRelevant:async()=>!0},{id:"image-paste",content:async()=>`Use ${q("chat:imagePaste","Chat","ctrl+v")} to paste images from your clipboard`,cooldownSessions:20,isRelevant:async()=>!0},{id:"custom-agents",content:async()=>"Use /agents to optimize specific tasks. Eg. Software Architect, Code Writer, Code Reviewer",cooldownSessions:15,async isRelevant(){return w().numStartups>5}},{id:"agent-flag",content:async()=>"Use --agent <agent_name> to directly start a conversation with a subagent",cooldownSessions:15,async isRelevant(){return w().numStartups>5}},{id:"opusplan-mode-reminder",content:async()=>`Your default model setting is Opus Plan Mode. Press ${q("chat:cycleMode","Chat","shift+tab")} twice to activate Plan Mode and plan with Claude Opus.`,cooldownSessions:2,async isRelevant(){let y=w(),G=B()==="opusplan",S=y.lastPlanModeUse?(Date.now()-y.lastPlanModeUse)/86400000:1/0;return G&&S>3}},{id:"frontend-design-plugin",content:async(y)=>{return`Working with HTML/CSS? Install the frontend-design plugin:
|
|
2
|
+
${k("suggestion",y.theme)(`/plugin install frontend-design@${K}`)}`},cooldownSessions:3,isRelevant:async(y)=>U("frontend-design",y,{filePath:/\.(html|css|htm)$/i})},{id:"vercel-plugin",content:async(y)=>{return`Working with Vercel? Install the vercel plugin:
|
|
3
|
+
${k("suggestion",y.theme)(`/plugin install vercel@${K}`)}`},cooldownSessions:3,isRelevant:async(y)=>U("vercel",y,{filePath:/(?:^|[/\\])vercel\.json$/i,cli:["vercel"]})},{id:"effort-high-nudge",content:async(y)=>{let G=k("suggestion",y.theme)("/effort high");return z("tengu_tide_elm","off")==="copy_b"?`Use ${G} for better one-shot answers. Claudin thinks it through first.`:`Working on something tricky? ${G} gives better first answers`},cooldownSessions:3,isRelevant:async()=>{if(!X())return!1;if(!u(F()))return!1;if(m("policySettings")?.effortLevel!==void 0)return!1;if(A()!==void 0)return!1;let y=Z().effortLevel;if(y==="high"||y==="max")return!1;return z("tengu_tide_elm","off")!=="off"}},{id:"subagent-fanout-nudge",content:async(y)=>{let r=k("suggestion",y.theme);return z("tengu_tern_alloy","off")==="copy_b"?`For big tasks, tell Claudin to ${r("use subagents")}. They work in parallel and keep your main thread clean.`:`Say ${r('"fan out subagents"')} and Claudin sends a team. Each one digs deep so nothing gets missed.`},cooldownSessions:3,isRelevant:async()=>{if(!X())return!1;return z("tengu_tern_alloy","off")!=="off"}},{id:"loop-command-nudge",content:async(y)=>{let r=k("suggestion",y.theme);return z("tengu_timber_lark","off")==="copy_b"?`Use ${r("/loop 5m check the deploy")} to run any prompt on a schedule. Set it and forget it.`:`${r("/loop")} runs any prompt on a recurring schedule. Great for monitoring deploys, babysitting PRs, or polling status.`},cooldownSessions:3,isRelevant:async()=>{if(!X())return!1;if(!L())return!1;return z("tengu_timber_lark","off")!=="off"}},{id:"guest-passes",content:async(y)=>{let r=k("claude",y.theme),G=a();return G?`Share Claudin and earn ${r(_(G))} of extra usage · ${r("/passes")}`:`You have free guest passes to share · ${r("/passes")}`},cooldownSessions:3,isRelevant:async()=>{if(w().hasVisitedPasses)return!1;let{eligible:r}=l();return r}},{id:"overage-credit",content:async(y)=>{let r=k("claude",y.theme),G=s(),S=G?d(G):null;if(!S)return"";return`${r(`${S} in extra usage, on us`)} · third-party apps · ${r("/extra-usage")}`},cooldownSessions:3,isRelevant:async()=>g()},{id:"feedback-command",content:async()=>"Use /feedback to help us improve!",cooldownSessions:15,async isRelevant(){return w().numStartups>5}}],my=[];function By(){let r=Z().spinnerTipsOverride;if(!r?.tips?.length)return[];return r.tips.map((G,S)=>({id:`custom-tip-${S}`,content:async()=>G,cooldownSessions:0,isRelevant:async()=>!0}))}async function kr(y){let G=Z().spinnerTipsOverride,S=By();if(G?.excludeDefault&&S.length>0)return S;let I=[...by,...my],$=await Promise.all(I.map((J)=>J.isRelevant(y)));return[...I.filter((J,e)=>$[e]).filter((J)=>P(J.id)>=J.cooldownSessions),...S]}
|
|
4
|
+
export{Vy as cb,P as db,kr as eb};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{F1 as r,I1 as OJ}from"./cli-1.0.9-vcf21zvy.mjs";import{Daa as v,Faa as _J,Mfa as q,Sda as N,U9 as W,Uca as o,Ufa as f,V9 as D,cda as MJ,oea as P}from"./cli-1.0.9-ej3ahs6j.mjs";import{ria as A,uia as GJ}from"./cli-1.0.9-jq2h9s5r.mjs";import{Zia as k,_ia as L,cja as F,gja as O,kja as I,uja as K,xja as BJ}from"./cli-1.0.9-ympvk0av.mjs";import{$ja as x,Eja as i,Vja as M,Wja as _,Zja as p}from"./cli-1.0.9-zrphfr1b.mjs";import{cka as B,pka as b}from"./cli-1.0.9-y7sdjd9n.mjs";import{Bra as w}from"./cli-1.0.9-j2832pm5.mjs";import{access as E,chmod as ZJ,writeFile as $J}from"fs/promises";import{homedir as m}from"os";import{join as y}from"path";function U(){return y(B(),"local")}function qJ(J=m()){return y(J,".claude","local")}function d(J){let Q=J?.homeDir??m(),Y=J?.configHomeDir??B();return Array.from(new Set([y(Y,"local"),qJ(Q)]))}function u(J){return[y(J,"node_modules",".bin","claudin"),y(J,"node_modules",".bin","claude")]}function KJ(J){let Q=J.replace(/\\+/g,"/");return Q.includes("/.claudin/local/node_modules/")||Q.includes("/.claude/local/node_modules/")}function V(){return y(U(),"claudin")}function uJ(){return KJ(process.argv[1]||"")}async function C(J,Q,Y){try{return await $J(J,Q,{encoding:"utf8",flag:"wx",mode:Y}),!0}catch(Z){if(M(Z)==="EEXIST")return!1;throw Z}}async function WJ(){try{let J=U();await O().mkdir(J),await C(y(J,"package.json"),k({name:"claudin-local",version:"0.0.1",private:!0},null,2));let Q=V();if(await C(Q,`#!/bin/sh
|
|
2
|
+
exec "${J}/node_modules/.bin/claudin" "$@"`,493))await ZJ(Q,493);return!0}catch(J){return q(J),!1}}async function hJ(J,Q){try{if(!await WJ())return"install_failed";let Z=await W("npm",["install",`@claudiolabs/claudin@${Q?Q:J==="stable"?"stable":"latest"}`],{cwd:U(),maxBuffer:1e6});if(Z.code!==0){let $=Error(`Failed to install Claude CLI package: ${Z.stderr}`);return q($),Z.code===190?"in_progress":"install_failed"}return N(($)=>({...$,installMethod:"local"})),"success"}catch(Y){return q(Y),"install_failed"}}async function pJ(){for(let J of d())for(let Q of u(J))try{return await E(Q),!0}catch{}return!1}async function cJ(){for(let J of d())for(let Q of u(J))try{return await E(Q),J}catch{}return null}function gJ(){let J=process.env.SHELL||"";if(J.includes("zsh"))return"zsh";if(J.includes("bash"))return"bash";if(J.includes("fish"))return"fish";return"unknown"}var h=w(()=>{P();b();x();D();I();f();F()});import{open as XJ,readFile as zJ,stat as HJ}from"fs/promises";import{homedir as c}from"os";import{join as T}from"path";function S(J){let Q=J?.homedir??c(),Z=(J?.env??process.env).ZDOTDIR||Q;return{zsh:T(Z,".zshrc"),bash:T(Q,".bashrc"),fish:T(Q,".config/fish/config.fish")}}function n(J){let Q=!1;return{filtered:J.filter((Z)=>{if(g.test(Z)){let $=Z.match(/alias\s+claude\s*=\s*["']([^"']+)["']/);if(!$)$=Z.match(/alias\s+claude\s*=\s*([^#\n]+)/);if($&&$[1]){if($[1].trim()===V())return Q=!0,!1}}return!0}),hadAlias:Q}}async function j(J){try{return(await zJ(J,{encoding:"utf8"})).split(`
|
|
3
|
+
`)}catch(Q){if(p(Q))return null;throw Q}}async function s(J,Q){let Y=await XJ(J,"w");try{await Y.writeFile(Q.join(`
|
|
4
|
+
`),{encoding:"utf8"}),await Y.datasync()}finally{await Y.close()}}async function yJ(J){let Q=S(J);for(let Y of Object.values(Q)){let Z=await j(Y);if(!Z)continue;for(let $ of Z)if(g.test($)){let z=$.match(/alias\s+claude=["']?([^"'\s]+)/);if(z&&z[1])return z[1]}}return null}async function oJ(J){let Q=await yJ(J);if(!Q)return null;let Y=J?.homedir??c(),Z=Q.startsWith("~")?Q.replace("~",Y):Q;try{let $=await HJ(Z);if($.isFile()||$.isSymbolicLink())return Q}catch{}return null}var g;var a=w(()=>{x();h();g=/^\s*alias\s+claude\s*=/});import{constants as e}from"fs";import{access as JJ,stat as vJ,writeFile as t}from"fs/promises";import{homedir as X}from"os";import{join as R}from"path";function QJ(){let J=process.argv[1]||"";if(J.includes("/.bun/install/global/"))return!0;let Q=process.env.BUN_INSTALL;if(Q&&J.startsWith(Q))return!0;return!1}async function RJ(){let J=await W("bun",["pm","ls","-g"],{cwd:X()});if(J.code!==0)return!1;return J.stdout.includes("@claudiolabs/claudin")}function xJ(){let J=process.env.BUN_INSTALL||R(X(),".bun");return R(J,"install","global","node_modules","@claudiolabs/claudin")}async function UJ(J,Q){let Y=await W("node",[J],{cwd:Q});if(Y.code===0)return!0;if(!wJ.test(Y.error??""))return q(new G(`Skipped postinstall failed under node: ${Y.stdout} ${Y.stderr}`)),!1;let Z=await W("bun",[J],{cwd:Q});if(Z.code===0)return!0;return q(new G(`Skipped postinstall failed under bun: ${Z.stdout} ${Z.stderr}`)),!1}async function VJ(){let J=xJ(),Q=R(J,"install.cjs"),Y=R(J,"bin","claudin.exe");try{await JJ(Q,e.F_OK)}catch(Z){if(!_(Z))q(Z);return!1}try{if((await vJ(Y)).size>NJ)return!1}catch(Z){if(!_(Z))return q(Z),!1}if(!await UJ(Q,J))return!1;return K("update: repaired Bun global launcher via install.cjs"),!0}async function OQ(){}async function vQ(){return}async function RQ(){return}function NQ(J){let Y=o()?.minimumVersion;if(!Y)return!1;let Z=!r(J,Y);if(Z)K(`Skipping update to ${J} - below minimumVersion ${Y}`);return Z}function YJ(){return R(B(),".update.lock")}async function TJ(){let J=O(),Q=YJ();try{let Y=await J.stat(Q);if(Date.now()-Y.mtimeMs<l)return!1;try{let $=await J.stat(Q);if(Date.now()-$.mtimeMs<l)return!1;await J.unlink(Q)}catch($){if(!_($))return q($),!1}}catch(Y){if(!_(Y))return q(Y),!1}try{return await t(Q,`${process.pid}`,{encoding:"utf8",flag:"wx"}),!0}catch(Y){let Z=M(Y);if(Z==="EEXIST")return!1;if(Z==="ENOENT")try{return await J.mkdir(B()),await t(Q,`${process.pid}`,{encoding:"utf8",flag:"wx"}),!0}catch($){if(M($)==="EEXIST")return!1;return q($),!1}return q(Y),!1}}async function SJ(){let J=O(),Q=YJ();try{if(await J.readFile(Q,{encoding:"utf8"})===`${process.pid}`)await J.unlink(Q)}catch(Y){if(_(Y))return;q(Y)}}async function jJ(){let J=v.isRunningWithBun()||QJ(),Q=null;if(J)Q=await W("bun",["pm","bin","-g"],{cwd:X()});else Q=await W("npm",["-g","config","get","prefix"],{cwd:X()});if(Q.code!==0)return q(Error(`Failed to check ${J?"bun":"npm"} permissions`)),null;return Q.stdout.trim()}async function AJ(){try{let J=await jJ();if(!J)return{hasPermissions:!1,npmPrefix:null};try{return await JJ(J,e.W_OK),{hasPermissions:!0,npmPrefix:J}}catch{return q(new G("Insufficient permissions for global npm install.")),{hasPermissions:!1,npmPrefix:J}}}catch(J){return q(J),{hasPermissions:!1,npmPrefix:null}}}async function wQ(J,Q={}){let Y=J==="stable"?"stable":"latest",Z=Q.timeoutMs??5000,$=await W("npm",["view",`@claudiolabs/claudin@${Y}`,"version","--prefer-online"],{abortSignal:AbortSignal.timeout(Z),cwd:X()});if($.code!==0){if(K(`npm view failed with code ${$.code}`),$.stderr)K(`npm stderr: ${$.stderr.trim()}`);else K("npm stderr: (empty)");if($.stdout)K(`npm stdout: ${$.stdout.trim()}`);return null}return $.stdout.trim()}async function xQ(){let J=await W("npm",["view","@claudiolabs/claudin","dist-tags","--json","--prefer-online"],{abortSignal:AbortSignal.timeout(5000),cwd:X()});if(J.code!==0)return K(`npm view dist-tags failed with code ${J.code}`),{latest:null,stable:null};try{let Q=L(J.stdout.trim());return{latest:typeof Q.latest==="string"?Q.latest:null,stable:typeof Q.stable==="string"?Q.stable:null}}catch(Q){return K(`Failed to parse dist-tags: ${Q}`),{latest:null,stable:null}}}async function UQ(J){return null}async function VQ(){return{latest:null,stable:null}}async function TQ(J){let Y=await W("npm",["view","@claudiolabs/claudin","versions","--json","--prefer-online"],{abortSignal:AbortSignal.timeout(30000),cwd:X()});if(Y.code!==0){if(K(`npm view versions failed with code ${Y.code}`),Y.stderr)K(`npm stderr: ${Y.stderr.trim()}`);return[]}try{return L(Y.stdout.trim()).slice(-J).reverse()}catch(Z){return K(`Failed to parse version history: ${Z}`),[]}}async function SQ(J){if(!await TJ())return q(new G("Another process is currently installing an update")),A("tengu_auto_updater_lock_contention",{pid:process.pid,currentVersion:"99.0.0"}),"in_progress";try{if(await LJ(),!v.isRunningWithBun()&&v.isNpmFromWindowsPath())return q(Error("Windows NPM detected in WSL environment")),A("tengu_auto_updater_windows_npm_in_wsl",{currentVersion:"99.0.0"}),console.error(`
|
|
5
|
+
Error: Windows NPM detected in WSL
|
|
6
|
+
|
|
7
|
+
You're running Claude Code in WSL but using the Windows NPM installation from /mnt/c/.
|
|
8
|
+
This configuration is not supported for updates.
|
|
9
|
+
|
|
10
|
+
To fix this issue:
|
|
11
|
+
1. Install Node.js within your Linux distribution: e.g. sudo apt install nodejs npm
|
|
12
|
+
2. Make sure Linux NPM is in your PATH before the Windows version
|
|
13
|
+
3. Try updating again with 'claude update'
|
|
14
|
+
`),"install_failed";let{hasPermissions:Q}=await AJ();if(!Q)return"no_permissions";let Y=J?`@claudiolabs/claudin@${J}`:"@claudiolabs/claudin",Z=v.isRunningWithBun()||QJ()?"bun":"npm",z=await W(Z,Z==="npm"?["install","-g","--force",Y]:["install","-g",Y],{cwd:X()});if(z.code!==0){let H=new G(`Failed to install new version of claude: ${z.stdout} ${z.stderr}`);return q(H),"install_failed"}if(Z==="npm"&&await RJ()){let H=await W("bun",["install","-g",Y],{cwd:X()});if(H.code!==0)q(new G(`Failed to update bun global install: ${H.stdout} ${H.stderr}`))}return await VJ(),N((H)=>({...H,installMethod:"global"})),"success"}finally{await SJ()}}async function LJ(){let J=S();for(let[,Q]of Object.entries(J))try{let Y=await j(Q);if(!Y)continue;let{filtered:Z,hadAlias:$}=n(Y);if($)await s(Q,Z),K(`Removed claude alias from ${Q}`)}catch(Y){K(`Failed to remove alias from ${Q}: ${Y}`,{level:"error"})}}var G,NJ=4096,wJ,l=300000;var CJ=w(()=>{GJ();P();BJ();_J();b();x();D();I();f();OJ();MJ();a();F();G=class G extends i{};wJ=/ENOENT/i});
|
|
15
|
+
export{uJ as zT,hJ as AT,pJ as BT,cJ as CT,gJ as DT,h as ET,S as FT,n as GT,j as HT,s as IT,yJ as JT,oJ as KT,a as LT,VJ as MT,OQ as NT,vQ as OT,RQ as PT,NQ as QT,YJ as RT,AJ as ST,wQ as TT,xQ as UT,UQ as VT,VQ as WT,TQ as XT,SQ as YT,CJ as ZT};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Vga as G,eha as K}from"./cli-1.0.9-rpw6qq2j.mjs";import{Aha as J,Bha as N,xha as j,zha as M}from"./cli-1.0.9-6x8m34y6.mjs";M();K();N();var q={poll_interval_ms_not_at_capacity:2000,poll_interval_ms_at_capacity:600000,non_exclusive_heartbeat_interval_ms:0,multisession_poll_interval_ms_not_at_capacity:2000,multisession_poll_interval_ms_partial_capacity:2000,multisession_poll_interval_ms_at_capacity:600000,reclaim_older_than_ms:5000,session_keepalive_interval_v2_ms:120000};var B={message:"must be 0 (disabled) or ≥100ms"},P=J(()=>j.object({poll_interval_ms_not_at_capacity:j.number().int().min(100),poll_interval_ms_at_capacity:j.number().int().refine((b)=>b===0||b>=100,B),non_exclusive_heartbeat_interval_ms:j.number().int().min(0).default(0),multisession_poll_interval_ms_not_at_capacity:j.number().int().min(100).default(q.multisession_poll_interval_ms_not_at_capacity),multisession_poll_interval_ms_partial_capacity:j.number().int().min(100).default(q.multisession_poll_interval_ms_partial_capacity),multisession_poll_interval_ms_at_capacity:j.number().int().refine((b)=>b===0||b>=100,B).default(q.multisession_poll_interval_ms_at_capacity),reclaim_older_than_ms:j.number().int().min(1).default(5000),session_keepalive_interval_v2_ms:j.number().int().min(0).default(120000)}).refine((b)=>b.non_exclusive_heartbeat_interval_ms>0||b.poll_interval_ms_at_capacity>0,{message:"at-capacity liveness requires non_exclusive_heartbeat_interval_ms > 0 or poll_interval_ms_at_capacity > 0"}).refine((b)=>b.non_exclusive_heartbeat_interval_ms>0||b.multisession_poll_interval_ms_at_capacity>0,{message:"at-capacity liveness requires non_exclusive_heartbeat_interval_ms > 0 or multisession_poll_interval_ms_at_capacity > 0"}));function $(){let b=G("tengu_bridge_poll_interval_config",q,300000),x=P().safeParse(b);return x.success?x.data:q}
|
|
2
|
+
export{q as Ib,$ as Jb};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{de as c,je as Eq}from"./cli-1.0.9-y1db6cvh.mjs";import{$s as wq,AL as I,BL as Gq,HL as Cq,KL as b,LL as Lq,OL as Hq,PL as Jq,RK as v,RL as vq,SK as m,SL as y,TL as Qq,UK as Oq,UL as Xq,VL as Yq,WL as $q,XL as d,_L as Dq,_s as l,bp as s,cp as Tq,fp as t,hp as Mq,lL as n,lp as i,np as Rq,rL as e,rp as A,sL as P,tp as D,up as Aq,vp as h,wL as jq,wp as S,xL as O,xp as Fq,yL as qq}from"./cli-1.0.9-67c9vgsq.mjs";import{Mfa as a,Pca as F,Rca as L,Ufa as Bq,cda as _q,kca as V,sca as Kq}from"./cli-1.0.9-ej3ahs6j.mjs";import{gja as p,kja as Wq}from"./cli-1.0.9-ympvk0av.mjs";import{$ja as Uq,Tja as o,Wja as N}from"./cli-1.0.9-zrphfr1b.mjs";import{$la as f,Spa as xq}from"./cli-1.0.9-3ye1460y.mjs";import{Bra as Zq}from"./cli-1.0.9-j2832pm5.mjs";import{dirname as Nq,join as u}from"path";function g(q){if(!k.includes(q))throw Error(`Invalid scope "${q}". Must be one of: ${k.join(", ")}`)}function JG(q){return k.includes(q)}function zq(q){return q==="project"||q==="local"?f():void 0}function QG(q){return F("projectSettings")?.enabledPlugins?.[q]===!0}function Vq(q){let H=q.includes("@"),G=["local","project","user"];for(let X of G){let J=F(D(X))?.enabledPlugins;if(!J)continue;for(let Y of Object.keys(J))if(H?Y===q:Y.startsWith(`${q}@`))return{pluginId:Y,scope:X}}return null}function bq(q,H){let{name:G,marketplace:X}=A(q);return H.find((J)=>{if(J.name===q||J.name===G)return!0;if(X&&J.source)return J.name===G&&J.source.includes(`@${X}`);return!1})}function yq(q){let{name:H}=A(q),G=O();if(G.plugins[q]?.length)return{pluginId:q,pluginName:H};let X=Object.keys(G.plugins).find((J)=>{let{name:Y}=A(J);return Y===H&&(G.plugins[J]?.length??0)>0});if(X)return{pluginId:X,pluginName:H};return null}function kq(q){let G=O().plugins[q];if(!G||G.length===0)return{scope:"user"};let X=f(),J=G.find((Z)=>Z.scope==="local"&&Z.projectPath===X);if(J)return{scope:J.scope,projectPath:J.projectPath};let Y=G.find((Z)=>Z.scope==="project"&&Z.projectPath===X);if(Y)return{scope:Y.scope,projectPath:Y.projectPath};let z=G.find((Z)=>Z.scope==="user");if(z)return{scope:z.scope};return{scope:G[0].scope,projectPath:G[0].projectPath}}async function XG(q,H="user"){g(H);let{name:G,marketplace:X}=A(q),J,Y,z;if(X){let $=await P(q);if($)J=$.entry,Y=X,z=$.marketplaceInstallLocation}else{let $=await n();for(let[B,K]of Object.entries($))try{let M=(await e(B)).plugins.find((R)=>R.name===G);if(M){J=M,Y=B,z=K.installLocation;break}}catch(x){a(o(x));continue}}if(!J||!Y){let $=X?`marketplace "${X}"`:"any configured marketplace";return{success:!1,message:`Plugin "${G}" not found in ${$}`}}let Z=J,W=`${Z.name}@${Y}`,Q=await Jq({pluginId:W,entry:Z,scope:H,marketplaceInstallLocation:z});if(!Q.ok)switch(Q.reason){case"local-source-no-location":return{success:!1,message:`Cannot install local plugin "${Q.pluginName}" without marketplace install location`};case"settings-write-failed":return{success:!1,message:`Failed to update settings: ${Q.message}`};case"resolution-failed":return{success:!1,message:Hq(Q.resolution)};case"blocked-by-policy":return{success:!1,message:`Plugin "${Q.pluginName}" is blocked by your organization's policy and cannot be installed`};case"dependency-blocked-by-policy":return{success:!1,message:`Plugin "${Q.pluginName}" depends on "${Q.blockedDependency}", which is blocked by your organization's policy`}}return{success:!0,message:`Successfully installed plugin: ${W} (scope: ${H})${Q.depNote}`,pluginId:W,pluginName:Z.name,scope:H}}async function YG(q,H="user",G=!0){g(H);let{enabled:X,disabled:J}=await d(),Y=[...X,...J],z=bq(q,Y),Z=D(H),W=F(Z),Q,$;if(z)Q=Object.keys(W?.enabledPlugins??{}).find((U)=>U===q||U===z.name||U.startsWith(`${z.name}@`))??(q.includes("@")?q:z.name),$=z.name;else{let U=yq(q);if(!U)return{success:!1,message:`Plugin "${q}" not found in installed plugins`};Q=U.pluginId,$=U.pluginName}let B=zq(H),x=O().plugins[Q],M=x?.find((U)=>U.scope===H&&U.projectPath===B);if(!M){let{scope:U}=kq(Q);if(U!==H&&x&&x.length>0){if(U==="project")return{success:!1,message:`Plugin "${q}" is enabled at project scope (.claudin/settings.json, shared with your team). To disable just for you: claudin plugin disable ${q} --scope local`};return{success:!1,message:`Plugin "${q}" is installed in ${U} scope, not ${H}. Use --scope ${U} to uninstall.`}}return{success:!1,message:`Plugin "${q}" is not installed in ${H} scope. Use --scope to specify the correct scope.`}}let R=M.installPath,_={...W?.enabledPlugins};_[Q]=void 0,L(Z,{enabledPlugins:_}),v(),qq(Q,H,B);let w=O().plugins[Q],j=!w||w.length===0;if(j&&R)await m(R);if(j){if(t(Q),G)await s(Q)}let C=h(Q,Y),E=S(C);return{success:!0,message:`Successfully uninstalled plugin: ${$} (scope: ${H})${E}`,pluginId:Q,pluginName:$,scope:H,reverseDependents:C.length>0?C:void 0}}async function r(q,H,G){let X=H?"enable":"disable";if(i(q)){let{error:_}=L("userSettings",{enabledPlugins:{...F("userSettings")?.enabledPlugins,[q]:H}});if(_)return{success:!1,message:`Failed to ${X} built-in plugin: ${_.message}`};v();let{name:T}=A(q);return{success:!0,message:`Successfully ${X}d built-in plugin: ${T}`,pluginId:q,pluginName:T,scope:"user"}}if(G)g(G);let J,Y,z=Vq(q);if(G)if(Y=G,z)J=z.pluginId;else if(q.includes("@"))J=q;else return{success:!1,message:`Plugin "${q}" not found in settings. Use plugin@marketplace format.`};else if(z)J=z.pluginId,Y=z.scope;else if(q.includes("@"))J=q,Y="user";else return{success:!1,message:`Plugin "${q}" not found in any editable settings scope. Use plugin@marketplace format.`};if(H&&l(J))return{success:!1,message:`Plugin "${J}" is blocked by your organization's policy and cannot be enabled`};let Z=D(Y),W=F(Z)?.enabledPlugins?.[J],Q={user:0,project:1,local:2},$=G&&z&&Q[G]>Q[z.scope];if(G&&W===void 0&&z&&z.scope!==G&&!$)return{success:!1,message:`Plugin "${q}" is installed at ${z.scope} scope, not ${G}. Use --scope ${z.scope} or omit --scope to auto-detect.`};let B=G&&!$?W===!0:c().has(J);if(H===B)return{success:!1,message:`Plugin "${q}" is already ${H?"enabled":"disabled"}${G?` at ${G} scope`:""}`};let K;if(!H){let{enabled:_,disabled:T}=await d(),w=h(J,[..._,...T]);if(w.length>0)K=w}let{error:x}=L(Z,{enabledPlugins:{...F(Z)?.enabledPlugins,[J]:H}});if(x)return{success:!1,message:`Failed to ${X} plugin: ${x.message}`};v();let{name:M}=A(J),R=S(K);return{success:!0,message:`Successfully ${X}d plugin: ${M} (scope: ${Y})${R}`,pluginId:J,pluginName:M,scope:Y,reverseDependents:K}}async function $G(q,H){return r(q,!0,H)}async function zG(q,H){return r(q,!1,H)}async function ZG(){let q=c();if(q.size===0)return{success:!0,message:"No enabled plugins to disable"};let H=[],G=[];for(let[X]of q){let J=await r(X,!1);if(J.success)H.push(X);else G.push(`${X}: ${J.message}`)}if(G.length>0)return{success:!1,message:`Disabled ${H.length} ${V(H.length,"plugin")}, ${G.length} failed:
|
|
2
|
+
${G.join(`
|
|
3
|
+
`)}`};return{success:!0,message:`Disabled ${H.length} ${V(H.length,"plugin")}`}}async function xG(q,H){let{name:G,marketplace:X}=A(q),J=X?`${G}@${X}`:q,Y=await P(q);if(!Y)return{success:!1,message:`Plugin "${G}" not found`,pluginId:J,scope:H};let{entry:z,marketplaceInstallLocation:Z}=Y,Q=I().plugins[J];if(!Q||Q.length===0)return{success:!1,message:`Plugin "${G}" is not installed`,pluginId:J,scope:H};let $=zq(H),B=Q.find((K)=>K.scope===H&&K.projectPath===$);if(!B){let K=$?`${H} (${$})`:H;return{success:!1,message:`Plugin "${G}" is not installed at scope ${K}`,pluginId:J,scope:H}}return fq({pluginId:J,pluginName:G,entry:z,marketplaceInstallLocation:Z,installation:B,scope:H,projectPath:$})}async function fq({pluginId:q,pluginName:H,entry:G,marketplaceInstallLocation:X,installation:J,scope:Y,projectPath:z}){let Z=p(),W=J.version,Q,$,B=!1,K;if(typeof G.source!=="string"){let x=await Yq(G.source,{manifest:{name:G.name}});Q=x.path,B=!0,K=x.gitCommitSha,$=await b(q,G.source,x.manifest,x.path,G.version,x.gitCommitSha)}else{let x;try{x=await Z.stat(X)}catch(T){if(N(T))return{success:!1,message:`Marketplace directory not found at ${X}`,pluginId:q,scope:Y};throw T}let M=x.isDirectory()?X:Nq(X);Q=u(M,G.source);try{await Z.stat(Q)}catch(T){if(N(T))return{success:!1,message:`Plugin source not found at ${Q}`,pluginId:q,scope:Y};throw T}let R,_=u(Q,".claude-plugin","plugin.json");try{R=await $q(_,G.name,G.source)}catch{}$=await b(q,G.source,R,Q,G.version)}try{let x=y(q,$),M=Qq(q,$);if(J.version===$||J.installPath===x||J.installPath===M)return{success:!0,message:`${H} is already at the latest version (${$}).`,pluginId:q,newVersion:$,oldVersion:W,alreadyUpToDate:!0,scope:Y};x=await Xq(Q,q,$,G);let _=J.installPath;if(Gq(q,Y,z,x,$,K),_&&_!==x){let j=I();if(!Object.values(j.plugins).some((E)=>E.some((U)=>U.installPath===_)))await m(_)}let T=z?`${Y} (${z})`:Y;return{success:!0,message:`Plugin "${H}" updated from ${W||"unknown"} to ${$} for scope ${T}. Restart to apply changes.`,pluginId:q,newVersion:$,oldVersion:W,scope:Y}}finally{if(B&&Q!==y(q,$))await Z.rm(Q,{recursive:!0,force:!0})}}var k,HG;var hq=Zq(()=>{xq();Rq();Uq();Wq();Bq();Oq();Fq();Cq();jq();Tq();Aq();vq();Dq();Mq();wq();Eq();Lq();_q();Kq();k=["user","project","local"],HG=["user","project","local","managed"]});
|
|
4
|
+
export{k as Sd,HG as Td,JG as Ud,QG as Vd,kq as Wd,XG as Xd,YG as Yd,$G as Zd,zG as _d,ZG as $d,xG as ae,hq as be};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{BC as p,FB as P,LB as b,Ou as T,RB as j,dP as f,eP as L,lR as i,oP as r,wC as K,yC as I,zC as _}from"./cli-1.0.9-67c9vgsq.mjs";import{xV as A,yV as n}from"./cli-1.0.9-3n2084tg.mjs";import{ria as E,uia as C}from"./cli-1.0.9-jq2h9s5r.mjs";import{gja as M,kja as m,uja as Z,xia as F,xja as u,zia as S}from"./cli-1.0.9-ympvk0av.mjs";import{Rla as Y,Sla as k,Spa as c,upa as v}from"./cli-1.0.9-3ye1460y.mjs";n();c();r();C();p();P();S();u();m();i();k();import*as H from"path";var d=1000,o=500,l=300,e=2000,h=typeof Bun<"u",x=null,y=null,Q=new Set,B=!1,D=!1,V=!1,X=null,W=Y(),U=null;async function t(){if(B||D)return;if(B=!0,!V)V=!0,_(()=>{f(),W.emit()});let q=await a();if(q.length===0)return;Z(`Watching for changes in skill/command directories: ${q.join(", ")}...`),x=A.watch(q,{persistent:!1,ignoreInitial:!0,depth:2,awaitWriteFinish:{stabilityThreshold:U?.stabilityThreshold??d,pollInterval:U?.pollInterval??o},ignored:(w,z)=>{if(z&&!z.isFile()&&!z.isDirectory())return!0;return w.split(H.sep).some((J)=>J===".git")},ignorePermissionErrors:!0,usePolling:h,interval:U?.chokidarInterval??e,atomic:!0}),x.on("add",$),x.on("change",$),x.on("unlink",$),X=F(async()=>{await g()})}function g(){if(D=!0,X)X(),X=null;let q=Promise.resolve();if(x)q=x.close(),x=null;if(y)clearTimeout(y),y=null;return Q.clear(),W.clear(),q}var s=W.subscribe;async function a(){let q=M(),w=[],z=K("userSettings","skills");if(z)try{await q.stat(z),w.push(z)}catch{}let J=K("userSettings","commands");if(J)try{await q.stat(J),w.push(J)}catch{}let N=K("projectSettings","skills");if(N)try{let G=H.resolve(N);await q.stat(G),w.push(G)}catch{}let O=K("projectSettings","commands");if(O)try{let G=H.resolve(O);await q.stat(G),w.push(G)}catch{}for(let G of v()){let R=H.join(G,".claudin","skills");try{await q.stat(R),w.push(R)}catch{}}return w}function $(q){Z(`Detected skill change: ${q}`),E("tengu_skill_file_changed",{source:"chokidar"}),qq(q)}function qq(q){if(Q.add(q),y)clearTimeout(y);y=setTimeout(async()=>{y=null;let w=[...Q];Q.clear();let z=await j("skills",w[0]);if(b(z)){Z(`ConfigChange hook blocked skill reload (${w.length} paths)`);return}I(),L(),T(),W.emit()},U?.reloadDebounce??l)}async function wq(q){if(x)await x.close(),x=null;if(y)clearTimeout(y),y=null;Q.clear(),W.clear(),B=!1,D=!1,U=q??null}var Zq={initialize:t,dispose:g,subscribe:s,resetForTesting:wq};
|
|
2
|
+
export{Zq as fb};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Yh as j,_h as l}from"./cli-1.0.9-k9k4mjr2.mjs";import{ii as W,oi as i}from"./cli-1.0.9-tkk94r4t.mjs";import{AC as L,BC as h,Bw as N,Cw as g,FB as d,JB as E,KB as C,Ou as _,SN as M,UN as n,Uy as V,Vj as Z,Wj as P,Wy as S,Zi as Y,_i as A,eP as x,eT as G,hx as U,ix as m,oP as s,rO as b,rT as r,sO as o,sT as R,tT as f,tw as B,uT as F,vT as u,wT as t,yv as $,yw as p,zv as D}from"./cli-1.0.9-67c9vgsq.mjs";import{n9 as Q,t9 as k}from"./cli-1.0.9-ppa9xdxq.mjs";import{A$ as v,Y9 as O,d_ as I,z$ as X}from"./cli-1.0.9-ej3ahs6j.mjs";import{Spa as T,hpa as J,tpa as K}from"./cli-1.0.9-3ye1460y.mjs";import{Bra as y,Cra as w}from"./cli-1.0.9-j2832pm5.mjs";function Mq(H=new Set){let z=H.size>0;if(u.cache.clear?.(),F.cache.clear?.(),f.cache.clear?.(),Y.cache.clear?.(),W(),x(),!z)N();if(R(null),K(null),b(),_(),G("session_start"),V(),X.clear(),Z(),!z)B();if(Q(),M(),!z)U();J(H),O(),L(),$(),j(),E(),import("./utils-1.0.9-ek4v8a00.mjs").then(({clearWebFetchCache:q})=>q()),import("./ToolSearchTool-1.0.9-98prvmmb.mjs").then(({clearToolSearchDescriptionCache:q})=>q()),import("./loadAgentsDir-1.0.9-5v5xmfae.mjs").then(({clearAgentDefinitionsCache:q})=>q()),import("./prompt-1.0.9-va3886b6.mjs").then(({clearPromptCache:q})=>q())}var c=y(()=>{T();s();A();t();i();p();m();g();P();o();D();l();h();d();n();r();k();I();v();S();C()});
|
|
2
|
+
export{Mq as Wh,c as Xh};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{A0 as d,L0 as a,LY as u,TZ as QQ,UZ as uQ,e0 as g,g0 as h,m0 as RQ,v0 as jQ,w0 as aQ}from"./cli-1.0.9-q3fzs7rd.mjs";import{s3 as S,t3 as k,u3 as f}from"./cli-1.0.9-e491drav.mjs";import{v3 as v}from"./cli-1.0.9-ez2pcj03.mjs";import{J3 as n,L3 as t,Q3 as YV}from"./cli-1.0.9-d8rq80ph.mjs";import{$7 as XV,G7 as $Q,J7 as P,M7 as bQ}from"./cli-1.0.9-sjqe138z.mjs";import{Mfa as CQ,Sda as mQ,Ufa as VV,Vda as x,oda as fQ,oea as QV,pda as eQ}from"./cli-1.0.9-ej3ahs6j.mjs";import{Zfa as AQ,_fa as sQ}from"./cli-1.0.9-x4t4nqd2.mjs";import{pia as r,qia as nQ}from"./cli-1.0.9-az9m58wa.mjs";import{uja as D,xja as iQ}from"./cli-1.0.9-ympvk0av.mjs";import{Mqa as i,cra as tQ}from"./cli-1.0.9-1f0bxa2a.mjs";import{Bra as F,xra as M}from"./cli-1.0.9-j2832pm5.mjs";function XQ(){let X=VQ.useContext(QQ);if(!X)throw Error("useTerminalSize must be used within an Ink App component");return X}var VQ;var YQ=F(()=>{uQ();VQ=M(v(),1)});function ZQ(X,Q){if(Q.escape)return"escape";if(Q.return)return"enter";if(Q.tab)return"tab";if(Q.backspace)return"backspace";if(Q.delete)return"delete";if(Q.upArrow)return"up";if(Q.downArrow)return"down";if(Q.leftArrow)return"left";if(Q.rightArrow)return"right";if(Q.pageUp)return"pageup";if(Q.pageDown)return"pagedown";if(Q.wheelUp)return"wheelup";if(Q.wheelDown)return"wheeldown";if(Q.home)return"home";if(Q.end)return"end";if(X.length===1)return X.toLowerCase();return null}var JQ=()=>{};function GQ(X){let Q=X.split("+"),V={key:"",ctrl:!1,alt:!1,shift:!1,meta:!1,super:!1};for(let Z of Q){let Y=Z.toLowerCase();switch(Y){case"ctrl":case"control":V.ctrl=!0;break;case"alt":case"opt":case"option":V.alt=!0;break;case"shift":V.shift=!0;break;case"meta":V.meta=!0;break;case"cmd":case"command":case"super":case"win":V.super=!0;break;case"esc":V.key="escape";break;case"return":V.key="enter";break;case"space":V.key=" ";break;case"↑":V.key="up";break;case"↓":V.key="down";break;case"←":V.key="left";break;case"→":V.key="right";break;default:V.key=Y;break}}return V}function yQ(X){if(X===" ")return[GQ("space")];return X.trim().split(/\s+/).map(GQ)}function hQ(X){let Q=[];if(X.ctrl)Q.push("ctrl");if(X.alt)Q.push("alt");if(X.shift)Q.push("shift");if(X.meta)Q.push("meta");if(X.super)Q.push("cmd");let V=kQ(X.key);return Q.push(V),Q.join("+")}function kQ(X){switch(X){case"escape":return"Esc";case" ":return"Space";case"tab":return"tab";case"enter":return"Enter";case"backspace":return"Backspace";case"delete":return"Delete";case"up":return"↑";case"down":return"↓";case"left":return"←";case"right":return"→";case"pageup":return"PageUp";case"pagedown":return"PageDown";case"home":return"Home";case"end":return"End";default:return X}}function l(X){return X.map(hQ).join(" ")}function BV(X){let Q=[];for(let V of X)for(let[Z,Y]of Object.entries(V.bindings))Q.push({chord:yQ(Z),action:Y,context:V.context});return Q}var qQ=()=>{};function LQ(X,Q,V){let Z=V.findLast((Y)=>Y.action===X&&Y.context===Q);return Z?l(Z.chord):void 0}function gQ(X,Q){let V=ZQ(X,Q);if(!V)return null;let Z=Q.escape?!1:Q.meta;return{key:V,ctrl:Q.ctrl,alt:Z,shift:Q.shift,meta:Z,super:Q.super}}function HQ(X,Q){return X.key===Q.key&&X.ctrl===Q.ctrl&&X.shift===Q.shift&&(X.alt||X.meta)===(Q.alt||Q.meta)&&X.super===Q.super}function lQ(X,Q){if(X.length>=Q.chord.length)return!1;for(let V=0;V<X.length;V++){let Z=X[V],Y=Q.chord[V];if(!Z||!Y)return!1;if(!HQ(Z,Y))return!1}return!0}function cQ(X,Q){if(X.length!==Q.chord.length)return!1;for(let V=0;V<X.length;V++){let Z=X[V],Y=Q.chord[V];if(!Z||!Y)return!1;if(!HQ(Z,Y))return!1}return!0}function zQ(X,Q,V,Z,Y){if(Q.escape&&Y!==null)return{type:"chord_cancelled"};let J=gQ(X,Q);if(!J){if(Y!==null)return{type:"chord_cancelled"};return{type:"none"}}let G=Y?[...Y,J]:[J],q=new Set(V),B=Z.filter((L)=>q.has(L.context)),z=new Map;for(let L of B)if(L.chord.length>G.length&&lQ(G,L))z.set(l(L.chord),L.action);let N=!1;for(let L of z.values())if(L!==null){N=!0;break}if(N)return{type:"chord_started",pending:G};let H;for(let L of B)if(cQ(G,L))H=L;if(H){if(H.action===null)return{type:"unbound"};return{type:"match",action:H.action}}if(Y!==null)return{type:"chord_cancelled"};return{type:"none"}}var BQ=F(()=>{JQ();qQ()});function MV(X){let Q=c.c(24),{bindings:V,pendingChordRef:Z,pendingChord:Y,setPendingChord:J,activeContexts:G,registerActiveContext:q,unregisterActiveContext:B,handlerRegistryRef:z,children:N}=X,H;if(Q[0]!==V)H=(U,O)=>LQ(U,O,V),Q[0]=V,Q[1]=H;else H=Q[1];let L=H,_;if(Q[2]!==z)_=(U)=>{let O=z.current;if(!O)return dQ;if(!O.has(U.action))O.set(U.action,new Set);return O.get(U.action).add(U),()=>{let I=O.get(U.action);if(I){if(I.delete(U),I.size===0)O.delete(U.action)}}},Q[2]=z,Q[3]=_;else _=Q[3];let b=_,E;if(Q[4]!==G||Q[5]!==z)E=(U)=>{let O=z.current;if(!O)return!1;let I=O.get(U);if(!I||I.size===0)return!1;for(let e of I)if(G.has(e.context))return e.handler(),!0;return!1},Q[4]=G,Q[5]=z,Q[6]=E;else E=Q[6];let K=E,j;if(Q[7]!==V||Q[8]!==Z)j=(U,O,I)=>zQ(U,O,I,V,Z.current),Q[7]=V,Q[8]=Z,Q[9]=j;else j=Q[9];let A;if(Q[10]!==G||Q[11]!==V||Q[12]!==L||Q[13]!==K||Q[14]!==Y||Q[15]!==q||Q[16]!==b||Q[17]!==J||Q[18]!==j||Q[19]!==B)A={resolve:j,setPendingChord:J,getDisplayText:L,bindings:V,pendingChord:Y,activeContexts:G,registerActiveContext:q,unregisterActiveContext:B,registerHandler:b,invokeAction:K},Q[10]=G,Q[11]=V,Q[12]=L,Q[13]=K,Q[14]=Y,Q[15]=q,Q[16]=b,Q[17]=J,Q[18]=j,Q[19]=B,Q[20]=A;else A=Q[20];let w=A,W;if(Q[21]!==N||Q[22]!==w)W=S(NQ.Provider,{value:w,children:N}),Q[21]=N,Q[22]=w,Q[23]=W;else W=Q[23];return W}function dQ(){}function y(){return m.useContext(NQ)}function SV(X,Q){let V=c.c(5),Z=Q===void 0?!0:Q,Y=y(),J,G;if(V[0]!==X||V[1]!==Z||V[2]!==Y)J=()=>{if(!Y||!Z)return;return Y.registerActiveContext(X),()=>{Y.unregisterActiveContext(X)}},G=[X,Y,Z],V[0]=X,V[1]=Z,V[2]=Y,V[3]=J,V[4]=G;else J=V[3],G=V[4];m.useLayoutEffect(J,G)}var c,m,NQ;var UQ=F(()=>{BQ();f();c=M(u(),1),m=M(v(),1),NQ=m.createContext(null)});function TV(X,Q,V={}){let{context:Z="Global",isActive:Y=!0}=V,J=y();C.useEffect(()=>{if(!J||!Y)return;return J.registerHandler({action:X,context:Z,handler:Q})},[X,Z,Q,J,Y]);let G=C.useCallback((q,B,z)=>{if(!J)return;let N=[...J.activeContexts,Z,"Global"],H=[...new Set(N)],L=J.resolve(q,B,H);switch(L.type){case"match":if(J.setPendingChord(null),L.action===X){if(Q()!==!1)z.stopImmediatePropagation()}break;case"chord_started":J.setPendingChord(L.pending),z.stopImmediatePropagation();break;case"chord_cancelled":J.setPendingChord(null);break;case"unbound":J.setPendingChord(null),z.stopImmediatePropagation();break;case"none":break}},[X,Z,Q,J]);d(G,{isActive:Y})}function OQ(X,Q={}){let{context:V="Global",isActive:Z=!0}=Q,Y=y();C.useEffect(()=>{if(!Y||!Z)return;let G=[];for(let[q,B]of Object.entries(X))G.push(Y.registerHandler({action:q,context:V,handler:B}));return()=>{for(let q of G)q()}},[V,X,Y,Z]);let J=C.useCallback((G,q,B)=>{if(!Y)return;let z=[...Y.activeContexts,V,"Global"],N=[...new Set(z)],H=Y.resolve(G,q,N);switch(H.type){case"match":if(Y.setPendingChord(null),H.action in X){let L=X[H.action];if(L&&L()!==!1)B.stopImmediatePropagation()}break;case"chord_started":Y.setPendingChord(H.pending),B.stopImmediatePropagation();break;case"chord_cancelled":Y.setPendingChord(null);break;case"unbound":Y.setPendingChord(null),B.stopImmediatePropagation();break;case"none":break}},[V,X,Y]);d(J,{isActive:Z})}var C;var _Q=F(()=>{a();UQ();C=M(v(),1)});function o(X,Q,V){let Z=R.useRef(0),Y=R.useRef(void 0),J=R.useCallback(()=>{if(Y.current)clearTimeout(Y.current),Y.current=void 0},[]);return R.useEffect(()=>{return()=>{J()}},[J]),R.useCallback(()=>{let G=Date.now();if(G-Z.current<=FQ&&Y.current!==void 0)J(),X(!1),Q();else V?.(),X(!0),J(),Y.current=setTimeout((z,N)=>{z(!1),N.current=void 0},FQ,X,Y);Z.current=G},[X,Q,V,J])}var R,FQ=800;var WQ=F(()=>{R=M(v(),1)});function wQ(X,Q,V,Z=!0){let{exit:Y}=jQ(),[J,G]=T.useState({pending:!1,keyName:null}),q=T.useMemo(()=>V??Y,[V,Y]),B=o((_)=>G({pending:_,keyName:"Ctrl-C"}),q),z=o((_)=>G({pending:_,keyName:"Ctrl-D"}),q),N=T.useCallback(()=>{if(Q?.())return;B()},[B,Q]),H=T.useCallback(()=>{z()},[z]),L=T.useMemo(()=>({"app:interrupt":N,"app:exit":H}),[N,H]);return X(L,{context:"Global",isActive:Z}),J}var T;var MQ=F(()=>{aQ();WQ();T=M(v(),1)});function $V(X,Q,V){return wQ(OQ,Q,X,V)}var oQ=F(()=>{_Q();MQ()});function IQ(){return $.useContext(s)!==null}function pV(X){let Q=SQ.c(3),V=$.useContext(s),Z;if(Q[0]!==V||Q[1]!==X)Z=V?{rows:V.rows,columns:V.columns}:X,Q[0]=V,Q[1]=X,Q[2]=Z;else Z=Q[2];return Z}function xV(){return $.useContext(s)?.scrollRef??null}var SQ,$,s;var KQ=F(()=>{SQ=M(u(),1),$=M(v(),1),s=$.createContext(null)});function EQ(X){let Q=TQ.c(21),{width:V,color:Z,char:Y,padding:J,title:G}=X,q=Y===void 0?"─":Y,B=J===void 0?0:J,{columns:z}=XQ(),N=Math.max(0,(V??z)-B);if(G){let b=AQ(G)+2,E=Math.max(0,N-b),K=Math.floor(E/2),j=E-K,A=!Z,w;if(Q[0]!==q||Q[1]!==K)w=q.repeat(K),Q[0]=q,Q[1]=K,Q[2]=w;else w=Q[2];let W;if(Q[3]!==G)W=S(h,{dimColor:!0,children:S(RQ,{children:G})}),Q[3]=G,Q[4]=W;else W=Q[4];let U;if(Q[5]!==q||Q[6]!==j)U=q.repeat(j),Q[5]=q,Q[6]=j,Q[7]=U;else U=Q[7];let O;if(Q[8]!==Z||Q[9]!==A||Q[10]!==w||Q[11]!==W||Q[12]!==U)O=k(h,{color:Z,dimColor:A,children:[w," ",W," ",U]}),Q[8]=Z,Q[9]=A,Q[10]=w,Q[11]=W,Q[12]=U,Q[13]=O;else O=Q[13];return O}let H=!Z,L;if(Q[14]!==q||Q[15]!==N)L=q.repeat(N),Q[14]=q,Q[15]=N,Q[16]=L;else L=Q[16];let _;if(Q[17]!==Z||Q[18]!==H||Q[19]!==L)_=S(h,{color:Z,dimColor:H,children:L}),Q[17]=Z,Q[18]=H,Q[19]=L,Q[20]=_;else _=Q[20];return _}var TQ;var DQ=F(()=>{YQ();sQ();a();f();TQ=M(u(),1)});function oV(X){let Q=PQ.c(9),{children:V,color:Z}=X;if(IQ()){let q;if(Q[0]!==V)q=S(g,{flexDirection:"column",paddingX:1,flexShrink:0,children:V}),Q[0]=V,Q[1]=q;else q=Q[1];return q}let Y;if(Q[2]!==Z)Y=S(EQ,{color:Z}),Q[2]=Z,Q[3]=Y;else Y=Q[3];let J;if(Q[4]!==V)J=S(g,{flexDirection:"column",paddingX:2,children:V}),Q[4]=V,Q[5]=J;else J=Q[5];let G;if(Q[6]!==Y||Q[7]!==J)G=k(g,{flexDirection:"column",paddingTop:1,children:[Y,J]}),Q[6]=Y,Q[7]=J,Q[8]=G;else G=Q[8];return G}var PQ;var rQ=F(()=>{KQ();a();DQ();f();PQ=M(u(),1)});async function ZV(X="claude_code_guest_pass"){let{accessToken:Q,orgUUID:V}=await n(),Z={...t(Q),"x-organization-uuid":V},Y=`${r().BASE_API_URL}/api/oauth/organizations/${V}/referral/eligibility`;return(await i.get(Y,{headers:Z,params:{campaign:X},timeout:5000})).data}async function ZX(X="claude_code_guest_pass"){let{accessToken:Q,orgUUID:V}=await n(),Z={...t(Q),"x-organization-uuid":V},Y=`${r().BASE_API_URL}/api/oauth/organizations/${V}/referral/redemptions`;return(await i.get(Y,{headers:Z,params:{campaign:X},timeout:1e4})).data}function xQ(){return!!(P()?.organizationUuid&&$Q()&&bQ()==="max")}function JX(){if(!xQ())return{eligible:!1,needsRefresh:!1,hasCache:!1};let X=P()?.organizationUuid;if(!X)return{eligible:!1,needsRefresh:!1,hasCache:!1};let V=x().passesEligibilityCache?.[X];if(!V)return{eligible:!1,needsRefresh:!0,hasCache:!1};let{eligible:Z,timestamp:Y}=V,G=Date.now()-Y>pQ;return{eligible:Z,needsRefresh:G,hasCache:!0}}function GX(X){let Q=JV[X.currency]??`${X.currency} `,V=X.amount_minor_units/100,Z=V%1===0?V.toString():V.toFixed(2);return`${Q}${Z}`}function qX(){let X=P()?.organizationUuid;if(!X)return null;return x().passesEligibilityCache?.[X]?.referrer_reward??null}function LX(){let X=P()?.organizationUuid;if(!X)return null;return x().passesEligibilityCache?.[X]?.remaining_passes??null}async function vQ(){if(p)return D("Passes: Reusing in-flight eligibility fetch"),p;let X=P()?.organizationUuid;if(!X)return null;return p=(async()=>{try{let Q=await ZV(),V={...Q,timestamp:Date.now()};return mQ((Z)=>({...Z,passesEligibilityCache:{...Z.passesEligibilityCache,[X]:V}})),D(`Passes eligibility cached for org ${X}: ${Q.eligible}`),Q}catch(Q){return D("Failed to fetch and cache passes eligibility"),CQ(Q),null}finally{p=null}})(),p}async function GV(){if(!xQ())return null;let X=P()?.organizationUuid;if(!X)return null;let V=x().passesEligibilityCache?.[X],Z=Date.now();if(!V)return D("Passes: No cache, fetching eligibility in background (command unavailable this session)"),vQ(),null;if(Z-V.timestamp>pQ){D("Passes: Cache stale, returning cached data and refreshing in background"),vQ();let{timestamp:G,...q}=V;return q}D("Passes: Using fresh cached eligibility data");let{timestamp:Y,...J}=V;return J}async function HX(){if(fQ())return;GV()}var pQ=86400000,p=null,JV;var qV=F(()=>{tQ();nQ();XV();QV();iQ();VV();eQ();YV();JV={USD:"$",EUR:"€",GBP:"£",BRL:"R$",CAD:"CA$",AUD:"A$",NZD:"NZ$",SGD:"S$"}});
|
|
2
|
+
export{XQ as vX,YQ as wX,GQ as xX,yQ as yX,l as zX,BV as AX,qQ as BX,LQ as CX,zQ as DX,BQ as EX,MV as FX,y as GX,SV as HX,UQ as IX,TV as JX,OQ as KX,_Q as LX,o as MX,WQ as NX,$V as OX,oQ as PX,s as QX,IQ as RX,pV as SX,xV as TX,KQ as UX,EQ as VX,DQ as WX,oV as XX,rQ as YX,ZX,JX as _X,GX as $X,qX as aY,LX as bY,GV as cY,HX as dY,qV as eY};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{G1 as k,I1 as w}from"./cli-1.0.9-vcf21zvy.mjs";import{$7 as v,H7 as j}from"./cli-1.0.9-sjqe138z.mjs";import{Uga as d,dha as h,eha as s}from"./cli-1.0.9-rpw6qq2j.mjs";import{pka as q}from"./cli-1.0.9-y7sdjd9n.mjs";import{Bra as p}from"./cli-1.0.9-j2832pm5.mjs";function m(){return y()||!!process.env.CLAUDE_BRIDGE_OAUTH_TOKEN}function x(){return m()}async function O(){return x()}async function P(){if(!m())return"Remote Control needs an Anthropic web login (a claude.ai OAuth token with the user:profile scope). Run `/provider` and sign in with your claude.ai account. Note: an inference API key alone is not enough — the bridge token is separate.";return null}function y(){try{return j()}catch{return!1}}function Q(){return d("tengu_bridge_repl_v2",!1)}function R(){return d("tengu_bridge_repl_v2_cse_shim_enabled",!0)}function U(){{let b=h("tengu_bridge_min_version",{minVersion:"0.0.0"});if(b.minVersion&&k("99.0.0",b.minVersion))return`Your version of Claudin (99.0.0) is too old for Remote Control.
|
|
2
|
+
Version ${b.minVersion} or higher is required. Run \`claudin update\` to update.`}return null}function W(){return!1}function X(){return!1}var z=p(()=>{s();v();q();w()});
|
|
3
|
+
export{x as gW,O as hW,P as iW,Q as jW,R as kW,U as lW,W as mW,X as nW,z as oW};
|