@claudiolabs/claudin 1.1.28 → 1.1.29
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/dist/chunks/AgentTool-1.1.29-awhbrkah.mjs +1 -0
- package/dist/chunks/App-1.1.29-pm1xvr3g.mjs +1 -0
- package/dist/chunks/ApproveApiKey-1.1.29-c44twxse.mjs +1 -0
- package/dist/chunks/AssistantSessionChooser-1.1.29-f11by8v4.mjs +1 -0
- package/dist/chunks/AutoModeOptInDialog-1.1.29-vnqj2te2.mjs +1 -0
- package/dist/chunks/BypassPermissionsModeDialog-1.1.29-z2ah9t9j.mjs +1 -0
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.1.29-30pn689g.mjs +1 -0
- package/dist/chunks/ConsoleOAuthFlow-1.1.29-sja8s9ck.mjs +1 -0
- package/dist/chunks/DiffDialog-1.1.29-k98h1gzp.mjs +6 -0
- package/dist/chunks/Doctor-1.1.29-ab8tjfg7.mjs +1 -0
- package/dist/chunks/ExplorerDialog-1.1.29-16y5q4ta.mjs +6 -0
- package/dist/chunks/ITermBackend-1.1.29-rk6hjgv2.mjs +1 -0
- package/dist/chunks/InvalidConfigDialog-1.1.29-kwjexf2x.mjs +1 -0
- package/dist/chunks/InvalidSettingsDialog-1.1.29-479a268q.mjs +1 -0
- package/dist/chunks/MigrationDialog-1.1.29-vshc8a59.mjs +1 -0
- package/dist/chunks/Onboarding-1.1.29-snkzzfjw.mjs +1 -0
- package/dist/chunks/ProviderManager-1.1.29-x67swksb.mjs +1 -0
- package/dist/chunks/REPL-1.1.29-yw76hfjs.mjs +1 -0
- package/dist/chunks/ResumeConversation-1.1.29-033m6wha.mjs +1 -0
- package/dist/chunks/SnapshotUpdateDialog-1.1.29-kbtx0xa6.mjs +1 -0
- package/dist/chunks/TeleportProgress-1.1.29-dq4fkj22.mjs +1 -0
- package/dist/chunks/TeleportRepoMismatchDialog-1.1.29-x5fsxqa3.mjs +1 -0
- package/dist/chunks/TeleportResumeWrapper-1.1.29-18h9wdn7.mjs +1 -0
- package/dist/chunks/TmuxBackend-1.1.29-42z37x43.mjs +9 -0
- package/dist/chunks/ToolSearchTool-1.1.29-dkk7q8sf.mjs +1 -0
- package/dist/chunks/TrustDialog-1.1.29-944b5g4w.mjs +1 -0
- package/dist/chunks/activeProvider-1.1.29-j7qknp7t.mjs +1 -0
- package/dist/chunks/add-dir-1.1.29-na3kdm45.mjs +1 -0
- package/dist/chunks/agentTypes-1.1.29-fjjae3tn.mjs +1 -0
- package/dist/chunks/agents-1.1.29-gdcf24kq.mjs +110 -0
- package/dist/chunks/agents-1.1.29-hbyggbar.mjs +3 -0
- package/dist/chunks/api-1.1.29-tb280rgw.mjs +1 -0
- package/dist/chunks/asciicast-1.1.29-69mc9agv.mjs +1 -0
- package/dist/chunks/assistant-1.1.29-qmvynqfb.mjs +1 -0
- package/dist/chunks/auth-1.1.29-k2h0c136.mjs +1 -0
- package/dist/chunks/auth-1.1.29-mkh8s4y7.mjs +1 -0
- package/dist/chunks/autoMode-1.1.29-5enddc49.mjs +52 -0
- package/dist/chunks/autoModeSetup-1.1.29-p4hp4dv6.mjs +44 -0
- package/dist/chunks/autoUpdater-1.1.29-sk8rt0mh.mjs +1 -0
- package/dist/chunks/backgroundHousekeeping-1.1.29-qxt8xakt.mjs +1 -0
- package/dist/chunks/branch-1.1.29-0zwfdt6s.mjs +4 -0
- package/dist/chunks/bridge-1.1.29-ee6b7cck.mjs +2 -0
- package/dist/chunks/bridgeConfig-1.1.29-4wseqmtn.mjs +1 -0
- package/dist/chunks/bridgeEnabled-1.1.29-2r501b1s.mjs +1 -0
- package/dist/chunks/bridgeMain-1.1.29-sk2e5ssh.mjs +88 -0
- package/dist/chunks/bridgePointer-1.1.29-mjz0jnns.mjs +1 -0
- package/dist/chunks/btw-1.1.29-arf7x19m.mjs +1 -0
- package/dist/chunks/buddy-1.1.29-awsva6y8.mjs +3 -0
- package/dist/chunks/cache-probe-1.1.29-67egf5jw.mjs +21 -0
- package/dist/chunks/cacheStats-1.1.29-yk1h4vdq.mjs +4 -0
- package/dist/chunks/caches-1.1.29-8ryyt679.mjs +1 -0
- package/dist/chunks/cd-1.1.29-w9gepxqm.mjs +3 -0
- package/dist/chunks/claudeDesktop-1.1.29-7g8vpmk4.mjs +1 -0
- package/dist/chunks/claudemd-1.1.29-z00d07f9.mjs +1 -0
- package/dist/chunks/clear-1.1.29-aj6vgn4b.mjs +1 -0
- package/dist/chunks/clearTerminal-1.1.29-95xqw9gq.mjs +1 -0
- package/dist/chunks/cli-1.1.29-0kfg7hf8.mjs +2 -0
- package/dist/chunks/cli-1.1.29-0rnfn0gy.mjs +2 -0
- package/dist/chunks/cli-1.1.29-0s73ykp6.mjs +3 -0
- package/dist/chunks/cli-1.1.29-0tf52nkw.mjs +8 -0
- package/dist/chunks/cli-1.1.29-0v2ryegc.mjs +2 -0
- package/dist/chunks/cli-1.1.29-0vpcc8vm.mjs +2 -0
- package/dist/chunks/cli-1.1.29-11hr4111.mjs +2 -0
- package/dist/chunks/cli-1.1.29-13gvy0m9.mjs +25 -0
- package/dist/chunks/cli-1.1.29-153rxzts.mjs +2 -0
- package/dist/chunks/cli-1.1.29-17kpfbq0.mjs +2 -0
- package/dist/chunks/cli-1.1.29-1dqp4d2w.mjs +2 -0
- package/dist/chunks/cli-1.1.29-1pqjxrp8.mjs +2 -0
- package/dist/chunks/cli-1.1.29-20bcsb6f.mjs +15 -0
- package/dist/chunks/cli-1.1.29-23gv5dgk.mjs +2 -0
- package/dist/chunks/cli-1.1.29-247v5hpd.mjs +2 -0
- package/dist/chunks/cli-1.1.29-252q86ck.mjs +2 -0
- package/dist/chunks/cli-1.1.29-27h8nqm5.mjs +2 -0
- package/dist/chunks/cli-1.1.29-29svre2k.mjs +133 -0
- package/dist/chunks/cli-1.1.29-2e5s8gsb.mjs +24 -0
- package/dist/chunks/cli-1.1.29-2ezms0yf.mjs +2 -0
- package/dist/chunks/cli-1.1.29-2hejf6pj.mjs +2 -0
- package/dist/chunks/cli-1.1.29-2mcxe125.mjs +2 -0
- package/dist/chunks/cli-1.1.29-2sjtk1zb.mjs +2 -0
- package/dist/chunks/cli-1.1.29-2tyhgmxe.mjs +2 -0
- package/dist/chunks/cli-1.1.29-2yev8mxw.mjs +6 -0
- package/dist/chunks/cli-1.1.29-31y8na35.mjs +2 -0
- package/dist/chunks/cli-1.1.29-34nqdrk5.mjs +2 -0
- package/dist/chunks/cli-1.1.29-35kpvqby.mjs +4 -0
- package/dist/chunks/cli-1.1.29-3776marx.mjs +9 -0
- package/dist/chunks/cli-1.1.29-37j436rz.mjs +2 -0
- package/dist/chunks/cli-1.1.29-3dnft82a.mjs +2 -0
- package/dist/chunks/cli-1.1.29-3fcr0sm5.mjs +2 -0
- package/dist/chunks/cli-1.1.29-3s4wcn65.mjs +4 -0
- package/dist/chunks/cli-1.1.29-40v483aw.mjs +58 -0
- package/dist/chunks/cli-1.1.29-4ahf2sg4.mjs +2 -0
- package/dist/chunks/cli-1.1.29-4bemzx23.mjs +2 -0
- package/dist/chunks/cli-1.1.29-4p953chd.mjs +2 -0
- package/dist/chunks/cli-1.1.29-4pdnzc5j.mjs +2 -0
- package/dist/chunks/cli-1.1.29-4q271q7a.mjs +2 -0
- package/dist/chunks/cli-1.1.29-4w9b7g8h.mjs +3 -0
- package/dist/chunks/cli-1.1.29-4xqgqvwm.mjs +2 -0
- package/dist/chunks/cli-1.1.29-4yztmbcx.mjs +17 -0
- package/dist/chunks/cli-1.1.29-55khgk00.mjs +9 -0
- package/dist/chunks/cli-1.1.29-566mygcr.mjs +2 -0
- package/dist/chunks/cli-1.1.29-57e9kkv7.mjs +12 -0
- package/dist/chunks/cli-1.1.29-57f3k3fp.mjs +5 -0
- package/dist/chunks/cli-1.1.29-5bm4np8j.mjs +2 -0
- package/dist/chunks/cli-1.1.29-5gydp5n7.mjs +6 -0
- package/dist/chunks/cli-1.1.29-5mpj7dft.mjs +2 -0
- package/dist/chunks/cli-1.1.29-5p2zzfpq.mjs +4 -0
- package/dist/chunks/cli-1.1.29-5pbjmqzt.mjs +2 -0
- package/dist/chunks/cli-1.1.29-5svhj1v0.mjs +18 -0
- package/dist/chunks/cli-1.1.29-6g47vtst.mjs +2 -0
- package/dist/chunks/cli-1.1.29-6kvtrk8a.mjs +2 -0
- package/dist/chunks/cli-1.1.29-6mbq5wth.mjs +3 -0
- package/dist/chunks/cli-1.1.29-6ngsfhk3.mjs +17 -0
- package/dist/chunks/cli-1.1.29-6q1q5fa3.mjs +2 -0
- package/dist/chunks/cli-1.1.29-6qykmvew.mjs +2 -0
- package/dist/chunks/cli-1.1.29-6t6n6ctd.mjs +2 -0
- package/dist/chunks/cli-1.1.29-71e5px3b.mjs +2 -0
- package/dist/chunks/cli-1.1.29-740d0ga1.mjs +2 -0
- package/dist/chunks/cli-1.1.29-79tgwbnn.mjs +2 -0
- package/dist/chunks/cli-1.1.29-7p975zzx.mjs +2 -0
- package/dist/chunks/cli-1.1.29-7peev9wq.mjs +3 -0
- package/dist/chunks/cli-1.1.29-7pfvq0z6.mjs +60 -0
- package/dist/chunks/cli-1.1.29-7vrxybxh.mjs +15 -0
- package/dist/chunks/cli-1.1.29-834b4680.mjs +2 -0
- package/dist/chunks/cli-1.1.29-8398r1x1.mjs +2 -0
- package/dist/chunks/cli-1.1.29-842m4sds.mjs +2 -0
- package/dist/chunks/cli-1.1.29-84fpb4zk.mjs +2 -0
- package/dist/chunks/cli-1.1.29-89nqwnk6.mjs +3 -0
- package/dist/chunks/cli-1.1.29-8c371c3k.mjs +2 -0
- package/dist/chunks/cli-1.1.29-8dsnjzad.mjs +2 -0
- package/dist/chunks/cli-1.1.29-8eeh9yez.mjs +2 -0
- package/dist/chunks/cli-1.1.29-8k2xw0ns.mjs +16 -0
- package/dist/chunks/cli-1.1.29-8s0k2ydg.mjs +2 -0
- package/dist/chunks/cli-1.1.29-995n5c8r.mjs +2 -0
- package/dist/chunks/cli-1.1.29-9fkgjjzm.mjs +2 -0
- package/dist/chunks/cli-1.1.29-9n8sz71q.mjs +6 -0
- package/dist/chunks/cli-1.1.29-9qc9kyz8.mjs +6 -0
- package/dist/chunks/cli-1.1.29-9s3rafev.mjs +2 -0
- package/dist/chunks/cli-1.1.29-9s9kgzze.mjs +2 -0
- package/dist/chunks/cli-1.1.29-a1p2bm8x.mjs +4 -0
- package/dist/chunks/cli-1.1.29-a6pnwve8.mjs +206 -0
- package/dist/chunks/cli-1.1.29-aa81cr7r.mjs +2 -0
- package/dist/chunks/cli-1.1.29-aazftc8x.mjs +4 -0
- package/dist/chunks/cli-1.1.29-ajwqka67.mjs +2 -0
- package/dist/chunks/cli-1.1.29-akx5bp37.mjs +2 -0
- package/dist/chunks/cli-1.1.29-am1n3767.mjs +5553 -0
- package/dist/chunks/cli-1.1.29-aptcshv0.mjs +2 -0
- package/dist/chunks/cli-1.1.29-ar7jahd2.mjs +2 -0
- package/dist/chunks/cli-1.1.29-bpvwqqqm.mjs +3 -0
- package/dist/chunks/cli-1.1.29-bzfhb58d.mjs +21 -0
- package/dist/chunks/cli-1.1.29-c67xmzgw.mjs +2 -0
- package/dist/chunks/cli-1.1.29-c7eatffy.mjs +7 -0
- package/dist/chunks/cli-1.1.29-ccmw3ns3.mjs +2 -0
- package/dist/chunks/cli-1.1.29-cgska4m2.mjs +2 -0
- package/dist/chunks/cli-1.1.29-cjy4bmpv.mjs +2 -0
- package/dist/chunks/cli-1.1.29-cwngf5s4.mjs +2 -0
- package/dist/chunks/cli-1.1.29-df0crs3h.mjs +2 -0
- package/dist/chunks/cli-1.1.29-dfra4ygt.mjs +2 -0
- package/dist/chunks/cli-1.1.29-dpzd32s9.mjs +2 -0
- package/dist/chunks/cli-1.1.29-dseazhey.mjs +34 -0
- package/dist/chunks/cli-1.1.29-e7b3rw2q.mjs +2 -0
- package/dist/chunks/cli-1.1.29-enk5zgkk.mjs +2 -0
- package/dist/chunks/cli-1.1.29-eq7p29fp.mjs +2 -0
- package/dist/chunks/cli-1.1.29-erh6v56f.mjs +2 -0
- package/dist/chunks/cli-1.1.29-es8f8tm1.mjs +2 -0
- package/dist/chunks/cli-1.1.29-ex9733z1.mjs +2 -0
- package/dist/chunks/cli-1.1.29-f103mqc1.mjs +133 -0
- package/dist/chunks/cli-1.1.29-f56z0kjj.mjs +2 -0
- package/dist/chunks/cli-1.1.29-f8qh0czy.mjs +24 -0
- package/dist/chunks/cli-1.1.29-fhwjnhs2.mjs +12 -0
- package/dist/chunks/cli-1.1.29-fsht50yz.mjs +2 -0
- package/dist/chunks/cli-1.1.29-g2g0bf6s.mjs +2 -0
- package/dist/chunks/cli-1.1.29-g9nssmee.mjs +2 -0
- package/dist/chunks/cli-1.1.29-gd1bzvdb.mjs +20 -0
- package/dist/chunks/cli-1.1.29-gfwfhh3b.mjs +4 -0
- package/dist/chunks/cli-1.1.29-gfyabc3h.mjs +2 -0
- package/dist/chunks/cli-1.1.29-gycpj0z6.mjs +2 -0
- package/dist/chunks/cli-1.1.29-h1ej5qf0.mjs +2 -0
- package/dist/chunks/cli-1.1.29-h4fg85xm.mjs +2 -0
- package/dist/chunks/cli-1.1.29-hez6jzkx.mjs +2 -0
- package/dist/chunks/cli-1.1.29-hsa1qk75.mjs +2 -0
- package/dist/chunks/cli-1.1.29-j17q2nnf.mjs +2 -0
- package/dist/chunks/cli-1.1.29-j3n6rxnx.mjs +2 -0
- package/dist/chunks/cli-1.1.29-k0yj3sf0.mjs +2 -0
- package/dist/chunks/cli-1.1.29-kcfqkdev.mjs +24 -0
- package/dist/chunks/cli-1.1.29-kd96jtpb.mjs +2 -0
- package/dist/chunks/cli-1.1.29-kjbjanmr.mjs +2 -0
- package/dist/chunks/cli-1.1.29-krg96g94.mjs +2 -0
- package/dist/chunks/cli-1.1.29-ksekfz16.mjs +3 -0
- package/dist/chunks/cli-1.1.29-kywbej24.mjs +3 -0
- package/dist/chunks/cli-1.1.29-m4bwjmrm.mjs +2 -0
- package/dist/chunks/cli-1.1.29-m4j21s8k.mjs +3 -0
- package/dist/chunks/cli-1.1.29-m7rehwdd.mjs +58 -0
- package/dist/chunks/cli-1.1.29-mcacd7ag.mjs +2 -0
- package/dist/chunks/cli-1.1.29-mn3z3w8e.mjs +2 -0
- package/dist/chunks/cli-1.1.29-mwntmkzh.mjs +39 -0
- package/dist/chunks/cli-1.1.29-mxtxy5qg.mjs +2 -0
- package/dist/chunks/cli-1.1.29-mxxghqnd.mjs +2 -0
- package/dist/chunks/cli-1.1.29-nkb4dq83.mjs +2 -0
- package/dist/chunks/cli-1.1.29-nn0hkwgq.mjs +2 -0
- package/dist/chunks/cli-1.1.29-nx6ynaex.mjs +6 -0
- package/dist/chunks/cli-1.1.29-nxbgdt4q.mjs +2 -0
- package/dist/chunks/cli-1.1.29-nxvs12dw.mjs +2 -0
- package/dist/chunks/cli-1.1.29-pbydvpcy.mjs +7 -0
- package/dist/chunks/cli-1.1.29-pf67dsfj.mjs +42 -0
- package/dist/chunks/cli-1.1.29-pwsznt80.mjs +2 -0
- package/dist/chunks/cli-1.1.29-q4fv8e5e.mjs +2 -0
- package/dist/chunks/cli-1.1.29-q7nywp06.mjs +2 -0
- package/dist/chunks/cli-1.1.29-q9atby2h.mjs +2 -0
- package/dist/chunks/cli-1.1.29-qqcjvb8v.mjs +3 -0
- package/dist/chunks/cli-1.1.29-qyg6dttd.mjs +2 -0
- package/dist/chunks/cli-1.1.29-qz5zy9rd.mjs +4 -0
- package/dist/chunks/cli-1.1.29-ra7737c1.mjs +2 -0
- package/dist/chunks/cli-1.1.29-rah0vfkh.mjs +1 -0
- package/dist/chunks/cli-1.1.29-rbtgtxtr.mjs +2 -0
- package/dist/chunks/cli-1.1.29-rcf2pvf2.mjs +2 -0
- package/dist/chunks/cli-1.1.29-rd1s45en.mjs +24 -0
- package/dist/chunks/cli-1.1.29-rfz718th.mjs +6 -0
- package/dist/chunks/cli-1.1.29-rn9a55ga.mjs +2 -0
- package/dist/chunks/cli-1.1.29-rnrvwymv.mjs +2 -0
- package/dist/chunks/cli-1.1.29-rse83jw9.mjs +2 -0
- package/dist/chunks/cli-1.1.29-s7njwf37.mjs +15 -0
- package/dist/chunks/cli-1.1.29-s8attyep.mjs +2 -0
- package/dist/chunks/cli-1.1.29-sb5dzja5.mjs +2 -0
- package/dist/chunks/cli-1.1.29-scf5dmr2.mjs +50 -0
- package/dist/chunks/cli-1.1.29-sgfpybka.mjs +2 -0
- package/dist/chunks/cli-1.1.29-smn5dd7n.mjs +2 -0
- package/dist/chunks/cli-1.1.29-snxnt4nr.mjs +2 -0
- package/dist/chunks/cli-1.1.29-t64smfse.mjs +2 -0
- package/dist/chunks/cli-1.1.29-tf20f72b.mjs +2 -0
- package/dist/chunks/cli-1.1.29-tg84q1yd.mjs +20 -0
- package/dist/chunks/cli-1.1.29-tyew653x.mjs +3 -0
- package/dist/chunks/cli-1.1.29-tz817yh8.mjs +2 -0
- package/dist/chunks/cli-1.1.29-v4wsvara.mjs +2 -0
- package/dist/chunks/cli-1.1.29-v6y1118n.mjs +4 -0
- package/dist/chunks/cli-1.1.29-v9bvr1aw.mjs +5 -0
- package/dist/chunks/cli-1.1.29-vd6b2ckm.mjs +2 -0
- package/dist/chunks/cli-1.1.29-vmmpxa0v.mjs +2 -0
- package/dist/chunks/cli-1.1.29-vp3z0245.mjs +2 -0
- package/dist/chunks/cli-1.1.29-vr34j6s2.mjs +3 -0
- package/dist/chunks/cli-1.1.29-vv1sy2ya.mjs +25 -0
- package/dist/chunks/cli-1.1.29-vws4vx43.mjs +2 -0
- package/dist/chunks/cli-1.1.29-vybx7rvs.mjs +10 -0
- package/dist/chunks/cli-1.1.29-we6vghby.mjs +2 -0
- package/dist/chunks/cli-1.1.29-wscghnfp.mjs +2 -0
- package/dist/chunks/cli-1.1.29-wv5r6reg.mjs +2 -0
- package/dist/chunks/cli-1.1.29-wxg06wve.mjs +2 -0
- package/dist/chunks/cli-1.1.29-xfcy5e42.mjs +2 -0
- package/dist/chunks/cli-1.1.29-xfhxkzzh.mjs +2 -0
- package/dist/chunks/cli-1.1.29-xftqnjy0.mjs +4 -0
- package/dist/chunks/cli-1.1.29-xjh2k6ex.mjs +3 -0
- package/dist/chunks/cli-1.1.29-xrwps5rg.mjs +3 -0
- package/dist/chunks/cli-1.1.29-y3v15ehz.mjs +2 -0
- package/dist/chunks/cli-1.1.29-yddrcp23.mjs +2 -0
- package/dist/chunks/cli-1.1.29-ykat6ksh.mjs +2 -0
- package/dist/chunks/cli-1.1.29-ymcd1d05.mjs +2 -0
- package/dist/chunks/cli-1.1.29-ypgjht1s.mjs +2 -0
- package/dist/chunks/cli-1.1.29-yv3r7f00.mjs +2 -0
- package/dist/chunks/cli-1.1.29-zb1qmpq0.mjs +45 -0
- package/dist/chunks/cli-1.1.29-ze1sanxc.mjs +2 -0
- package/dist/chunks/cli-1.1.29-zf1md9se.mjs +2 -0
- package/dist/chunks/cli-1.1.29-zh2qqpcy.mjs +2 -0
- package/dist/chunks/cli-1.1.29-zqccyb2h.mjs +2 -0
- package/dist/chunks/client-1.1.29-abnv29yp.mjs +1 -0
- package/dist/chunks/color-1.1.29-h2d0ea1p.mjs +1 -0
- package/dist/chunks/compact-1.1.29-071ysk4h.mjs +3 -0
- package/dist/chunks/config-1.1.29-jhy41xna.mjs +1 -0
- package/dist/chunks/config-1.1.29-wzvad2ns.mjs +1 -0
- package/dist/chunks/constants-1.1.29-5536grwb.mjs +1 -0
- package/dist/chunks/context-1.1.29-qxvktpnx.mjs +1 -0
- package/dist/chunks/context-noninteractive-1.1.29-rypt767r.mjs +1 -0
- package/dist/chunks/conversation-1.1.29-yr51bv23.mjs +1 -0
- package/dist/chunks/copilotHeaders-1.1.29-h3z6avxk.mjs +1 -0
- package/dist/chunks/copy-1.1.29-ze2g86qn.mjs +9 -0
- package/dist/chunks/cost-1.1.29-bn9nefss.mjs +1 -0
- package/dist/chunks/createSSHSession-1.1.29-5fe73ss4.mjs +1 -0
- package/dist/chunks/createSession-1.1.29-rscwvwx3.mjs +1 -0
- package/dist/chunks/debug-1.1.29-hsa8740f.mjs +1 -0
- package/dist/chunks/defaultActionDeps-1.1.29-nrkya6cw.mjs +1534 -0
- package/dist/chunks/desktop-1.1.29-wzh1a3fx.mjs +1 -0
- package/dist/chunks/detectRepository-1.1.29-tgssqtyy.mjs +1 -0
- package/dist/chunks/detection-1.1.29-f3hp0x2s.mjs +1 -0
- package/dist/chunks/diff-1.1.29-h7fm7n04.mjs +1 -0
- package/dist/chunks/doctor-1.1.29-5ccr1m55.mjs +1 -0
- package/dist/chunks/doctorDiagnostic-1.1.29-vmnf895k.mjs +1 -0
- package/dist/chunks/earlyInput-1.1.29-d0ktjabf.mjs +1 -0
- package/dist/chunks/effort-1.1.29-xxzxaym4.mjs +13 -0
- package/dist/chunks/engine-1.1.29-9ekq4v2g.mjs +1 -0
- package/dist/chunks/envLessBridgeConfig-1.1.29-8c9jjpjy.mjs +1 -0
- package/dist/chunks/envUtils-1.1.29-593t90q5.mjs +1 -0
- package/dist/chunks/environmentSelection-1.1.29-g5qpphd9.mjs +1 -0
- package/dist/chunks/environments-1.1.29-x2aa2eet.mjs +1 -0
- package/dist/chunks/errors-1.1.29-jgx19cvb.mjs +1 -0
- package/dist/chunks/exampleCommands-1.1.29-wxzjn2xw.mjs +1 -0
- package/dist/chunks/execFileNoThrow-1.1.29-hexzsnhv.mjs +1 -0
- package/dist/chunks/exit-1.1.29-h788x2yv.mjs +1 -0
- package/dist/chunks/explorer-1.1.29-wtr7bga1.mjs +1 -0
- package/dist/chunks/export-1.1.29-42ve1rgm.mjs +2 -0
- package/dist/chunks/extra-usage-1.1.29-y1e1m369.mjs +1 -0
- package/dist/chunks/extra-usage-noninteractive-1.1.29-gq3g80nm.mjs +1 -0
- package/dist/chunks/fast-1.1.29-h6r42366.mjs +1 -0
- package/dist/chunks/feedback-1.1.29-st43crhj.mjs +14 -0
- package/dist/chunks/firstPartyEventLogger-1.1.29-ckcepqgc.mjs +1 -0
- package/dist/chunks/git-1.1.29-j563zwhc.mjs +1 -0
- package/dist/chunks/githubModelsCredentials-1.1.29-vk8m9ket.mjs +1 -0
- package/dist/chunks/goal-1.1.29-p7hzmh24.mjs +4 -0
- package/dist/chunks/growthbook-1.1.29-3549rcjz.mjs +1 -0
- package/dist/chunks/headless-1.1.29-5vx8fpbe.mjs +2 -0
- package/dist/chunks/heapdump-1.1.29-rp203g47.mjs +6 -0
- package/dist/chunks/help-1.1.29-3y5b0e2g.mjs +1 -0
- package/dist/chunks/hookChains-1.1.29-ga4rejj3.mjs +3 -0
- package/dist/chunks/hooks-1.1.29-b38tdtzk.mjs +1 -0
- package/dist/chunks/hooks-1.1.29-ygwx2459.mjs +79 -0
- package/dist/chunks/ide-1.1.29-67nmghjh.mjs +3 -0
- package/dist/chunks/image-processor-napi-1.1.29-z1xa8jsd.mjs +1 -0
- package/dist/chunks/import-1.1.29-627psf8x.mjs +261 -0
- package/dist/chunks/inboundAttachments-1.1.29-9dtr0d37.mjs +1 -0
- package/dist/chunks/index-1.1.29-101dgedk.mjs +9 -0
- package/dist/chunks/index-1.1.29-3mknam1s.mjs +1 -0
- package/dist/chunks/index-1.1.29-3rjcfsf3.mjs +1 -0
- package/dist/chunks/index-1.1.29-4ye92se8.mjs +1 -0
- package/dist/chunks/index-1.1.29-568ncn0w.mjs +1 -0
- package/dist/chunks/index-1.1.29-5zbg7qfm.mjs +1 -0
- package/dist/chunks/index-1.1.29-6pe6cr8p.mjs +1 -0
- package/dist/chunks/index-1.1.29-cpvbfs32.mjs +5 -0
- package/dist/chunks/index-1.1.29-e90xbdas.mjs +23 -0
- package/dist/chunks/index-1.1.29-efsdrxv3.mjs +1 -0
- package/dist/chunks/index-1.1.29-gy6pctgv.mjs +1 -0
- package/dist/chunks/index-1.1.29-jghqwznd.mjs +1 -0
- package/dist/chunks/index-1.1.29-k42kw8w5.mjs +1 -0
- package/dist/chunks/index-1.1.29-kvaapa6z.mjs +1 -0
- package/dist/chunks/index-1.1.29-mwtftmry.mjs +9 -0
- package/dist/chunks/index-1.1.29-q7ydx0h2.mjs +2 -0
- package/dist/chunks/index-1.1.29-r4y0qs9x.mjs +1 -0
- package/dist/chunks/index-1.1.29-rgsmqr6q.mjs +1 -0
- package/dist/chunks/index-1.1.29-tfnnf0k2.mjs +1 -0
- package/dist/chunks/index-1.1.29-v640rrh6.mjs +1 -0
- package/dist/chunks/index-1.1.29-v7vcnkxr.mjs +30 -0
- package/dist/chunks/index-1.1.29-xwekv48p.mjs +2 -0
- package/dist/chunks/index-1.1.29-z8a1fx6p.mjs +1 -0
- package/dist/chunks/init-1.1.29-h07twh7g.mjs +1 -0
- package/dist/chunks/initReplBridge-1.1.29-ae1e53vd.mjs +1 -0
- package/dist/chunks/ink-1.1.29-jkk9zn2g.mjs +1 -0
- package/dist/chunks/insights-1.1.29-awyethqq.mjs +870 -0
- package/dist/chunks/install-1.1.29-yhkejpep.mjs +1 -0
- package/dist/chunks/install-github-app-1.1.29-jsrj24s4.mjs +149 -0
- package/dist/chunks/install-slack-app-1.1.29-gts768ac.mjs +1 -0
- package/dist/chunks/instrumentation-1.1.29-mhgk5gm7.mjs +1 -0
- package/dist/chunks/interactiveHelpers-1.1.29-nz689brn.mjs +1 -0
- package/dist/chunks/keybindings-1.1.29-gh9axh60.mjs +2 -0
- package/dist/chunks/knowledge-1.1.29-hfwtr4gz.mjs +2 -0
- package/dist/chunks/latestVersionCache-1.1.29-hfeprnvk.mjs +1 -0
- package/dist/chunks/loadAgentsDir-1.1.29-m2np7bm8.mjs +1 -0
- package/dist/chunks/loadPluginHooks-1.1.29-zpz05b3t.mjs +1 -0
- package/dist/chunks/log-1.1.29-fw86q3jh.mjs +1 -0
- package/dist/chunks/main-1.1.29-w3b4z9p1.mjs +1 -0
- package/dist/chunks/managedEnv-1.1.29-r7qb1f8v.mjs +1 -0
- package/dist/chunks/mcp-1.1.29-jyq80had.mjs +4 -0
- package/dist/chunks/mcp-1.1.29-rj6rmrwj.mjs +17 -0
- package/dist/chunks/mcp-1.1.29-v1dw736k.mjs +1 -0
- package/dist/chunks/mcpb-1.1.29-2eqhsr4h.mjs +1 -0
- package/dist/chunks/memory-1.1.29-f9bfe5q1.mjs +77 -0
- package/dist/chunks/model-1.1.29-3cbf7nj8.mjs +1 -0
- package/dist/chunks/model-1.1.29-65mwx0jt.mjs +2 -0
- package/dist/chunks/node-1.1.29-9gdbqzzb.mjs +15 -0
- package/dist/chunks/node-1.1.29-g8j45zsn.mjs +1 -0
- package/dist/chunks/oauth-1.1.29-rzdyddzx.mjs +1 -0
- package/dist/chunks/openaiShim-1.1.29-3v0weah8.mjs +14 -0
- package/dist/chunks/output-style-1.1.29-kh5kpq0r.mjs +1 -0
- package/dist/chunks/package-OS7RONXY-1.1.29-wartca0p.mjs +1 -0
- package/dist/chunks/parseConnectUrl-1.1.29-1pk3egnf.mjs +1 -0
- package/dist/chunks/parser-1.1.29-j664c2gz.mjs +1 -0
- package/dist/chunks/passes-1.1.29-daz9sxtn.mjs +1 -0
- package/dist/chunks/permissions-1.1.29-2t8t5tw7.mjs +1 -0
- package/dist/chunks/permissions-1.1.29-yrdqzbx5.mjs +3 -0
- package/dist/chunks/plan-1.1.29-bz008b9p.mjs +1 -0
- package/dist/chunks/plist-1.1.29-35acgftn.mjs +1 -0
- package/dist/chunks/plugin-1.1.29-8f04719q.mjs +29 -0
- package/dist/chunks/pluginStartupCheck-1.1.29-xb113h6m.mjs +1 -0
- package/dist/chunks/plugins-1.1.29-qvtkwvvz.mjs +9 -0
- package/dist/chunks/preActionHook-1.1.29-y3pz26pa.mjs +2 -0
- package/dist/chunks/print-1.1.29-efswnrv9.mjs +57 -0
- package/dist/chunks/process-1.1.29-58f1e2bp.mjs +1 -0
- package/dist/chunks/processBashCommand-1.1.29-d1jsv2w2.mjs +1 -0
- package/dist/chunks/processSlashCommand-1.1.29-b3y0q14a.mjs +9 -0
- package/dist/chunks/prompt-1.1.29-62tsknn0.mjs +1 -0
- package/dist/chunks/prompt-1.1.29-jhbfphh7.mjs +1 -0
- package/dist/chunks/prompts-1.1.29-3z4c3ek4.mjs +1 -0
- package/dist/chunks/protocolHandler-1.1.29-rdwh19s1.mjs +13 -0
- package/dist/chunks/provider-1.1.29-3zvq773g.mjs +2 -0
- package/dist/chunks/providerProfiles-1.1.29-607et4qp.mjs +1 -0
- package/dist/chunks/providerValidation-1.1.29-yenzyrfm.mjs +6 -0
- package/dist/chunks/rate-limit-options-1.1.29-298ja1r1.mjs +1 -0
- package/dist/chunks/registerSubcommands-1.1.29-4jd1spvm.mjs +26 -0
- package/dist/chunks/registry-1.1.29-m25stkr0.mjs +1 -0
- package/dist/chunks/release-notes-1.1.29-22baamfx.mjs +5 -0
- package/dist/chunks/reload-plugins-1.1.29-phv53y08.mjs +2 -0
- package/dist/chunks/remote-env-1.1.29-2ey2vymh.mjs +1 -0
- package/dist/chunks/remoteBridgeCore-1.1.29-eafsxes0.mjs +1 -0
- package/dist/chunks/remoteSession-1.1.29-hs2wyhc3.mjs +1 -0
- package/dist/chunks/rename-1.1.29-75kb3avp.mjs +1 -0
- package/dist/chunks/replBridgeHandle-1.1.29-dz6hhgez.mjs +1 -0
- package/dist/chunks/replLauncher-1.1.29-09a6pk1q.mjs +1 -0
- package/dist/chunks/resume-1.1.29-685rb92g.mjs +2 -0
- package/dist/chunks/rewind-1.1.29-7nw7f08p.mjs +1 -0
- package/dist/chunks/rootOptions-1.1.29-9cr8rvbr.mjs +1 -0
- package/dist/chunks/runWorkflowHeadless-1.1.29-xmaezf6n.mjs +10 -0
- package/dist/chunks/sandbox-adapter-1.1.29-db9nwpd6.mjs +1 -0
- package/dist/chunks/sandbox-toggle-1.1.29-wzeynybm.mjs +1 -0
- package/dist/chunks/session-1.1.29-m8fppsh2.mjs +2 -0
- package/dist/chunks/sessionDiscovery-1.1.29-ast9gceq.mjs +1 -0
- package/dist/chunks/sessionFileAccessHooks-1.1.29-h1eqvpq2.mjs +1 -0
- package/dist/chunks/sessionStorage-1.1.29-aykc0gmj.mjs +1 -0
- package/dist/chunks/settings-1.1.29-0c2fyzj5.mjs +1 -0
- package/dist/chunks/setup-1.1.29-y2wjm0r9.mjs +12 -0
- package/dist/chunks/sinks-1.1.29-5rs2f8yn.mjs +1 -0
- package/dist/chunks/skills-1.1.29-cp2813x4.mjs +1 -0
- package/dist/chunks/startupProfiler-1.1.29-kh45g8fh.mjs +1 -0
- package/dist/chunks/startupUpdateCheck-1.1.29-82s33sqm.mjs +1 -0
- package/dist/chunks/state-1.1.29-p67vvgkh.mjs +1 -0
- package/dist/chunks/stats-1.1.29-by56pge2.mjs +1 -0
- package/dist/chunks/status-1.1.29-hw493zns.mjs +1 -0
- package/dist/chunks/stickers-1.1.29-8s1sjy27.mjs +1 -0
- package/dist/chunks/subprocessEnv-1.1.29-qz9p5e81.mjs +1 -0
- package/dist/chunks/tasks-1.1.29-337vzgbz.mjs +1 -0
- package/dist/chunks/teamHelpers-1.1.29-85qvaaf6.mjs +1 -0
- package/dist/chunks/teammateModeSnapshot-1.1.29-k78c522w.mjs +1 -0
- package/dist/chunks/teleport-1.1.29-c44n1v9b.mjs +1 -0
- package/dist/chunks/terminalSetup-1.1.29-rrwvk8ab.mjs +1 -0
- package/dist/chunks/theme-1.1.29-y04xza5k.mjs +1 -0
- package/dist/chunks/thinkback-1.1.29-s3hjbm7q.mjs +1 -0
- package/dist/chunks/thinkback-play-1.1.29-2bhrtfq9.mjs +1 -0
- package/dist/chunks/toolPool-1.1.29-gfpcfj2x.mjs +1 -0
- package/dist/chunks/toolSearch-1.1.29-vfnsb7j0.mjs +1 -0
- package/dist/chunks/tools-1.1.29-w11mxfwv.mjs +1 -0
- package/dist/chunks/trustedDevice-1.1.29-qwyypx3m.mjs +1 -0
- package/dist/chunks/turndown.cjs-1.1.29-yxqqz6t4.mjs +69 -0
- package/dist/chunks/types-1.1.29-2v59e63g.mjs +1 -0
- package/dist/chunks/ultrareviewCommand-1.1.29-a115pcna.mjs +4 -0
- package/dist/chunks/update-1.1.29-3zmwqt73.mjs +72 -0
- package/dist/chunks/upgrade-1.1.29-xpe0b67z.mjs +1 -0
- package/dist/chunks/upload-1.1.29-d3tkf4nc.mjs +7 -0
- package/dist/chunks/upstreamproxy-1.1.29-fqatj32w.mjs +14 -0
- package/dist/chunks/url-handler-napi-1.1.29-9w1d0vdc.mjs +1 -0
- package/dist/chunks/usage-1.1.29-6mr5tsjn.mjs +1 -0
- package/dist/chunks/util-1.1.29-94aahqex.mjs +1 -0
- package/dist/chunks/utils-1.1.29-jg1xnwx8.mjs +1 -0
- package/dist/chunks/vim-1.1.29-hf5m1934.mjs +1 -0
- package/dist/chunks/watchLoop-1.1.29-7z8smp5m.mjs +13 -0
- package/dist/chunks/watcher-1.1.29-qeqe2296.mjs +1 -0
- package/dist/chunks/wiki-1.1.29-cr99gpcx.mjs +132 -0
- package/dist/chunks/workflows-1.1.29-v6f0e3am.mjs +1 -0
- package/dist/chunks/worktree-1.1.29-qf1zfstj.mjs +1 -0
- package/dist/chunks/worktreeModeEnabled-1.1.29-qxpsmfqy.mjs +1 -0
- package/dist/chunks/wrapper-1.1.29-b7y6s4vd.mjs +7 -0
- package/dist/cli.mjs +2 -2
- package/package.json +9 -9
- package/dist/chunks/AgentTool-1.1.28-hdgcephe.mjs +0 -1
- package/dist/chunks/App-1.1.28-rdhr58j6.mjs +0 -1
- package/dist/chunks/ApproveApiKey-1.1.28-dn460p70.mjs +0 -1
- package/dist/chunks/AssistantSessionChooser-1.1.28-k16de89c.mjs +0 -1
- package/dist/chunks/AutoModeOptInDialog-1.1.28-19td2te8.mjs +0 -1
- package/dist/chunks/BypassPermissionsModeDialog-1.1.28-011pgh7b.mjs +0 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.1.28-ych5693j.mjs +0 -1
- package/dist/chunks/ConsoleOAuthFlow-1.1.28-7p5bx0b5.mjs +0 -1
- package/dist/chunks/DiffDialog-1.1.28-nkct57y5.mjs +0 -6
- package/dist/chunks/Doctor-1.1.28-xerfvzx5.mjs +0 -1
- package/dist/chunks/ExplorerDialog-1.1.28-ne9ftnxx.mjs +0 -6
- package/dist/chunks/ITermBackend-1.1.28-07enf929.mjs +0 -1
- package/dist/chunks/InvalidConfigDialog-1.1.28-mcsd53vd.mjs +0 -1
- package/dist/chunks/InvalidSettingsDialog-1.1.28-rmrgfzbv.mjs +0 -1
- package/dist/chunks/MigrationDialog-1.1.28-w5mh2w2b.mjs +0 -1
- package/dist/chunks/Onboarding-1.1.28-7q9nc8c9.mjs +0 -1
- package/dist/chunks/ProviderManager-1.1.28-08ytr6ma.mjs +0 -1
- package/dist/chunks/REPL-1.1.28-pxy1ag0k.mjs +0 -1
- package/dist/chunks/ResumeConversation-1.1.28-b2pk1nan.mjs +0 -1
- package/dist/chunks/SnapshotUpdateDialog-1.1.28-xa772x92.mjs +0 -1
- package/dist/chunks/TeleportProgress-1.1.28-6x6ca6kq.mjs +0 -1
- package/dist/chunks/TeleportRepoMismatchDialog-1.1.28-vy7p3j3e.mjs +0 -1
- package/dist/chunks/TeleportResumeWrapper-1.1.28-egnv67by.mjs +0 -1
- package/dist/chunks/TmuxBackend-1.1.28-y1ss2e0h.mjs +0 -9
- package/dist/chunks/ToolSearchTool-1.1.28-7w099741.mjs +0 -1
- package/dist/chunks/TrustDialog-1.1.28-49aey2f6.mjs +0 -1
- package/dist/chunks/activeProvider-1.1.28-gw9e23bc.mjs +0 -1
- package/dist/chunks/add-dir-1.1.28-5j989gf2.mjs +0 -1
- package/dist/chunks/agentTypes-1.1.28-hxk0wpj5.mjs +0 -1
- package/dist/chunks/agents-1.1.28-3yth9sa4.mjs +0 -110
- package/dist/chunks/agents-1.1.28-4qdh001q.mjs +0 -3
- package/dist/chunks/api-1.1.28-znpy0eyy.mjs +0 -1
- package/dist/chunks/asciicast-1.1.28-r6dsend4.mjs +0 -1
- package/dist/chunks/assistant-1.1.28-16hn1f6b.mjs +0 -1
- package/dist/chunks/auth-1.1.28-bw7dane8.mjs +0 -1
- package/dist/chunks/auth-1.1.28-ht6j3ag3.mjs +0 -1
- package/dist/chunks/autoMode-1.1.28-nyaf1s0s.mjs +0 -52
- package/dist/chunks/autoModeSetup-1.1.28-sjjeha2m.mjs +0 -44
- package/dist/chunks/autoUpdater-1.1.28-070wmr6y.mjs +0 -1
- package/dist/chunks/backgroundHousekeeping-1.1.28-y5mjznxx.mjs +0 -1
- package/dist/chunks/branch-1.1.28-5d97ysjr.mjs +0 -4
- package/dist/chunks/bridge-1.1.28-62qv0wgq.mjs +0 -2
- package/dist/chunks/bridgeConfig-1.1.28-m986jcxg.mjs +0 -1
- package/dist/chunks/bridgeEnabled-1.1.28-0fs5tkxx.mjs +0 -1
- package/dist/chunks/bridgeMain-1.1.28-pyr5gvmx.mjs +0 -88
- package/dist/chunks/bridgePointer-1.1.28-wpzz2yca.mjs +0 -1
- package/dist/chunks/btw-1.1.28-p1tk901s.mjs +0 -1
- package/dist/chunks/buddy-1.1.28-thrnzpdp.mjs +0 -3
- package/dist/chunks/cache-probe-1.1.28-bb4xsnev.mjs +0 -21
- package/dist/chunks/cacheStats-1.1.28-9p9fmxas.mjs +0 -4
- package/dist/chunks/caches-1.1.28-t6dq2xtp.mjs +0 -1
- package/dist/chunks/cd-1.1.28-84z1kqam.mjs +0 -3
- package/dist/chunks/claudeDesktop-1.1.28-3x0y2w87.mjs +0 -1
- package/dist/chunks/claudemd-1.1.28-skmb6ar5.mjs +0 -1
- package/dist/chunks/clear-1.1.28-78f1rnc5.mjs +0 -1
- package/dist/chunks/clearTerminal-1.1.28-sx5qqtxb.mjs +0 -1
- package/dist/chunks/cli-1.1.28-01g60h7m.mjs +0 -2
- package/dist/chunks/cli-1.1.28-040xb4f8.mjs +0 -2
- package/dist/chunks/cli-1.1.28-0c0kb6x2.mjs +0 -24
- package/dist/chunks/cli-1.1.28-0njtm2nf.mjs +0 -60
- package/dist/chunks/cli-1.1.28-0vgve5rw.mjs +0 -24
- package/dist/chunks/cli-1.1.28-12g8qyfk.mjs +0 -58
- package/dist/chunks/cli-1.1.28-130w2y17.mjs +0 -50
- package/dist/chunks/cli-1.1.28-13j6r7pz.mjs +0 -2
- package/dist/chunks/cli-1.1.28-14abe08r.mjs +0 -4
- package/dist/chunks/cli-1.1.28-1jd8x2af.mjs +0 -2
- package/dist/chunks/cli-1.1.28-1mscaejt.mjs +0 -2
- package/dist/chunks/cli-1.1.28-1q409efb.mjs +0 -2
- package/dist/chunks/cli-1.1.28-1rrn1mhr.mjs +0 -2
- package/dist/chunks/cli-1.1.28-1vrff9a3.mjs +0 -5
- package/dist/chunks/cli-1.1.28-2arzkhzs.mjs +0 -2
- package/dist/chunks/cli-1.1.28-2dafhgjv.mjs +0 -34
- package/dist/chunks/cli-1.1.28-2esp2ssp.mjs +0 -6
- package/dist/chunks/cli-1.1.28-2q7dztmb.mjs +0 -2
- package/dist/chunks/cli-1.1.28-2wem9fnx.mjs +0 -2
- package/dist/chunks/cli-1.1.28-2ykcw73j.mjs +0 -2
- package/dist/chunks/cli-1.1.28-2zhmwh7t.mjs +0 -2
- package/dist/chunks/cli-1.1.28-30yw5q4z.mjs +0 -4
- package/dist/chunks/cli-1.1.28-347ygvzg.mjs +0 -6
- package/dist/chunks/cli-1.1.28-36891pwy.mjs +0 -2
- package/dist/chunks/cli-1.1.28-36y6830c.mjs +0 -2
- package/dist/chunks/cli-1.1.28-37rkgevh.mjs +0 -2
- package/dist/chunks/cli-1.1.28-3bj091x6.mjs +0 -2
- package/dist/chunks/cli-1.1.28-3fssr567.mjs +0 -2
- package/dist/chunks/cli-1.1.28-3p6j7k4a.mjs +0 -2
- package/dist/chunks/cli-1.1.28-4kda7s33.mjs +0 -2
- package/dist/chunks/cli-1.1.28-4kxqqtpz.mjs +0 -2
- package/dist/chunks/cli-1.1.28-4mpm44jj.mjs +0 -9
- package/dist/chunks/cli-1.1.28-4qh42y9g.mjs +0 -2
- package/dist/chunks/cli-1.1.28-4sx3zr2c.mjs +0 -3
- package/dist/chunks/cli-1.1.28-58rs1ja0.mjs +0 -2
- package/dist/chunks/cli-1.1.28-5edzsdcr.mjs +0 -6
- package/dist/chunks/cli-1.1.28-5y1xeh89.mjs +0 -206
- package/dist/chunks/cli-1.1.28-638dshxx.mjs +0 -42
- package/dist/chunks/cli-1.1.28-6bc84c0n.mjs +0 -2
- package/dist/chunks/cli-1.1.28-6x9c71q9.mjs +0 -2
- package/dist/chunks/cli-1.1.28-6y7vtevf.mjs +0 -17
- package/dist/chunks/cli-1.1.28-75thpvfa.mjs +0 -2
- package/dist/chunks/cli-1.1.28-7amn29ks.mjs +0 -2
- package/dist/chunks/cli-1.1.28-7e3nqd5c.mjs +0 -2
- package/dist/chunks/cli-1.1.28-7fz4fqgd.mjs +0 -2
- package/dist/chunks/cli-1.1.28-7g65bppm.mjs +0 -2
- package/dist/chunks/cli-1.1.28-7nye6zs7.mjs +0 -4
- package/dist/chunks/cli-1.1.28-7pmtq82j.mjs +0 -2
- package/dist/chunks/cli-1.1.28-7vvtkeeh.mjs +0 -25
- package/dist/chunks/cli-1.1.28-7x94aewp.mjs +0 -2
- package/dist/chunks/cli-1.1.28-7zpfvkxq.mjs +0 -2
- package/dist/chunks/cli-1.1.28-81p0zmxc.mjs +0 -2
- package/dist/chunks/cli-1.1.28-83k0knzj.mjs +0 -2
- package/dist/chunks/cli-1.1.28-8ahmbnjh.mjs +0 -2
- package/dist/chunks/cli-1.1.28-8avwqt1z.mjs +0 -4
- package/dist/chunks/cli-1.1.28-8jrfznkw.mjs +0 -2
- package/dist/chunks/cli-1.1.28-8v2vx373.mjs +0 -2
- package/dist/chunks/cli-1.1.28-943993zt.mjs +0 -2
- package/dist/chunks/cli-1.1.28-94sk1z8g.mjs +0 -5
- package/dist/chunks/cli-1.1.28-95fs05hq.mjs +0 -2
- package/dist/chunks/cli-1.1.28-9e74kqtd.mjs +0 -2
- package/dist/chunks/cli-1.1.28-9s4pee5a.mjs +0 -2
- package/dist/chunks/cli-1.1.28-a00k75hj.mjs +0 -2
- package/dist/chunks/cli-1.1.28-a79xcdg3.mjs +0 -2
- package/dist/chunks/cli-1.1.28-ad15rvp0.mjs +0 -2
- package/dist/chunks/cli-1.1.28-ak2bzv1v.mjs +0 -16
- package/dist/chunks/cli-1.1.28-atrbc4s7.mjs +0 -2
- package/dist/chunks/cli-1.1.28-avxe0zxq.mjs +0 -15
- package/dist/chunks/cli-1.1.28-b2jq83aj.mjs +0 -15
- package/dist/chunks/cli-1.1.28-be8cxh1e.mjs +0 -2
- package/dist/chunks/cli-1.1.28-bfs5hmfp.mjs +0 -3
- package/dist/chunks/cli-1.1.28-bqtpnyqr.mjs +0 -2
- package/dist/chunks/cli-1.1.28-brh6rw23.mjs +0 -2
- package/dist/chunks/cli-1.1.28-bsqgt8m4.mjs +0 -2
- package/dist/chunks/cli-1.1.28-bwbz3v3j.mjs +0 -2
- package/dist/chunks/cli-1.1.28-bwgr7j8z.mjs +0 -2
- package/dist/chunks/cli-1.1.28-by5acg3a.mjs +0 -2
- package/dist/chunks/cli-1.1.28-c9nh8cpr.mjs +0 -2
- package/dist/chunks/cli-1.1.28-cb5wemmj.mjs +0 -7
- package/dist/chunks/cli-1.1.28-cfq2wwx5.mjs +0 -2
- package/dist/chunks/cli-1.1.28-cyrrpdkd.mjs +0 -2
- package/dist/chunks/cli-1.1.28-d5h3kve6.mjs +0 -24
- package/dist/chunks/cli-1.1.28-davs3ve8.mjs +0 -58
- package/dist/chunks/cli-1.1.28-denmqz0s.mjs +0 -2
- package/dist/chunks/cli-1.1.28-dqsxqszf.mjs +0 -2
- package/dist/chunks/cli-1.1.28-dy3tnnyd.mjs +0 -3
- package/dist/chunks/cli-1.1.28-e2mfhtpx.mjs +0 -2
- package/dist/chunks/cli-1.1.28-egskcwa5.mjs +0 -2
- package/dist/chunks/cli-1.1.28-ek683x01.mjs +0 -2
- package/dist/chunks/cli-1.1.28-epzkhgww.mjs +0 -2
- package/dist/chunks/cli-1.1.28-erqn7gwg.mjs +0 -6
- package/dist/chunks/cli-1.1.28-es8var4t.mjs +0 -2
- package/dist/chunks/cli-1.1.28-ev0gfjgf.mjs +0 -24
- package/dist/chunks/cli-1.1.28-evvcbjb6.mjs +0 -2
- package/dist/chunks/cli-1.1.28-f0vrbk1t.mjs +0 -2
- package/dist/chunks/cli-1.1.28-f1n8p9v2.mjs +0 -12
- package/dist/chunks/cli-1.1.28-f3rdt4zg.mjs +0 -2
- package/dist/chunks/cli-1.1.28-f8av9yzr.mjs +0 -39
- package/dist/chunks/cli-1.1.28-fetsedc8.mjs +0 -2
- package/dist/chunks/cli-1.1.28-ffy07rnm.mjs +0 -2
- package/dist/chunks/cli-1.1.28-fjbefwwe.mjs +0 -2
- package/dist/chunks/cli-1.1.28-fnd6z5bq.mjs +0 -2
- package/dist/chunks/cli-1.1.28-fv1twt9b.mjs +0 -8
- package/dist/chunks/cli-1.1.28-h00s5n5y.mjs +0 -2
- package/dist/chunks/cli-1.1.28-h7p3dmnv.mjs +0 -2
- package/dist/chunks/cli-1.1.28-hb02sa63.mjs +0 -2
- package/dist/chunks/cli-1.1.28-hkfays5k.mjs +0 -2
- package/dist/chunks/cli-1.1.28-hx5j3q23.mjs +0 -17
- package/dist/chunks/cli-1.1.28-hxbkncxe.mjs +0 -2
- package/dist/chunks/cli-1.1.28-hyd7kkyr.mjs +0 -2
- package/dist/chunks/cli-1.1.28-j5m0kc75.mjs +0 -3
- package/dist/chunks/cli-1.1.28-j6nysca9.mjs +0 -2
- package/dist/chunks/cli-1.1.28-jqnzq23v.mjs +0 -3
- package/dist/chunks/cli-1.1.28-jr3jtfkf.mjs +0 -2
- package/dist/chunks/cli-1.1.28-jwg70mjs.mjs +0 -2
- package/dist/chunks/cli-1.1.28-k0ewezmj.mjs +0 -20
- package/dist/chunks/cli-1.1.28-k10f3f7z.mjs +0 -3
- package/dist/chunks/cli-1.1.28-k7pnt9ba.mjs +0 -2
- package/dist/chunks/cli-1.1.28-kaddwxsy.mjs +0 -2
- package/dist/chunks/cli-1.1.28-kc8f0nz7.mjs +0 -3
- package/dist/chunks/cli-1.1.28-khcgtk4a.mjs +0 -2
- package/dist/chunks/cli-1.1.28-knfg26kb.mjs +0 -2
- package/dist/chunks/cli-1.1.28-m6k4d2wx.mjs +0 -2
- package/dist/chunks/cli-1.1.28-mdexghj2.mjs +0 -2
- package/dist/chunks/cli-1.1.28-mk8zwqb2.mjs +0 -4
- package/dist/chunks/cli-1.1.28-mkm05wf9.mjs +0 -2
- package/dist/chunks/cli-1.1.28-mpjz8znf.mjs +0 -3
- package/dist/chunks/cli-1.1.28-mqmy0gy0.mjs +0 -2
- package/dist/chunks/cli-1.1.28-mvkxhjmj.mjs +0 -2
- package/dist/chunks/cli-1.1.28-mx413hqd.mjs +0 -3
- package/dist/chunks/cli-1.1.28-n2jx5w3n.mjs +0 -2
- package/dist/chunks/cli-1.1.28-n7v87yyn.mjs +0 -2
- package/dist/chunks/cli-1.1.28-n8d1x31e.mjs +0 -2
- package/dist/chunks/cli-1.1.28-neqd5cwa.mjs +0 -2
- package/dist/chunks/cli-1.1.28-nq2qxnzx.mjs +0 -10
- package/dist/chunks/cli-1.1.28-nqjbqqb6.mjs +0 -4
- package/dist/chunks/cli-1.1.28-nyvjfkx6.mjs +0 -2
- package/dist/chunks/cli-1.1.28-p11zcjmv.mjs +0 -2
- package/dist/chunks/cli-1.1.28-pabfwpqr.mjs +0 -2
- package/dist/chunks/cli-1.1.28-pdxwmetp.mjs +0 -25
- package/dist/chunks/cli-1.1.28-pfnc9p9n.mjs +0 -2
- package/dist/chunks/cli-1.1.28-prd0t983.mjs +0 -9
- package/dist/chunks/cli-1.1.28-pykx8k1j.mjs +0 -4
- package/dist/chunks/cli-1.1.28-q14qmewe.mjs +0 -2
- package/dist/chunks/cli-1.1.28-q43r6snq.mjs +0 -2
- package/dist/chunks/cli-1.1.28-q6dv65zx.mjs +0 -2
- package/dist/chunks/cli-1.1.28-qb921m5a.mjs +0 -3
- package/dist/chunks/cli-1.1.28-qf1qq8t0.mjs +0 -3
- package/dist/chunks/cli-1.1.28-qhqkr80z.mjs +0 -45
- package/dist/chunks/cli-1.1.28-qj312jgw.mjs +0 -2
- package/dist/chunks/cli-1.1.28-qjn28vhw.mjs +0 -2
- package/dist/chunks/cli-1.1.28-qrx5ata3.mjs +0 -2
- package/dist/chunks/cli-1.1.28-qvpamm5s.mjs +0 -4
- package/dist/chunks/cli-1.1.28-qvr8rkg2.mjs +0 -2
- package/dist/chunks/cli-1.1.28-qzg6n6hj.mjs +0 -2
- package/dist/chunks/cli-1.1.28-r81y1681.mjs +0 -3
- package/dist/chunks/cli-1.1.28-rbjeq16x.mjs +0 -2
- package/dist/chunks/cli-1.1.28-rbne7wtq.mjs +0 -4
- package/dist/chunks/cli-1.1.28-rez81jab.mjs +0 -6
- package/dist/chunks/cli-1.1.28-rq49kn4q.mjs +0 -2
- package/dist/chunks/cli-1.1.28-rt0aect8.mjs +0 -2
- package/dist/chunks/cli-1.1.28-rwfwz209.mjs +0 -2
- package/dist/chunks/cli-1.1.28-s1pbcd86.mjs +0 -3
- package/dist/chunks/cli-1.1.28-s2pcpdyc.mjs +0 -2
- package/dist/chunks/cli-1.1.28-s6w8jb6z.mjs +0 -2
- package/dist/chunks/cli-1.1.28-smb1frk6.mjs +0 -2
- package/dist/chunks/cli-1.1.28-ss8nzmnb.mjs +0 -12
- package/dist/chunks/cli-1.1.28-sx3mmc5d.mjs +0 -2
- package/dist/chunks/cli-1.1.28-sz8sgxj4.mjs +0 -2
- package/dist/chunks/cli-1.1.28-t5yawarz.mjs +0 -2
- package/dist/chunks/cli-1.1.28-tt0c354s.mjs +0 -2
- package/dist/chunks/cli-1.1.28-v1p12e3g.mjs +0 -2
- package/dist/chunks/cli-1.1.28-v5r7bmzh.mjs +0 -2
- package/dist/chunks/cli-1.1.28-v5ypq0r2.mjs +0 -2
- package/dist/chunks/cli-1.1.28-v6ewa1y0.mjs +0 -2
- package/dist/chunks/cli-1.1.28-vctvnrwx.mjs +0 -133
- package/dist/chunks/cli-1.1.28-vf3j29kt.mjs +0 -2
- package/dist/chunks/cli-1.1.28-vgfss8e4.mjs +0 -2
- package/dist/chunks/cli-1.1.28-vje1ac31.mjs +0 -7
- package/dist/chunks/cli-1.1.28-vphadsag.mjs +0 -2
- package/dist/chunks/cli-1.1.28-vyzp74xh.mjs +0 -3
- package/dist/chunks/cli-1.1.28-w0kxa99b.mjs +0 -2
- package/dist/chunks/cli-1.1.28-w6cd3j36.mjs +0 -20
- package/dist/chunks/cli-1.1.28-wew8jymx.mjs +0 -2
- package/dist/chunks/cli-1.1.28-wmyy1pdj.mjs +0 -2
- package/dist/chunks/cli-1.1.28-wvj52k91.mjs +0 -2
- package/dist/chunks/cli-1.1.28-wze93r29.mjs +0 -2
- package/dist/chunks/cli-1.1.28-x04zkwy5.mjs +0 -18
- package/dist/chunks/cli-1.1.28-x0ypcq4e.mjs +0 -2
- package/dist/chunks/cli-1.1.28-x13sctb2.mjs +0 -2
- package/dist/chunks/cli-1.1.28-xv2tg10n.mjs +0 -2
- package/dist/chunks/cli-1.1.28-y173v5ak.mjs +0 -133
- package/dist/chunks/cli-1.1.28-y4k1f7he.mjs +0 -2
- package/dist/chunks/cli-1.1.28-y5w3ev7m.mjs +0 -2
- package/dist/chunks/cli-1.1.28-yaa1gft3.mjs +0 -15
- package/dist/chunks/cli-1.1.28-ypzyse5q.mjs +0 -2
- package/dist/chunks/cli-1.1.28-yv5gzenz.mjs +0 -2
- package/dist/chunks/cli-1.1.28-yyk292aq.mjs +0 -6
- package/dist/chunks/cli-1.1.28-z4kzjv3v.mjs +0 -21
- package/dist/chunks/cli-1.1.28-z5mbbt38.mjs +0 -2
- package/dist/chunks/cli-1.1.28-zarbrcn7.mjs +0 -2
- package/dist/chunks/cli-1.1.28-ze1j03ww.mjs +0 -1
- package/dist/chunks/cli-1.1.28-zhftjycn.mjs +0 -5553
- package/dist/chunks/cli-1.1.28-zqpvgqxf.mjs +0 -2
- package/dist/chunks/cli-1.1.28-zv9zfwz9.mjs +0 -2
- package/dist/chunks/client-1.1.28-59t63af8.mjs +0 -1
- package/dist/chunks/color-1.1.28-gmbrq89g.mjs +0 -1
- package/dist/chunks/compact-1.1.28-14hmkmd6.mjs +0 -3
- package/dist/chunks/config-1.1.28-b69ey9g1.mjs +0 -1
- package/dist/chunks/config-1.1.28-cryax439.mjs +0 -1
- package/dist/chunks/constants-1.1.28-63cv4s6z.mjs +0 -1
- package/dist/chunks/context-1.1.28-09kfp2sa.mjs +0 -1
- package/dist/chunks/context-noninteractive-1.1.28-h9279pbh.mjs +0 -1
- package/dist/chunks/conversation-1.1.28-qnj7ywxq.mjs +0 -1
- package/dist/chunks/copilotHeaders-1.1.28-yjrmx9z1.mjs +0 -1
- package/dist/chunks/copy-1.1.28-az1n9y3n.mjs +0 -9
- package/dist/chunks/cost-1.1.28-507xt42s.mjs +0 -1
- package/dist/chunks/createSSHSession-1.1.28-m9ecjhc1.mjs +0 -1
- package/dist/chunks/createSession-1.1.28-gbrmw9ad.mjs +0 -1
- package/dist/chunks/debug-1.1.28-k9m06yz6.mjs +0 -1
- package/dist/chunks/defaultActionDeps-1.1.28-4sxh2jyw.mjs +0 -1534
- package/dist/chunks/desktop-1.1.28-ycc1hv5c.mjs +0 -1
- package/dist/chunks/detectRepository-1.1.28-mxrqqjv6.mjs +0 -1
- package/dist/chunks/detection-1.1.28-06p2mev8.mjs +0 -1
- package/dist/chunks/diff-1.1.28-d9a2n60t.mjs +0 -1
- package/dist/chunks/doctor-1.1.28-qef12k2p.mjs +0 -1
- package/dist/chunks/doctorDiagnostic-1.1.28-v5rq4x27.mjs +0 -1
- package/dist/chunks/earlyInput-1.1.28-xr89w719.mjs +0 -1
- package/dist/chunks/effort-1.1.28-yjbwr68r.mjs +0 -13
- package/dist/chunks/engine-1.1.28-yv6qdcgp.mjs +0 -1
- package/dist/chunks/envLessBridgeConfig-1.1.28-tpjzc2ar.mjs +0 -1
- package/dist/chunks/envUtils-1.1.28-n17cxj8h.mjs +0 -1
- package/dist/chunks/environmentSelection-1.1.28-c7vj172q.mjs +0 -1
- package/dist/chunks/environments-1.1.28-08b7gpg6.mjs +0 -1
- package/dist/chunks/errors-1.1.28-eysc80qa.mjs +0 -1
- package/dist/chunks/exampleCommands-1.1.28-gk1ma509.mjs +0 -1
- package/dist/chunks/execFileNoThrow-1.1.28-4nc53n56.mjs +0 -1
- package/dist/chunks/exit-1.1.28-7rjnfzc2.mjs +0 -1
- package/dist/chunks/explorer-1.1.28-hf7jvkfg.mjs +0 -1
- package/dist/chunks/export-1.1.28-3xgdy7gr.mjs +0 -2
- package/dist/chunks/extra-usage-1.1.28-6wkgsscs.mjs +0 -1
- package/dist/chunks/extra-usage-noninteractive-1.1.28-03hnqa8n.mjs +0 -1
- package/dist/chunks/fast-1.1.28-gf0rb9by.mjs +0 -1
- package/dist/chunks/feedback-1.1.28-dvdyq5v7.mjs +0 -14
- package/dist/chunks/firstPartyEventLogger-1.1.28-rd6eskzg.mjs +0 -1
- package/dist/chunks/git-1.1.28-ktf61jaz.mjs +0 -1
- package/dist/chunks/githubModelsCredentials-1.1.28-re8t0b2z.mjs +0 -1
- package/dist/chunks/goal-1.1.28-s7n55rqn.mjs +0 -4
- package/dist/chunks/growthbook-1.1.28-jcs0qzz8.mjs +0 -1
- package/dist/chunks/headless-1.1.28-yzfk04g2.mjs +0 -2
- package/dist/chunks/heapdump-1.1.28-hgfac8pe.mjs +0 -6
- package/dist/chunks/help-1.1.28-yhrv28x1.mjs +0 -1
- package/dist/chunks/hookChains-1.1.28-9y5pz734.mjs +0 -3
- package/dist/chunks/hooks-1.1.28-pwy1h39c.mjs +0 -79
- package/dist/chunks/hooks-1.1.28-xhtrbwa5.mjs +0 -1
- package/dist/chunks/ide-1.1.28-27vb56tk.mjs +0 -3
- package/dist/chunks/image-processor-napi-1.1.28-b092deny.mjs +0 -1
- package/dist/chunks/import-1.1.28-bqs6ebec.mjs +0 -261
- package/dist/chunks/inboundAttachments-1.1.28-0jb4nc2j.mjs +0 -1
- package/dist/chunks/index-1.1.28-0p3tfhd7.mjs +0 -23
- package/dist/chunks/index-1.1.28-30ges9rx.mjs +0 -1
- package/dist/chunks/index-1.1.28-3kg2kmpd.mjs +0 -1
- package/dist/chunks/index-1.1.28-76ztpb54.mjs +0 -1
- package/dist/chunks/index-1.1.28-a6fzpa8n.mjs +0 -1
- package/dist/chunks/index-1.1.28-ac1sbem8.mjs +0 -9
- package/dist/chunks/index-1.1.28-axnrgqkq.mjs +0 -1
- package/dist/chunks/index-1.1.28-b5b1qact.mjs +0 -1
- package/dist/chunks/index-1.1.28-bqm5cnw1.mjs +0 -1
- package/dist/chunks/index-1.1.28-bt937784.mjs +0 -1
- package/dist/chunks/index-1.1.28-bxtzy977.mjs +0 -2
- package/dist/chunks/index-1.1.28-dgnx1m4x.mjs +0 -9
- package/dist/chunks/index-1.1.28-dtfxav1q.mjs +0 -1
- package/dist/chunks/index-1.1.28-gk3v69b8.mjs +0 -1
- package/dist/chunks/index-1.1.28-m2nnkj3d.mjs +0 -1
- package/dist/chunks/index-1.1.28-qk8rhq5n.mjs +0 -1
- package/dist/chunks/index-1.1.28-vgc6r0g0.mjs +0 -1
- package/dist/chunks/index-1.1.28-w2a4k4md.mjs +0 -2
- package/dist/chunks/index-1.1.28-wajajmmp.mjs +0 -1
- package/dist/chunks/index-1.1.28-xaw4tf13.mjs +0 -30
- package/dist/chunks/index-1.1.28-y7jd8m9f.mjs +0 -1
- package/dist/chunks/index-1.1.28-ymg3kz4x.mjs +0 -5
- package/dist/chunks/index-1.1.28-z85wbmey.mjs +0 -1
- package/dist/chunks/init-1.1.28-vt168swt.mjs +0 -1
- package/dist/chunks/initReplBridge-1.1.28-vtkc85kf.mjs +0 -1
- package/dist/chunks/ink-1.1.28-8bcvzs97.mjs +0 -1
- package/dist/chunks/insights-1.1.28-hcccjwbm.mjs +0 -870
- package/dist/chunks/install-1.1.28-azeaj14w.mjs +0 -1
- package/dist/chunks/install-github-app-1.1.28-jr58yj7c.mjs +0 -149
- package/dist/chunks/install-slack-app-1.1.28-ca73e004.mjs +0 -1
- package/dist/chunks/instrumentation-1.1.28-v5fj6zfn.mjs +0 -1
- package/dist/chunks/interactiveHelpers-1.1.28-k8pjx51r.mjs +0 -1
- package/dist/chunks/keybindings-1.1.28-szefym9t.mjs +0 -2
- package/dist/chunks/knowledge-1.1.28-twc2bf6q.mjs +0 -2
- package/dist/chunks/latestVersionCache-1.1.28-swqk1ppm.mjs +0 -1
- package/dist/chunks/loadAgentsDir-1.1.28-gvzkk593.mjs +0 -1
- package/dist/chunks/loadPluginHooks-1.1.28-j5fvzh5b.mjs +0 -1
- package/dist/chunks/log-1.1.28-744tvnnz.mjs +0 -1
- package/dist/chunks/main-1.1.28-ngd4qj24.mjs +0 -1
- package/dist/chunks/managedEnv-1.1.28-v3t5y08t.mjs +0 -1
- package/dist/chunks/mcp-1.1.28-bjtwbjwv.mjs +0 -17
- package/dist/chunks/mcp-1.1.28-k0p4t3rs.mjs +0 -1
- package/dist/chunks/mcp-1.1.28-pxxge6kd.mjs +0 -4
- package/dist/chunks/mcpb-1.1.28-rjvsf8d4.mjs +0 -1
- package/dist/chunks/memory-1.1.28-437zyh3m.mjs +0 -77
- package/dist/chunks/model-1.1.28-1weg50dg.mjs +0 -2
- package/dist/chunks/model-1.1.28-qbnnaa17.mjs +0 -1
- package/dist/chunks/node-1.1.28-f9q7m0bb.mjs +0 -15
- package/dist/chunks/node-1.1.28-q18jbvyv.mjs +0 -1
- package/dist/chunks/oauth-1.1.28-nv1bmgrh.mjs +0 -1
- package/dist/chunks/openaiShim-1.1.28-qt0bgn0p.mjs +0 -14
- package/dist/chunks/output-style-1.1.28-xpmnvzvz.mjs +0 -1
- package/dist/chunks/package-OS7RONXY-1.1.28-s8fma63p.mjs +0 -1
- package/dist/chunks/parseConnectUrl-1.1.28-9e7g8r3q.mjs +0 -1
- package/dist/chunks/parser-1.1.28-hahczgmc.mjs +0 -1
- package/dist/chunks/passes-1.1.28-73vxd2mh.mjs +0 -1
- package/dist/chunks/permissions-1.1.28-4dzfyh6m.mjs +0 -1
- package/dist/chunks/permissions-1.1.28-mh27xg9k.mjs +0 -3
- package/dist/chunks/plan-1.1.28-awnhzrk0.mjs +0 -1
- package/dist/chunks/plist-1.1.28-yf5fjx19.mjs +0 -1
- package/dist/chunks/plugin-1.1.28-m9j8cnkz.mjs +0 -29
- package/dist/chunks/pluginStartupCheck-1.1.28-w4yvsmat.mjs +0 -1
- package/dist/chunks/plugins-1.1.28-rgr19gwa.mjs +0 -9
- package/dist/chunks/preActionHook-1.1.28-bq157gz5.mjs +0 -2
- package/dist/chunks/print-1.1.28-g8smjzce.mjs +0 -57
- package/dist/chunks/process-1.1.28-tk5w2b0a.mjs +0 -1
- package/dist/chunks/processBashCommand-1.1.28-0a601ws2.mjs +0 -1
- package/dist/chunks/processSlashCommand-1.1.28-2mq2y7nd.mjs +0 -9
- package/dist/chunks/prompt-1.1.28-tj8v37yx.mjs +0 -1
- package/dist/chunks/prompt-1.1.28-x4mxe7n2.mjs +0 -1
- package/dist/chunks/prompts-1.1.28-z2rx5cb6.mjs +0 -1
- package/dist/chunks/protocolHandler-1.1.28-cvce24s6.mjs +0 -13
- package/dist/chunks/provider-1.1.28-wd0k9dj9.mjs +0 -2
- package/dist/chunks/providerProfiles-1.1.28-ansdm0bp.mjs +0 -1
- package/dist/chunks/providerValidation-1.1.28-xkpar3nj.mjs +0 -6
- package/dist/chunks/rate-limit-options-1.1.28-kv8762wq.mjs +0 -1
- package/dist/chunks/registerSubcommands-1.1.28-464hjqs0.mjs +0 -26
- package/dist/chunks/registry-1.1.28-a9wz892f.mjs +0 -1
- package/dist/chunks/release-notes-1.1.28-3dsn738r.mjs +0 -5
- package/dist/chunks/reload-plugins-1.1.28-8kfgxbx6.mjs +0 -2
- package/dist/chunks/remote-env-1.1.28-x46beyd7.mjs +0 -1
- package/dist/chunks/remoteBridgeCore-1.1.28-1pr9890h.mjs +0 -1
- package/dist/chunks/remoteSession-1.1.28-0dbsb9gr.mjs +0 -1
- package/dist/chunks/rename-1.1.28-m7z3qe6s.mjs +0 -1
- package/dist/chunks/replBridgeHandle-1.1.28-h8cn3e2b.mjs +0 -1
- package/dist/chunks/replLauncher-1.1.28-dc94xnm0.mjs +0 -1
- package/dist/chunks/resume-1.1.28-mr6necqk.mjs +0 -2
- package/dist/chunks/rewind-1.1.28-dk5z09nd.mjs +0 -1
- package/dist/chunks/rootOptions-1.1.28-g6c2bc4a.mjs +0 -1
- package/dist/chunks/runWorkflowHeadless-1.1.28-2r5z099n.mjs +0 -10
- package/dist/chunks/sandbox-adapter-1.1.28-9gkyj8zg.mjs +0 -1
- package/dist/chunks/sandbox-toggle-1.1.28-mvyww40e.mjs +0 -1
- package/dist/chunks/session-1.1.28-8xwfxnzq.mjs +0 -2
- package/dist/chunks/sessionDiscovery-1.1.28-6twnc7gm.mjs +0 -1
- package/dist/chunks/sessionFileAccessHooks-1.1.28-w6yt6st1.mjs +0 -1
- package/dist/chunks/sessionStorage-1.1.28-rfvff5qy.mjs +0 -1
- package/dist/chunks/settings-1.1.28-b3wrgfej.mjs +0 -1
- package/dist/chunks/setup-1.1.28-6vt58sg8.mjs +0 -12
- package/dist/chunks/sinks-1.1.28-rdvsx829.mjs +0 -1
- package/dist/chunks/skills-1.1.28-b53h2c2v.mjs +0 -1
- package/dist/chunks/startupProfiler-1.1.28-mk4vmdef.mjs +0 -1
- package/dist/chunks/startupUpdateCheck-1.1.28-0p8x3xh5.mjs +0 -1
- package/dist/chunks/state-1.1.28-fd27gqw0.mjs +0 -1
- package/dist/chunks/stats-1.1.28-fmezsyc4.mjs +0 -1
- package/dist/chunks/status-1.1.28-67a4bkc3.mjs +0 -1
- package/dist/chunks/stickers-1.1.28-0g68m8nd.mjs +0 -1
- package/dist/chunks/subprocessEnv-1.1.28-548a2kyv.mjs +0 -1
- package/dist/chunks/tasks-1.1.28-h3xfz4f4.mjs +0 -1
- package/dist/chunks/teamHelpers-1.1.28-4twfmqhf.mjs +0 -1
- package/dist/chunks/teammateModeSnapshot-1.1.28-7p6f8wg0.mjs +0 -1
- package/dist/chunks/teleport-1.1.28-zdrc7v25.mjs +0 -1
- package/dist/chunks/terminalSetup-1.1.28-fbkk7v65.mjs +0 -1
- package/dist/chunks/theme-1.1.28-tj36fh0f.mjs +0 -1
- package/dist/chunks/thinkback-1.1.28-x1bq9k3h.mjs +0 -1
- package/dist/chunks/thinkback-play-1.1.28-3jdfk2q7.mjs +0 -1
- package/dist/chunks/toolPool-1.1.28-fpt8xrnv.mjs +0 -1
- package/dist/chunks/toolSearch-1.1.28-mvqt18a8.mjs +0 -1
- package/dist/chunks/tools-1.1.28-a9t3fc6d.mjs +0 -1
- package/dist/chunks/trustedDevice-1.1.28-9e0gqehg.mjs +0 -1
- package/dist/chunks/turndown.cjs-1.1.28-dhs0afg7.mjs +0 -69
- package/dist/chunks/types-1.1.28-51fcbp8c.mjs +0 -1
- package/dist/chunks/ultrareviewCommand-1.1.28-d4ca5c58.mjs +0 -4
- package/dist/chunks/update-1.1.28-t9v2gpbh.mjs +0 -72
- package/dist/chunks/upgrade-1.1.28-12174ed0.mjs +0 -1
- package/dist/chunks/upload-1.1.28-whe18m8m.mjs +0 -7
- package/dist/chunks/upstreamproxy-1.1.28-bnjrek99.mjs +0 -14
- package/dist/chunks/url-handler-napi-1.1.28-0gh9dbnj.mjs +0 -1
- package/dist/chunks/usage-1.1.28-6m1bv4x5.mjs +0 -1
- package/dist/chunks/util-1.1.28-cvpx898d.mjs +0 -1
- package/dist/chunks/utils-1.1.28-ztac8cf7.mjs +0 -1
- package/dist/chunks/vim-1.1.28-rrv9qbr2.mjs +0 -1
- package/dist/chunks/watchLoop-1.1.28-rtznty0c.mjs +0 -13
- package/dist/chunks/watcher-1.1.28-7v4bd9pm.mjs +0 -1
- package/dist/chunks/wiki-1.1.28-m0y2n8rc.mjs +0 -132
- package/dist/chunks/workflows-1.1.28-k9wt163q.mjs +0 -1
- package/dist/chunks/worktree-1.1.28-5bjehwgc.mjs +0 -1
- package/dist/chunks/worktreeModeEnabled-1.1.28-d1yy7627.mjs +0 -1
- package/dist/chunks/wrapper-1.1.28-qgyry9mh.mjs +0 -7
- /package/dist/chunks/{cli-1.1.28-m37hk495.mjs → cli-1.1.29-09pf4n9h.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.28-f658tc1w.mjs → cli-1.1.29-8zfk7gyk.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.28-m7x3ax7z.mjs → cli-1.1.29-h0m93zmw.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.28-7d7hz6b4.mjs → cli-1.1.29-skjcgaw2.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.28-qzdtd4w8.mjs → cli-1.1.29-v507w0kc.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.28-43p679k7.mjs → cli-1.1.29-vk67t66v.mjs} +0 -0
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import{ed as K2,fd as sq}from"./cli-1.1.28-75thpvfa.mjs";import{gd as V2,hd as X2,id as a0,jd as y2,ld as rq}from"./cli-1.1.28-rq49kn4q.mjs";import{md as _0,pd as tq}from"./cli-1.1.28-s2pcpdyc.mjs";import{ci as m2,di as iq}from"./cli-1.1.28-p11zcjmv.mjs";import{$q as O4,Aq as Cz,Ax as pq,Bq as fz,Cq as gz,Dq as xz,Eq as R2,Fq as G0,Gq as K4,Hq as cz,Iq as lz,Jq as Iq,Kq as j4,MG as L0,Mq as az,NG as t4,Nq as Q2,OI as r4,PI as r2,Pq as iz,RI as nq,SI as aq,Sq as wz,Tq as Lq,Uq as Bz,Vq as jz,WG as C,Wq as Oz,XG as t2,Xq as Uz,Yq as J0,Zq as X4,_q as Fq,aH as U4,bH as dq,br as Ez,cr as $2,er as uz,es as J2,fs as lq,py as W2,qH as Wz,rH as mq,ry as vq,sH as mz,tH as Vz,uH as Xz,vH as Vq,wx as Z2,xx as N2,yx as G2,zx as Y2}from"./cli-1.1.28-zhftjycn.mjs";import{kZ as a,mZ as xq,yZ as z2,zZ as cq}from"./cli-1.1.28-n2jx5w3n.mjs";import{L1 as w,N1 as N,q2 as x4}from"./cli-1.1.28-0njtm2nf.mjs";import{M3 as c4,N3 as l4,O3 as p4,P3 as v4,Q3 as d4,R3 as i2,U3 as n4,Y3 as a4,Z3 as q2,_3 as i4}from"./cli-1.1.28-95fs05hq.mjs";import{a5 as N0,b5 as $,c5 as y,d5 as g0}from"./cli-1.1.28-v5ypq0r2.mjs";import{e5 as U0}from"./cli-1.1.28-yv5gzenz.mjs";import{D5 as l0,E5 as Hz}from"./cli-1.1.28-j5m0kc75.mjs";import{M7 as n0,U5 as g4,W5 as a2,d8 as gq}from"./cli-1.1.28-ak2bzv1v.mjs";import{A$ as F0,B$ as Aq,Cga as oz,Dga as M0,Ega as Cq,Fga as i0,Gga as n,Iga as v,Jga as d0,Jha as fq,Lga as P0,Mga as F4,Nga as R0,Oga as Q0,Sga as $0,Tga as M4,Vga as _4,Zga as f4,cha as W4,dha as Jz,eha as Zz,fha as x0,gha as m4,hha as Nz,iha as Y4,jha as Gz,kha as Yz,lha as Wq,mha as w4,nha as Kz,oha as B4,qha as bz,sha as ez,tha as t0}from"./cli-1.1.28-5y1xeh89.mjs";import{tma as t,zma as c0}from"./cli-1.1.28-khcgtk4a.mjs";import{Rta as O0,Sta as kq,Vta as d}from"./cli-1.1.28-3fssr567.mjs";function o2(z,q=J4,R){let J=n().find((W)=>W.provider==="openai"&&W.extras?.githubToken!==void 0);if(J){if(!Q0(J.id,{provider:"openai",name:J.name,baseUrl:R||J.baseUrl,model:J.model||q,apiKey:z,extras:{...J.extras,githubToken:z}}))return{mode:"failed"};return $0(J.id),{mode:"updated"}}if(!R0({provider:"openai",name:"GitHub Copilot",baseUrl:R||s2,model:q,apiKey:z,extras:{githubToken:z}},{makeActive:!0}))return{mode:"failed"};return{mode:"created"}}function s4({onDone:z,onBack:q,onChangeAPIKey:R}){let J=n4()?.trim()?"already-authed":"menu",[G,W]=i.useState(J),[_,b]=i.useState(null),[M,K]=i.useState(""),[L,P]=i.useState(0),[U,T]=i.useState(null),h=i.useCallback(async(f,D=J4,Z0,I)=>{let p=a4(f,Z0,I?.enterpriseDomain);if(!p.success){b(p.warning??"Could not save token to secure storage."),W("error");return}if(o2(f,D,I?.baseUrl).mode==="failed"){b("Could not save the GitHub Copilot provider profile."),W("error");return}g4(),R?.(),z("GitHub Copilot onboard complete. Copilot token stored in secure storage and as the active /provider profile.",{display:"user"})},[R,z]),X=i.useCallback(async(f)=>{W("device-busy"),b(null),T(null);try{let D=await l4({domain:f});T({user_code:D.user_code,verification_uri:D.verification_uri}),await v4(D.verification_uri);let Z0=await p4(D.device_code,{initialInterval:D.interval,timeoutSeconds:D.expires_in,domain:f}),I=await d4(Z0,{domain:f});await h(I.token,J4,Z0,{baseUrl:I.endpoints.api?.replace(/\/+$/,"")||void 0,enterpriseDomain:f})}catch(D){b(D instanceof Error?D.message:String(D)),W("error")}},[h]);if(G==="already-authed")return y(w,{flexDirection:"column",gap:1,children:[$(N,{bold:!0,children:"GitHub Copilot"}),$(N,{children:"You are already signed in to GitHub Copilot."}),$(N,{dimColor:!0,children:'Choose "Sign in again" to refresh your token, or go back to the provider menu.'}),$(C,{options:[{label:"Sign in again",value:"sign-in-again"},{label:"Sign in with GitHub Enterprise",value:"enterprise"},{label:q?"Back to /provider menu":"Cancel",value:"back"}],onChange:(D)=>{if(D==="sign-in-again"){X();return}if(D==="enterprise"){W("enterprise-domain");return}if(q){q();return}z("GitHub onboard cancelled",{display:"system"})}})]});if(G==="enterprise-domain")return y(w,{flexDirection:"column",gap:1,children:[$(N,{bold:!0,children:"GitHub Enterprise sign-in"}),$(N,{dimColor:!0,children:"Enter your GitHub Enterprise domain (e.g. github.acme.com). Leave empty for github.com."}),y(w,{flexDirection:"row",gap:1,children:[$(N,{children:">"}),$(L0,{value:M,onChange:K,onSubmit:()=>{let D=c4(M);if(!D){X();return}X(D)},onExit:()=>W(J),focus:!0,showCursor:!0,placeholder:"github.acme.com",columns:80,cursorOffset:L,onChangeCursorOffset:P})]}),$(N,{dimColor:!0,children:"Press Enter to continue. Press Esc to go back."})]});if(G==="error"&&_)return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"error",children:_}),$(C,{options:[{label:q?"Back to /provider menu":"Back to menu",value:"back"},{label:"Exit",value:"exit"}],onChange:(D)=>{if(D==="back"){if(q){q();return}W("menu"),b(null);return}z("GitHub onboard cancelled",{display:"system"})}})]});if(G==="device-busy")return y(w,{flexDirection:"column",gap:1,children:[$(N,{children:"GitHub Copilot sign-in"}),U?y(N0,{children:[y(N,{children:["Enter code ",$(N,{bold:!0,children:U.user_code})," at"," ",U.verification_uri]}),$(N,{dimColor:!0,children:"A browser window may have opened. Waiting for authorization..."})]}):$(N,{dimColor:!0,children:"Requesting device code from GitHub..."}),$(r4,{})]});return y(w,{flexDirection:"column",gap:1,children:[$(N,{bold:!0,children:"GitHub Copilot setup"}),$(N,{dimColor:!0,children:"Stores your token in the OS credential store (macOS Keychain when available) and creates a /provider profile so Copilot is the active provider — no manual env exports required."}),$(C,{options:[{label:"Sign in with browser",value:"device"},{label:"Sign in with GitHub Enterprise",value:"enterprise"},{label:q?"Back to /provider menu":"Cancel",value:"cancel"}],onChange:(f)=>{if(f==="cancel"){if(q){q();return}z("GitHub onboard cancelled",{display:"system"});return}if(f==="enterprise"){W("enterprise-domain");return}X()}})]})}var i,J4="github:copilot",s2="https://api.githubcopilot.com";var o4=d(()=>{t2();r2();t4();x4();i2();i4();a2();f4();g0();i=O0(U0(),1)});function zz(z){return[z.name,z.family??"",...z.families??[],z.parameterSize??"",z.quantizationLevel??""].join(" ").toLowerCase()}function I0(z,q){return q.some((R)=>z.includes(R))}function Rq(z){return!I0(zz(z),e4)}function Qq(z){return z.find(Rq)??null}function Z4(z){let R=`${z.parameterSize??""} ${z.name}`.toLowerCase().match(/(\d+(?:\.\d+)?)\s*b\b/);if(R?.[1])return Number(R[1]);if(typeof z.sizeBytes==="number"&&z.sizeBytes>0)return Number((z.sizeBytes/1e9).toFixed(1));return null}function $q(z){return(z.quantizationLevel??z.name).toLowerCase()}function Jq(z,q,R){if(z===null)return R.push("unknown size"),0;if(q==="latency"){if(z<=4)return R.push("tiny model for low latency"),32;if(z<=8)return R.push("small model for fast responses"),26;if(z<=14)return R.push("mid-sized model with acceptable latency"),16;if(z<=24)return R.push("larger model may be slower"),8;return R.push("large model likely slower locally"),z<=40?0:-8}if(q==="coding"){if(z>=7&&z<=14)return R.push("strong coding size tier"),24;if(z>14&&z<=34)return R.push("large coding-capable size tier"),28;if(z>34)return R.push("very large model with higher quality potential"),18;return R.push("compact model may trade off coding depth"),12}if(z>=7&&z<=14)return R.push("great balanced size tier"),26;if(z>=3&&z<7)return R.push("compact balanced size tier"),18;if(z>14&&z<=24)return R.push("high quality balanced size tier"),20;if(z>24)return R.push("large model for quality-first usage"),10;return R.push("very small model for general usage"),8}function Zq(z,q,R){let J=$q(z);if(J.includes("q4"))return R.push("efficient Q4 quantization"),q==="latency"?8:4;if(J.includes("q5"))return R.push("balanced Q5 quantization"),q==="latency"?6:5;if(J.includes("q8"))return R.push("higher quality Q8 quantization"),q==="latency"?2:5;return 0}function Nq(z,q,R){if(q.score!==z.score)return q.score-z.score;let J=Z4(z)??Number.POSITIVE_INFINITY,G=Z4(q)??Number.POSITIVE_INFINITY;if(R==="latency")return J-G;if(R==="coding")return G-J;let W=14;return Math.abs(J-W)-Math.abs(G-W)}function N4(z,q){return z.map((R)=>{let J=zz(R),G=[],W=0;if(I0(J,e4))W-=40,G.push("not a chat-first model");if(I0(J,e2))W+=q==="coding"?24:q==="balanced"?10:4,G.push("coding-oriented model family");if(I0(J,zq))W+=q==="latency"?4:q==="coding"?6:8,G.push("strong general-purpose model family");if(I0(J,qq))W+=q==="latency"?2:6,G.push("chat/instruct tuned");if(J.includes("vision")||J.includes("vl"))W-=2,G.push("vision model adds extra overhead");W+=Jq(Z4(R),q,G),W+=Zq(R,q,G);let _=G.slice(0,3).join(", ");return{...R,score:W,reasons:G,summary:_}}).sort((R,J)=>Nq(R,J,q))}function qz(z,q){return Qq(N4(z,q))}var e2,zq,qq,e4;var Rz=d(()=>{e2=["coder","codellama","codegemma","codestral","devstral","starcoder","deepseek-coder","qwen2.5-coder","qwen-coder"],zq=["llama","qwen","mistral","gemma","phi","deepseek"],qq=["instruct","chat","assistant"],e4=["embed","embedding","rerank","bge","whisper"]});function Yq(z){let q=z.toLowerCase();return Gq.some((R)=>q.includes(R))}function G4(z){try{let q=new URL(z);if(q.username)q.username="redacted";if(q.password)q.password="redacted";for(let R of q.searchParams.keys())if(Yq(R))q.searchParams.set(R,"redacted");return q.toString()}catch{return z.replace(/\/\/[^/@\s]+(?::[^/@\s]*)?@/g,"//redacted@").replace(/([?&](?:token|access_token|refresh_token|api_key|apikey|key|password|passwd|pwd|auth|authorization|signature|sig|secret)=)[^&#]*/gi,"$1redacted")}}var Gq;var Qz=d(()=>{Gq=["api_key","apikey","key","token","access_token","refresh_token","signature","sig","secret","password","passwd","pwd","auth","authorization"]});function Xq(z){let q=`http://localhost:${z.port}/auth/callback`,R=new URL(`${W4}/oauth/authorize`);return R.searchParams.append("response_type","code"),R.searchParams.append("client_id",m4()),R.searchParams.append("redirect_uri",q),R.searchParams.append("scope",Jz),R.searchParams.append("code_challenge",z.codeChallenge),R.searchParams.append("code_challenge_method","S256"),R.searchParams.append("id_token_add_organizations","true"),R.searchParams.append("codex_cli_simplified_flow","true"),R.searchParams.append("state",z.state),R.searchParams.append("originator",Zz),R.toString()}function yq(){return`<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8" />
|
|
5
|
-
<title>Codex Login Complete</title>
|
|
6
|
-
<style>
|
|
7
|
-
body { font-family: sans-serif; padding: 32px; line-height: 1.5; color: #111827; }
|
|
8
|
-
h1 { margin: 0 0 12px; font-size: 22px; }
|
|
9
|
-
p { margin: 0 0 10px; }
|
|
10
|
-
</style>
|
|
11
|
-
</head>
|
|
12
|
-
<body>
|
|
13
|
-
<h1>Codex login complete</h1>
|
|
14
|
-
<p>You can return to Claudin now.</p>
|
|
15
|
-
<p>Claudin will finish activating your new Codex OAuth login.</p>
|
|
16
|
-
</body>
|
|
17
|
-
</html>`}function Kq(z){return`<!doctype html>
|
|
18
|
-
<html lang="en">
|
|
19
|
-
<head>
|
|
20
|
-
<meta charset="utf-8" />
|
|
21
|
-
<title>Codex Login Failed</title>
|
|
22
|
-
<style>
|
|
23
|
-
body { font-family: sans-serif; padding: 32px; line-height: 1.5; color: #111827; }
|
|
24
|
-
h1 { margin: 0 0 12px; font-size: 22px; color: #991b1b; }
|
|
25
|
-
p { margin: 0 0 10px; }
|
|
26
|
-
</style>
|
|
27
|
-
</head>
|
|
28
|
-
<body>
|
|
29
|
-
<h1>Codex login failed</h1>
|
|
30
|
-
<p>${Gz(z)}</p>
|
|
31
|
-
<p>You can close this window and try again in Claudin.</p>
|
|
32
|
-
</body>
|
|
33
|
-
</html>`}function $z(){return`<!doctype html>
|
|
34
|
-
<html lang="en">
|
|
35
|
-
<head>
|
|
36
|
-
<meta charset="utf-8" />
|
|
37
|
-
<title>Codex Login Cancelled</title>
|
|
38
|
-
<style>
|
|
39
|
-
body { font-family: sans-serif; padding: 32px; line-height: 1.5; color: #111827; }
|
|
40
|
-
h1 { margin: 0 0 12px; font-size: 22px; }
|
|
41
|
-
p { margin: 0 0 10px; }
|
|
42
|
-
</style>
|
|
43
|
-
</head>
|
|
44
|
-
<body>
|
|
45
|
-
<h1>Codex login cancelled</h1>
|
|
46
|
-
<p>You can close this window and retry in Claudin.</p>
|
|
47
|
-
</body>
|
|
48
|
-
</html>`}async function bq(z){let q=`http://localhost:${z.port}/auth/callback`,R=new URLSearchParams({grant_type:"authorization_code",code:z.authorizationCode,redirect_uri:q,client_id:m4(),code_verifier:z.codeVerifier}),J=await fetch(`${W4}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:R,signal:z.signal?AbortSignal.any([z.signal,AbortSignal.timeout(15000)]):AbortSignal.timeout(15000)});if(!J.ok){let K=await J.text().catch(()=>"");throw Error(K.trim()?`Codex OAuth token exchange failed (${J.status}): ${K.trim()}`:`Codex OAuth token exchange failed with status ${J.status}.`)}let G=await J.json(),W=x0(G.access_token),_=x0(G.refresh_token);if(!W||!_)throw Error("Codex OAuth completed, but the token response was missing credentials.");let b=x0(G.id_token);return{apiKey:b?await Yz(b).catch(()=>{return}):void 0,accessToken:W,refreshToken:_,idToken:b,accountId:Y4(b)??Y4(W)}}class V4{authCodeListener=null;port=null;tokenExchangeAbortController=null;buildCancellationError(){return Error("Codex OAuth flow was cancelled.")}async startOAuthFlow(z){let q=mz(),R=Nz(),J=new Wz("/auth/callback");this.authCodeListener=J,this.port=null;try{let G=await J.start(R);this.port=G;let W=Xz(),_=await Vz(q),b=Xq({port:G,codeChallenge:_,state:W});try{let M=await J.waitForAuthorization(W,async()=>{await z(b)}),K=new AbortController;this.tokenExchangeAbortController=K;let L;try{L=await bq({authorizationCode:M,codeVerifier:q,port:G,signal:K.signal})}finally{if(this.tokenExchangeAbortController===K)this.tokenExchangeAbortController=null}if(this.authCodeListener!==J)throw this.buildCancellationError();return J.handleSuccessRedirect([],(P)=>{P.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),P.end(yq())}),L}catch(M){let K=this.authCodeListener===J?M:this.buildCancellationError();if(J.hasPendingResponse()){let L=K instanceof Error&&K.message==="Codex OAuth flow was cancelled.";J.handleErrorRedirect((P)=>{P.writeHead(L?200:400,{"Content-Type":"text/html; charset=utf-8"}),P.end(L?$z():Kq(K instanceof Error?K.message:String(K)))})}throw K}finally{this.cleanup()}}catch(G){let W=G instanceof Error?G.message:String(G);if(W.includes("EADDRINUSE")||W.includes(String(R)))throw Error(`Codex OAuth needs localhost:${R} for its callback. Close any app already using that port and try again.`);throw G}}cleanup(){let z=this.buildCancellationError();if(this.tokenExchangeAbortController?.abort(z),this.tokenExchangeAbortController=null,this.authCodeListener?.hasPendingResponse())this.authCodeListener.handleErrorRedirect((q)=>{q.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),q.end($z())});this.authCodeListener?.cancelPendingAuthorization(z),this.authCodeListener=null,this.port=null}}var yz=d(()=>{mq();Vq();Wq()});function Hq(){return new V4}function Lz(z){let{onAuthenticated:q}=z,R=z.deps?.createOAuthService??Hq,J=z.deps?.openBrowser??l0,G=z.deps?.saveCodexCredentials??Kz,W=z.deps?.isBareMode??t,[_,b]=p0.useState({state:"starting"});return p0.useEffect(()=>{if(W()){b({state:"error",message:"Codex OAuth is unavailable in --bare because secure storage is disabled."});return}let M=!1,K=R();return K.startOAuthFlow(async(L)=>{if(M)return;b({state:"waiting",authUrl:L,browserOpened:null});let P=await J(L);if(M)return;b({state:"waiting",authUrl:L,browserOpened:P})}).then(async(L)=>{if(M)return;await q(L,(U)=>{let T=G({apiKey:L.apiKey,accessToken:L.accessToken,refreshToken:L.refreshToken,idToken:L.idToken,accountId:L.accountId,profileId:U?.profileId});if(!T.success)throw Error(T.warning??"Codex OAuth succeeded, but credentials could not be saved securely.")})}).catch((L)=>{if(M)return;b({state:"error",message:L instanceof Error?L.message:String(L)})}),()=>{M=!0,K.cleanup()}},[R,W,q,J,G]),_}var p0;var Fz=d(()=>{yz();Hz();bz();c0();p0=O0(U0(),1)});function hz(){return{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":wz()}}function _z(z,q){let R=Number(z);return Number.isFinite(R)&&R>0?R*1000:q}function Bq(z,q){if(q?.aborted)return Promise.resolve();return new Promise((R)=>{let J=setTimeout(()=>{q?.removeEventListener("abort",G),R()},z),G=()=>{clearTimeout(J),R()};q?.addEventListener("abort",G,{once:!0})})}async function jq(z){let q=z?.fetchImpl??fetch,R=z?.signal?AbortSignal.any([z.signal,AbortSignal.timeout(15000)]):AbortSignal.timeout(15000),J=await q(jz,{method:"POST",headers:hz(),body:new URLSearchParams({client_id:X4(),scope:Uz}).toString(),signal:R});if(!J.ok){let M=await J.text().catch(()=>"");throw Error(`xAI device code request failed (${J.status})${M?`: ${M.trim()}`:""}`)}let G=await J.json(),W=J0(G.device_code),_=J0(G.user_code),b=J0(G.verification_uri);if(!W||!_||!b)throw Error("xAI device code response is missing device_code / user_code / verification_uri.");return{device_code:W,user_code:_,verification_uri:b,verification_uri_complete:J0(G.verification_uri_complete),expires_in:typeof G.expires_in==="number"&&G.expires_in>0?G.expires_in:Pz/1000,interval:typeof G.interval==="number"&&G.interval>0?G.interval:Iz/1000}}async function Oq(z,q){let R=q?.fetchImpl??fetch,J=q?.sleep??Bq,G=q?.now??(()=>Date.now()),W=_z(z.expires_in,Pz),_=G()+W,b=Math.max(_z(z.interval,Iz),Mq);while(G()<_){if(q?.signal?.aborted)throw Error("xAI device authorization was cancelled.");let M=await R(Bz,{method:"POST",headers:hz(),body:new URLSearchParams({grant_type:Oz,client_id:X4(),device_code:z.device_code}).toString(),signal:q?.signal});if(M.ok){let U=await M.json(),T=J0(U.access_token),h=J0(U.refresh_token);if(!T||!h)throw Error("xAI OAuth completed, but the token response was missing credentials.");let X=typeof U.expires_in==="number"&&Number.isFinite(U.expires_in)&&U.expires_in>0?U.expires_in:3600;return{accessToken:T,refreshToken:h,idToken:J0(U.id_token),expiresAt:G()+X*1000}}let K=await M.json().catch(()=>({})),L=Math.max(0,_-G());if(K.error==="authorization_pending"){await J(Math.min(b+Mz,L),q?.signal);continue}if(K.error==="slow_down"){b=Math.min(b+_q,wq),await J(Math.min(b+Mz,L),q?.signal);continue}if(K.error==="access_denied"||K.error==="authorization_denied")throw Error("xAI device authorization was denied.");if(K.error==="expired_token")throw Error("xAI device code expired - please re-run login.");let P=K.error_description??K.error??"";throw Error(`xAI device token exchange failed (${M.status})${P?`: ${P}`:""}`)}throw Error("xAI device authorization timed out.")}class y4{abortController=null;async startDeviceFlow(z){let q=new AbortController;this.abortController=q;try{let R=await jq({signal:q.signal});return await z(R),await Oq(R,{signal:q.signal})}finally{if(this.abortController===q)this.abortController=null}}cleanup(){this.abortController?.abort(Error("xAI device authorization was cancelled.")),this.abortController=null}}var Iz=5000,Mq=1000,_q=5000,wq=60000,Pz=300000,Mz=3000;var Dz=d(()=>{Lq();Fq()});function Uq(){return new y4}function Tz(z){let{onAuthenticated:q}=z,R=z.deps?.createOAuthService??Uq,J=z.deps?.saveXaiCredentials??Ez,G=z.deps?.isBareMode??t,[W,_]=v0.useState({state:"starting"});return v0.useEffect(()=>{if(G()){_({state:"error",message:"xAI OAuth is unavailable in --bare because secure storage is disabled."});return}let b=!1,M=R();return M.startDeviceFlow(async(K)=>{if(b)return;_({state:"waiting",userCode:K.user_code,verificationUri:K.verification_uri,verificationUriComplete:K.verification_uri_complete})}).then(async(K)=>{if(b)return;await q(K,(P)=>{let U=J({accessToken:K.accessToken,refreshToken:K.refreshToken,idToken:K.idToken,expiresAt:K.expiresAt,profileId:P?.profileId});if(!U.success)throw Error(U.warning??"xAI OAuth succeeded, but credentials could not be saved securely.")})}).catch((K)=>{if(b)return;_({state:"error",message:K instanceof Error?K.message:String(K)})}),()=>{b=!0,M.cleanup()}},[R,G,q,J]),W}var v0;var Sz=d(()=>{Dz();c0();uz();v0=O0(U0(),1)});async function dz(){return{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":xz,...await lz()}}function Az(z,q){let R=Number(z);return Number.isFinite(R)&&R>0?R*1000:q}function Eq(z,q){if(q?.aborted)return Promise.resolve();return new Promise((R)=>{let J=setTimeout(()=>{q?.removeEventListener("abort",G),R()},z),G=()=>{clearTimeout(J),R()};q?.addEventListener("abort",G,{once:!0})})}async function uq(z){let q=z?.fetchImpl??fetch,R=z?.signal?AbortSignal.any([z.signal,AbortSignal.timeout(15000)]):AbortSignal.timeout(15000),J=await q(Cz,{method:"POST",headers:await dz(),body:new URLSearchParams({client_id:K4()}).toString(),signal:R});if(!J.ok){let M=await J.text().catch(()=>"");throw Error(`Kimi device code request failed (${J.status})${M?`: ${M.trim()}`:""}`)}let G=await J.json(),W=G0(G.device_code),_=G0(G.user_code),b=G0(G.verification_uri);if(!W||!_||!b)throw Error("Kimi device code response is missing device_code / user_code / verification_uri.");return{device_code:W,user_code:_,verification_uri:b,verification_uri_complete:G0(G.verification_uri_complete),expires_in:typeof G.expires_in==="number"&&G.expires_in>0?G.expires_in:vz/1000,interval:typeof G.interval==="number"&&G.interval>0?G.interval:pz/1000}}async function Tq(z,q){let R=q?.fetchImpl??fetch,J=q?.sleep??Eq,G=q?.now??(()=>Date.now()),W=Az(z.expires_in,vz),_=G()+W,b=Math.max(Az(z.interval,pz),Pq);while(G()<_){if(q?.signal?.aborted)throw Error("Kimi device authorization was cancelled.");let M=await R(fz,{method:"POST",headers:await dz(),body:new URLSearchParams({grant_type:gz,client_id:K4(),device_code:z.device_code}).toString(),signal:q?.signal});if(M.ok){let U=await M.json(),T=G0(U.access_token),h=G0(U.refresh_token);if(!T||!h)throw Error("Kimi OAuth completed, but the token response was missing credentials.");let X=typeof U.expires_in==="number"&&Number.isFinite(U.expires_in)&&U.expires_in>0?U.expires_in:900;return{accessToken:T,refreshToken:h,expiresAt:G()+X*1000}}let K=await M.json().catch(()=>({})),L=Math.max(0,_-G());if(K.error==="authorization_pending"){await J(Math.min(b+kz,L),q?.signal);continue}if(K.error==="slow_down"){b=Math.min(b+hq,Dq),await J(Math.min(b+kz,L),q?.signal);continue}if(K.error==="access_denied"||K.error==="authorization_denied")throw Error("Kimi device authorization was denied.");if(K.error==="expired_token")throw Error("Kimi device code expired - please re-run login.");let P=K.error_description??K.error??"";throw Error(`Kimi device token exchange failed (${M.status})${P?`: ${P}`:""}`)}throw Error("Kimi device authorization timed out.")}class b4{abortController=null;async startDeviceFlow(z){let q=new AbortController;this.abortController=q;try{let R=await uq({signal:q.signal});return await z(R),await Tq(R,{signal:q.signal})}finally{if(this.abortController===q)this.abortController=null}}cleanup(){this.abortController?.abort(Error("Kimi device authorization was cancelled.")),this.abortController=null}}var pz=5000,Pq=1000,hq=5000,Dq=60000,vz=1800000,kz=3000;var nz=d(()=>{Iq();cz()});function Sq(){return new b4}function tz(z){let{onAuthenticated:q}=z,R=z.deps?.createOAuthService??Sq,J=z.deps?.saveKimiCredentials??az,G=z.deps?.isBareMode??t,[W,_]=Y0.useState({state:"starting"}),b=Y0.useRef(!1);return Y0.useEffect(()=>{if(G()){_({state:"error",message:"Kimi Code OAuth is unavailable in --bare because secure storage is disabled."});return}let M=!1,K=R();return K.startDeviceFlow(async(L)=>{if(M)return;_({state:"waiting",userCode:L.user_code,verificationUri:L.verification_uri,verificationUriComplete:L.verification_uri_complete})}).then(async(L)=>{if(M)return;await q(L,(U)=>{let T=J({accessToken:L.accessToken,refreshToken:L.refreshToken,expiresAt:L.expiresAt,profileId:U?.profileId});if(!T.success)throw Error(T.warning??"Kimi Code OAuth succeeded, but credentials could not be saved securely.")})}).catch((L)=>{if(M)return;_({state:"error",message:L instanceof Error?L.message:String(L)})}),()=>{M=!0,K.cleanup()}},[R,G,q,J]),Y0.useEffect(()=>{if(W.state!=="waiting")return;if(b.current)return;let M=W.verificationUriComplete??W.verificationUri;if(!M)return;b.current=!0,l0(M).catch(()=>{})},[W]),W}var Y0;var rz=d(()=>{nz();Hz();c0();iz();Y0=O0(U0(),1)});function Z1(z){return{name:z.name,baseUrl:z.baseUrl,model:z.model,apiKey:z.apiKey??""}}function N1(z){let q=i0(z);return{name:q.name,baseUrl:q.baseUrl,model:q.model,apiKey:q.apiKey??""}}function G1(z){let q={};for(let R of z.split(/\r?\n/)){let J=R.trim();if(!J)continue;let G=J.indexOf(":");if(G<=0)continue;let W=J.slice(0,G).trim(),_=J.slice(G+1).trim();if(W&&_)q[W]=_}return q}function Y1(z){if(!z)return"";return Object.entries(z).map(([q,R])=>`${q}: ${R}`).join(`
|
|
49
|
-
`)}function W1(z,q){let R={},J=z.awsRegion?.trim();if(J)R.awsRegion=J;let G=z.gcpProject?.trim();if(G)R.gcpProject=G;let W=z.gcpRegion?.trim();if(W)R.gcpRegion=W;let _=z.azureResource?.trim();if(_)R.azureResource=_;let b=G1(q);if(Object.keys(b).length>0)R.customHeaders=b;return Object.keys(R).length>0?R:void 0}function V1(z,q){let R=q?" (active)":"",J=z.apiKey?"key set":"no key",G=z.provider==="anthropic"?"anthropic":"openai-compatible",W=oz(z.model),_=W.length<=3?W.join(", "):`${W[0]}, ${W[1]} + ${W.length-2} more`;return`${G} · ${z.baseUrl} · ${_} · ${J}${R}`}function X1(z,q){if(z.state==="unreachable")return`Could not reach Atomic Chat at ${G4(q)}. Start the Atomic Chat app first, or enter the endpoint manually.`;if(z.state==="no_models")return"Atomic Chat is running, but no models are loaded. Download and load a model inside the Atomic Chat app first, or enter details manually.";return""}function y1(z,q){if(z.state==="unreachable")return`Could not reach Ollama at ${G4(q)}. Start Ollama first, or enter the endpoint manually.`;if(z.state==="no_models")return"Ollama is running, but no installed models were found. Pull a chat model such as qwen2.5-coder:7b or llama3.1:8b first, or enter details manually.";if(z.state==="generation_failed"){let R=z.probeModel??"the selected model",J=z.detail?` Details: ${z.detail}.`:"";return`Ollama is reachable and models are installed, but a generation probe failed for ${R}.${J} Run "ollama run ${R}" once and retry, or enter details manually.`}return""}function L4(z,q){if(!q)return;return z.find((R)=>R.id===q)}function sz(z,q){return Boolean(z&&q&&z.id===q)}function K1(z,q){if(q){let R=z.find((J)=>J.id===q);if(R)return R}return z.find((R)=>R.provider==="openai"&&R.baseUrl===I4&&!R.apiKey)}function b1(z,q){if(q){let R=z.find((J)=>J.id===q);if(R)return R}return z.find((R)=>R.provider==="openai"&&R.baseUrl===t0&&!R.apiKey)}function H1(z,q){return z.find((R)=>R.provider==="anthropic"&&R.baseUrl===q&&!R.apiKey)}function L1({onBack:z,onConfigured:q}){let R=H.useCallback(async(G,W)=>{await q(G,W)},[q]);a("confirm:no",z);let J=Lz({onAuthenticated:R});if(J.state==="error")return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"error",bold:!0,children:"Codex OAuth failed"}),$(N,{children:J.message}),$(N,{dimColor:!0,children:"Press Enter or Esc to go back."}),$(C,{options:[{value:"back",label:"Back",description:"Return to provider presets"}],onChange:z,onCancel:z,visibleOptionCount:1})]});return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Codex OAuth"}),$(N,{children:"Sign in with your ChatGPT account in the browser. Claudin will store the resulting Codex credentials securely and switch this session to the new Codex login when setup completes."}),J.state==="starting"?$(N,{dimColor:!0,children:"Starting local callback and preparing your browser..."}):J.browserOpened===!1?y(N0,{children:[$(N,{color:"warning",children:"Browser did not open automatically. Visit this URL to continue:"}),$(N,{children:J.authUrl})]}):J.browserOpened===!0?y(N0,{children:[$(N,{dimColor:!0,children:"Browser opened. Finish the ChatGPT sign-in there and this setup will complete automatically."}),$(N,{children:J.authUrl})]}):$(N,{dimColor:!0,children:"Opening your browser..."}),$(N,{dimColor:!0,children:"Press Esc to cancel and go back."})]})}function F1({onBack:z,onConfigured:q}){let R=H.useCallback(async(G,W)=>{await q(G,W)},[q]);a("confirm:no",z);let J=Tz({onAuthenticated:R});if(J.state==="error")return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"error",bold:!0,children:"xAI OAuth failed"}),$(N,{children:J.message}),$(N,{dimColor:!0,children:"Press Enter or Esc to go back."}),$(C,{options:[{value:"back",label:"Back",description:"Return to provider presets"}],onChange:z,onCancel:z,visibleOptionCount:1})]});return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"xAI / Grok OAuth"}),J.state==="starting"?$(N,{dimColor:!0,children:"Requesting a device code from xAI..."}):y(N0,{children:[y(N,{children:["Open this URL on any device:"," ",$(N,{bold:!0,children:J.verificationUri})]}),y(N,{children:["Enter code ",$(N,{bold:!0,children:J.userCode})]}),J.verificationUriComplete&&J.verificationUriComplete!==J.verificationUri?y(N,{dimColor:!0,children:["Or open this prefilled URL: ",J.verificationUriComplete]}):null,$(N,{dimColor:!0,children:"Waiting for you to authorize in the browser..."})]}),$(N,{dimColor:!0,children:"Press Esc to cancel and go back."})]})}function M1({onBack:z,onConfigured:q}){let R=H.useCallback(async(G,W)=>{await q(G,W)},[q]);a("confirm:no",z);let J=tz({onAuthenticated:R});if(J.state==="error")return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"error",bold:!0,children:"Kimi Code OAuth failed"}),$(N,{children:J.message}),$(N,{dimColor:!0,children:"Press Enter or Esc to go back."}),$(C,{options:[{value:"back",label:"Back",description:"Return to Moonshot AI authentication choices"}],onChange:z,onCancel:z,visibleOptionCount:1})]});return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Moonshot AI · Kimi Code"}),J.state==="starting"?$(N,{dimColor:!0,children:"Requesting a device code from Kimi..."}):y(N0,{children:[y(N,{children:["Open this URL on any device:"," ",$(N,{bold:!0,children:J.verificationUri})]}),y(N,{children:["Enter code ",$(N,{bold:!0,children:J.userCode})]}),J.verificationUriComplete&&J.verificationUriComplete!==J.verificationUri?y(N,{dimColor:!0,children:["Or open this prefilled URL: ",J.verificationUriComplete]}):null,$(N,{dimColor:!0,children:"Waiting for you to authorize in the browser..."})]}),$(N,{dimColor:!0,children:"Press Esc to cancel and go back."})]})}function T8({mode:z,onDone:q}){let R=W2(),[J,G]=H.useState([]),[W,_]=H.useState(),[b,M]=H.useState(),[K,L]=H.useState(!1),[P,U]=H.useState(),T=H.useRef(0),[h,X]=H.useState(z==="first-run"?"select-preset":"menu"),[m0,f]=H.useState(null),[D,Z0]=H.useState("openai"),[I,p]=H.useState(()=>N1("ollama")),[h0,D0]=H.useState({}),[P4,r0]=H.useState(""),[b2,H2]=H.useState(0),[L2,F2]=H.useState(0),[s0,h4]=H.useState(null),[V0,w0]=H.useState(0),[X0,r]=H.useState(0),[M2,s]=H.useState(0),[D4,S]=H.useState(),[y0,B]=H.useState(),[_2,w2]=H.useState(),[E4,E0]=H.useState(!1),[B0,j0]=H.useState(),[o,u0]=H.useState({state:"idle"}),[e,T0]=H.useState({state:"idle"}),[z0,o0]=H.useState({state:"idle"}),[B2,j2]=H.useState(!0),[O2,l]=H.useState(!1),e0=H.useRef(!1),[U2,u4]=H.useState(()=>a0()),[T4,I2]=H.useState(()=>y2());H.useEffect(()=>{queueMicrotask(()=>{let Q=n(),Z=v()?.id;G(Q),_(Z),M(d0()),U(F4()),L(P0()),j2(!1)})},[]);let K0=W0[X0]??W0[0],S0=K0.key,P2=I[S0],z4=J.length>0,k0=z4,S4=H.useMemo(()=>[{value:"add",label:"Add provider",description:"Create a new provider profile"},{value:"activate",label:"Set active provider (Global)",description:P?`Currently: ${J.find((Q)=>Q.id===P)?.name??"unknown"}`:"Default profile for projects without an override",disabled:!k0},{value:"activate-project",label:"Set active provider (Project)",description:b?`Currently: ${J.find((Q)=>Q.id===b)?.name??"unknown"} (this project)`:"Override the global default for this project only",disabled:!k0},...K?[{value:"clear-project-override",label:"Clear project provider override",description:b?"Stop overriding for this project; fall back to global":"Project override points to a missing profile; clear it"}]:[],{value:"edit",label:"Edit provider",description:"Update URL, model, or key",disabled:!z4},{value:"delete",label:"Delete provider",description:"Remove a provider profile",disabled:!k0},...E4?[{value:"logout-codex-oauth",label:"Log out Codex OAuth",description:"Clear securely stored Codex OAuth credentials"}]:[],{value:"done",label:"Done",description:"Return to chat"}],[k0,z4,E4,P,b,J]),q4=H.useCallback(()=>{if(t()){T.current+=1,E0(!1),j0(void 0);return}let Q=++T.current;(async()=>{let Z=await w4();if(Q!==T.current)return;E0(Boolean(Z?.apiKey||Z?.accessToken||Z?.refreshToken||Z?.idToken)),j0(Z?.profileId)})()},[]);H.useEffect(()=>{return q4(),()=>{T.current+=1}},[q4]),H.useEffect(()=>{if(h!=="select-ollama-model")return;let Q=!1;return u0({state:"loading"}),(async()=>{let Z=await Y2({baseUrl:I.baseUrl});if(Z.state!=="ready"){if(!Q)u0({state:"unavailable",message:y1(Z,I.baseUrl)});return}let Y=N4(Z.models,"balanced"),m=qz(Z.models,"balanced");if(!Q)u0({state:"ready",defaultValue:m?.name??Y[0]?.name,options:Y.map((V)=>({label:V.name,value:V.name,description:V.summary}))})})(),()=>{Q=!0}},[I.baseUrl,h]),H.useEffect(()=>{if(h!=="select-atomic-chat-model")return;let Q=!1;return T0({state:"loading"}),(async()=>{let Z=await G2({baseUrl:I.baseUrl});if(Z.state!=="ready"){if(!Q)T0({state:"unavailable",message:X1(Z,I.baseUrl)});return}if(!Q)T0({state:"ready",defaultValue:Z.models[0],options:Z.models.map((Y)=>({label:Y,value:Y}))})})(),()=>{Q=!0}},[I.baseUrl,h]),H.useEffect(()=>{if(h!=="select-openai-model")return;let Q=!1;return o0({state:"loading"}),(async()=>{let Z=await Z2({baseUrl:I.baseUrl,apiKey:I.apiKey||void 0});if(Q)return;if(!Z||Z.length===0){o0({state:"unavailable",message:"Couldn't list models from this provider. Enter the model id manually, or go back to check the base URL and API key."});return}let{options:Y,defaultValue:m}=N2(Z,I.model);o0({state:"ready",options:Y,defaultValue:m})})(),()=>{Q=!0}},[I.baseUrl,I.apiKey,h]);function A(){if(e0.current)return;e0.current=!0,queueMicrotask(()=>{let Q=n();G(Q),_(v()?.id),M(d0()),U(F4()),L(P0()),q4(),e0.current=!1})}function b0(){return null}function R4(Q){if(Q.activationWarning)return`${Q.prefix}. Saved for next startup. Warning: ${Q.warnings.join("; ")}.`;if(Q.warnings.length>0)return`${Q.prefix}. Claudin switched to it for this session with warnings: ${Q.warnings.join("; ")}.`;return`${Q.prefix}. Claudin switched to it for this session.`}async function Q4(Q){if(Q?.accessToken&&Q.accountId)return null;let Z=await w4();if(!Z)return"stored Codex OAuth credentials could not be loaded";if(!Z.accountId)return"stored Codex OAuth credentials are missing a ChatGPT account id";return null}function k4(){J2()}async function h2(Q){let Z="provider";l(!0),S("Activating provider...");try{await new Promise((q0)=>queueMicrotask(q0));let Y=P0(),m=$0(Q);if(!m){B("Could not change active provider."),l(!1),O();return}let V=Y?v()??m:m,F=M0(V.model)||n0();if(!Y)R((q0)=>({...q0,mainLoopModel:F,mainLoopModelForSession:null}));Z=m.name;let j=b0(),E=sz(m,B0),x=E?await Q4():null;A();let c=Y&&V.id!==m.id?` (project override still active — this project keeps using ${V.name}; use "Clear project provider override" to apply the new default here)`:"",k=E?R4({prefix:`Active provider: ${m.name}${c}`,activationWarning:x,warnings:[x,j?`could not clear startup provider override (${j})`:null].filter((q0)=>Boolean(q0))}):j?`Active provider: ${m.name}${c}. Warning: could not clear startup provider override (${j}).`:`Active provider: ${m.name}${c}`;S(k),l(!1),q({action:"activated",activeProfileId:m.id,activeProviderName:m.name,activeProviderModel:F,message:`Provider switched to ${m.name} (${F})`}),O()}catch(Y){A(),S(void 0),l(!1);let m=Y instanceof Error?Y.message:String(Y);B(`Could not finish activating ${Z}: ${m}`),O()}}async function D2(){l(!0),S("Clearing project provider override...");try{await new Promise((Z)=>queueMicrotask(Z)),M4(null),A();let Q=v();if(Q){let Z=M0(Q.model)||n0();_0(),R((Y)=>({...Y,mainLoopModel:Z,mainLoopModelForSession:null})),S(`Project override cleared. Using global default: ${Q.name}.`),l(!1),q({action:"activated",activeProfileId:Q.id,activeProviderName:Q.name,activeProviderModel:Z,message:`Project override cleared — using ${Q.name} (${Z})`}),O()}else S("Project provider override cleared. No global default set."),l(!1),q({action:"saved",message:"Project provider override cleared. No global default set."}),O()}catch(Q){A(),S(void 0),l(!1);let Z=Q instanceof Error?Q.message:String(Q);B(`Could not clear project provider override: ${Z}`),O()}}async function E2(Q){let Z="provider";l(!0),S("Setting provider for this project...");try{await new Promise((k)=>queueMicrotask(k));let Y=d0(),m=M4(Q);if(!m){B("Could not set project provider override."),l(!1),O();return}let V=M0(m.model)||n0();if(Y===m.id)_0();R((k)=>({...k,mainLoopModel:V,mainLoopModelForSession:null})),Z=m.name;let F=b0(),j=sz(m,B0),E=j?await Q4():null;A();let x=`Active provider for this project: ${m.name}. Other projects keep the global default.`,c=j?R4({prefix:x,activationWarning:E,warnings:[E,F?`could not clear startup provider override (${F})`:null].filter((k)=>Boolean(k))}):F?`${x} Warning: could not clear startup provider override (${F}).`:x;S(c),l(!1),q({action:"activated",activeProfileId:m.id,activeProviderName:m.name,activeProviderModel:V,message:`Provider switched to ${m.name} (${V}) for this project`}),O()}catch(Y){A(),S(void 0),l(!1);let m=Y instanceof Error?Y.message:String(Y);B(`Could not finish setting ${Z} for this project: ${m}`),O()}}function O(){w2("done"),X("menu")}function A0(Q){q({action:"cancelled",message:Q})}function A4(Q){let Z=i0(Q),Y={name:Z.name,baseUrl:Z.baseUrl,model:Z.model,apiKey:Z.apiKey??""};if(f(null),Z0(Z.provider??"openai"),p(Y),D0({}),r0(""),h4(Q),r(0),w0(0),s(Y.name.length),B(void 0),Q==="ollama"){u0({state:"loading"}),X("select-ollama-model");return}if(Q==="atomic-chat"){T0({state:"loading"}),X("select-atomic-chat-model");return}if(Q==="anthropic"){X("anthropic-auth-choice");return}if(Q==="bedrock"||Q==="vertex"||Q==="foundry"){X("cloud-extras");return}X("form")}function u2(Q){let Z=J.find((m)=>m.id===Q);if(!Z)return;let Y=Z1(Z);f(Q),Z0(Z.provider??"openai"),p(Y),D0({awsRegion:Z.extras?.awsRegion,gcpProject:Z.extras?.gcpProject,gcpRegion:Z.extras?.gcpRegion,azureResource:Z.extras?.azureResource}),r0(Y1(Z.extras?.customHeaders)),h4(null),r(0),w0(0),s(Y.name.length),B(void 0),X("form")}function C0(Q=I){let Z=W1(h0,P4),Y={provider:D,name:Q.name,baseUrl:Q.baseUrl,model:Q.model,apiKey:Q.apiKey,extras:Z},m=m0?Q0(m0,Y):R0(Y,{makeActive:!0});if(!m){B("Could not save provider. Fill all required fields.");return}let V=v()?.id===m.id;if(V)_0(),R((c)=>({...c,mainLoopModel:M0(m.model),mainLoopModelForSession:null}));let F=V?b0():null;A();let j=!m0&&P0()&&!V,E=j?v()?.name??"override target":null,x=m0?`Updated provider: ${m.name}`:j?`Added provider: ${m.name} (now global default — project keeps using ${E}; use "Clear project provider override" to apply here)`:`Added provider: ${m.name} (now active)`;if(S(F?`${x}. Warning: could not clear startup provider override (${F}).`:x),z==="first-run"){q({action:"saved",activeProfileId:m.id,message:`Provider configured: ${m.name}`});return}f(null),r(0),B(void 0),O()}function T2(){if(e.state==="loading"||e.state==="idle")return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Checking Atomic Chat"}),$(N,{dimColor:!0,children:"Looking for loaded Atomic Chat models..."})]});if(e.state==="unavailable")return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Atomic Chat setup"}),$(N,{dimColor:!0,children:e.message}),$(C,{options:[{value:"manual",label:"Enter manually",description:"Fill in the base URL and model yourself"},{value:"back",label:"Back",description:"Choose another provider preset"}],onChange:(Q)=>{if(Q==="manual"){r(0),s(I.name.length),X("form");return}X("select-preset")},onCancel:()=>X("select-preset"),visibleOptionCount:2})]});return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Choose an Atomic Chat model"}),$(N,{dimColor:!0,children:"Pick one of the models loaded in Atomic Chat to save into a local provider profile."}),$(C,{options:e.options,defaultValue:e.defaultValue,defaultFocusValue:e.defaultValue,inlineDescriptions:!0,visibleOptionCount:Math.min(8,e.options.length),onChange:(Q)=>{let Z={...I,model:Q};p(Z),C0(Z)},onCancel:()=>X("select-preset")})]})}function S2(){if(o.state==="loading"||o.state==="idle")return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Checking Ollama"}),$(N,{dimColor:!0,children:"Looking for installed Ollama models..."})]});if(o.state==="unavailable")return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Ollama setup"}),$(N,{dimColor:!0,children:o.message}),$(C,{options:[{value:"manual",label:"Enter manually",description:"Fill in the base URL and model yourself"},{value:"back",label:"Back",description:"Choose another provider preset"}],onChange:(Q)=>{if(Q==="manual"){r(0),s(I.name.length),X("form");return}X("select-preset")},onCancel:()=>X("select-preset"),visibleOptionCount:2})]});return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Choose an Ollama model"}),$(N,{dimColor:!0,children:"Pick one of the installed Ollama models to save into a local provider profile."}),$(C,{options:o.options,defaultValue:o.defaultValue,defaultFocusValue:o.defaultValue,inlineDescriptions:!0,visibleOptionCount:Math.min(8,o.options.length),onChange:(Q)=>{let Z={...I,model:Q};p(Z),C0(Z)},onCancel:()=>X("select-preset")})]})}function H0(Q){let Z=W0.findIndex((Y)=>Y.key===Q);r(Z<0?0:Z),s(I[Q].length),B(void 0),X("form")}function k2(){if(z0.state==="loading"||z0.state==="idle")return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Fetching models"}),$(N,{dimColor:!0,children:"Looking for models on your OpenAI-compatible provider…"}),$(N,{dimColor:!0,children:"Press Esc to enter the model manually."})]});if(z0.state==="unavailable")return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Choose a model"}),$(N,{dimColor:!0,children:z0.message}),$(C,{options:[{value:"manual",label:"Enter manually",description:"Type the model id yourself"},{value:"back",label:"Back",description:"Return to the API key step"}],onChange:(Y)=>{if(Y==="manual"){H0("model");return}H0("apiKey")},onCancel:()=>H0("apiKey"),visibleOptionCount:2})]});let Q=[...z0.options,{value:H4,label:"Enter a model id manually",description:"Type an id the provider did not list"}],Z=z0.defaultValue??H4;return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Choose a model"}),$(N,{dimColor:!0,children:"Models from your OpenAI-compatible provider."}),$(C,{options:Q,defaultValue:Z,defaultFocusValue:Z,inlineDescriptions:!0,visibleOptionCount:Math.min(8,Q.length),onChange:(Y)=>{if(Y===H4){H0("model");return}let m={...I,model:Y};p(m),C4(m)},onCancel:()=>H0("apiKey")}),$(N,{dimColor:!0,children:"Enter to select · Esc to go back"})]})}function C4(Q){if(s0==="anthropic"||s0==="custom"){p(Q),X("custom-headers");return}C0(Q)}function A2(Q){let Z=Q.trim();if(!K0.optional&&Z.length===0){B(`${K0.label} is required.`);return}let Y={...I,[S0]:Z};if(p(Y),B(void 0),X0<W0.length-1){let m=X0+1,V=W0[m]?.key??"name";if(V==="model"&&!oq.has(D)&&Y.baseUrl.trim().length>0){X("select-openai-model");return}r(m),s(Y[V].length);return}C4(Y)}function C2(){if(B(void 0),X0>0){let Q=X0-1,Z=W0[Q]?.key??"name";r(Q),s(I[Z].length);return}if(z==="first-run"){X("select-preset");return}O()}a("confirm:no",C2,{context:"Settings",isActive:h==="form"}),a("confirm:no",()=>H0("model"),{context:"Settings",isActive:h==="select-openai-model"&&(z0.state==="loading"||z0.state==="idle")});function f2(){if(B(void 0),V0>0){w0(V0-1);return}X("select-preset")}a("confirm:no",f2,{context:"Settings",isActive:h==="cloud-extras"}),a("confirm:no",()=>X("form"),{context:"Settings",isActive:h==="custom-headers"}),a("confirm:no",()=>X("select-preset"),{context:"Settings",isActive:h==="anthropic-auth-choice"||h==="anthropic-oauth"||h==="kimi-auth-choice"}),a("confirm:no",()=>X("kimi-auth-choice"),{context:"Settings",isActive:h==="kimi-oauth"});function g2(){let Q=!t(),Z=[...U2?[{value:"import-legacy",label:"Reuse Claude Code sign-in",description:"Copy ~/.claude/ API tokens and provider profiles. /import brings the rest."}]:[],{value:"dashscope-intl",label:"Alibaba Coding Plan",description:"Alibaba DashScope International endpoint"},{value:"dashscope-cn",label:"Alibaba Coding Plan (China)",description:"Alibaba DashScope China endpoint"},{value:"anthropic",label:"Anthropic",description:"Native Claude API (x-api-key auth)"},{value:"atomic-chat",label:"Atomic Chat",description:"Local Model Provider"},{value:"azure-openai",label:"Azure OpenAI",description:"Azure OpenAI endpoint (model=deployment name)"},{value:"foundry",label:"Azure AI Foundry",description:"Anthropic models hosted on Azure AI Foundry (resource-scoped)"},{value:"bedrock",label:"AWS Bedrock",description:"Anthropic models on AWS Bedrock (region-scoped, AWS creds)"},{value:"bankr",label:"Bankr",description:"Bankr LLM Gateway (OpenAI-compatible)"},{value:"cloudflare-workers-ai",label:"Cloudflare Workers AI",description:"Cloudflare Workers AI (OpenAI-compatible); set your account ID in the base URL"},{value:"cloudflare-ai-gateway",label:"Cloudflare AI Gateway",description:"Cloudflare AI Gateway unified endpoint; set your account ID in the base URL"},...Q?[{value:"codex-oauth",label:"Codex OAuth",description:"Sign in with ChatGPT in your browser and store Codex credentials securely"},{value:"xai-oauth",label:"xAI / Grok (OAuth)",description:"Sign in with xAI in your browser and store Grok credentials securely"}]:[],{value:"github-onboard",label:"GitHub Copilot",description:"Sign in with GitHub in your browser to use Copilot models"},{value:"deepseek",label:"DeepSeek",description:"DeepSeek OpenAI-compatible endpoint"},{value:"gemini",label:"Google Gemini",description:"Gemini OpenAI-compatible endpoint"},{value:"vertex",label:"Google Vertex AI",description:"Anthropic models on Vertex AI (project + region, ADC)"},{value:"groq",label:"Groq",description:"Groq OpenAI-compatible endpoint"},{value:"lmstudio",label:"LM Studio",description:"Local LM Studio endpoint"},{value:"minimax",label:"MiniMax",description:"MiniMax API endpoint"},{value:"mistral",label:"Mistral",description:"Mistral OpenAI-compatible endpoint"},{value:"moonshotai",label:"Moonshot AI",description:"API key or Kimi Code OAuth sign-in"},{value:"nvidia-nim",label:"NVIDIA NIM",description:"NVIDIA NIM endpoint"},{value:"opencode-go",label:"OpenCode GO",description:"OpenCode GO OpenAI-compatible endpoint"},{value:"opencode-zen",label:"OpenCode Zen",description:"OpenCode Zen OpenAI-compatible endpoint"},{value:"ollama",label:"Ollama",description:"Local or remote Ollama endpoint"},{value:"openai",label:"OpenAI",description:"OpenAI API with API key"},{value:"openrouter",label:"OpenRouter",description:"OpenRouter OpenAI-compatible endpoint"},{value:"together",label:"Together AI",description:"Together chat/completions endpoint"},{value:"zai",label:"Z.AI (GLM Coding Plan)",description:"Z.AI GLM Coding Plan (OpenAI-compatible)"},{value:"custom",label:"Custom",description:"Any OpenAI-compatible provider"},...z==="first-run"?[{value:"skip",label:"Skip for now",description:"Continue with current defaults"}]:[]];return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:z==="first-run"?"Set up provider":"Choose provider preset"}),$(N,{dimColor:!0,children:"Pick a preset, then confirm base URL, model, and API key."}),$(U4,{options:Z,searchPlaceholder:"Search presets…",onChange:(Y)=>{if(Y==="skip"){A0("Provider setup skipped");return}if(Y==="codex-oauth"){X("codex-oauth");return}if(Y==="xai-oauth"){X("xai-oauth");return}if(Y==="moonshotai"){X("kimi-auth-choice");return}if(Y==="github-onboard"){X("github-onboard");return}if(Y==="import-legacy"){(async()=>{let m=await V2({force:!0});u4(a0()),A();let V=X2(m);if(m.errors.length>0){B(V);return}let F=v();if(z==="first-run"&&F){q({action:"saved",activeProfileId:F.id,activeProviderName:F.name,activeProviderModel:F.model,message:V});return}if(S(V),B(void 0),z==="manage")O()})();return}A4(Y)},onCancel:()=>{if(z==="first-run"){A0("Provider setup skipped");return}O()},visibleOptionCount:Math.min(13,Z.length)})]})}function x2(){return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Anthropic — choose authentication"}),$(N,{dimColor:!0,children:"Sign in with your Anthropic account in the browser, or paste an API key."}),$(C,{options:[{value:"oauth",label:"Sign in with web (OAuth)",description:"Open a browser, sign in to Claude, and store tokens in ~/.claudin/.credentials.json"},{value:"apiKey",label:"Use API key",description:"Paste an x-api-key value (sk-ant-…)"},{value:"back",label:"Back",description:"Choose a different provider"}],onChange:(Q)=>{if(Q==="oauth"){X("anthropic-oauth");return}if(Q==="apiKey"){X("form");return}X("select-preset")},onCancel:()=>X("select-preset"),visibleOptionCount:3})]})}function c2(){return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Moonshot AI — choose authentication"}),$(N,{dimColor:!0,children:"Sign in with your Kimi Code subscription in the browser, or paste a Moonshot AI API key."}),$(C,{options:[{value:"oauth",label:"Sign in with web (OAuth)",description:"Open a browser, sign in to Kimi Code, and store tokens in ~/.claudin/.credentials.json"},{value:"apiKey",label:"Use API key",description:"Paste a Moonshot AI API key (sk-…)"},{value:"back",label:"Back",description:"Choose a different provider"}],onChange:(Q)=>{if(Q==="oauth"){X("kimi-oauth");return}if(Q==="apiKey"){A4("moonshotai");return}X("select-preset")},onCancel:()=>X("select-preset"),visibleOptionCount:3})]})}function l2(){let Q=(aq(),kq(nq)).ConsoleOAuthFlow;return $(w,{flexDirection:"column",gap:1,children:$(Q,{mode:"login",onDone:()=>{let Z=i0("anthropic"),Y={provider:"anthropic",name:Z.name,baseUrl:Z.baseUrl,model:Z.model},m=H1(n(),Z.baseUrl),V=m?Q0(m.id,Y):R0(Y,{makeActive:!0});if(!V){B("OAuth completed, but the Anthropic profile could not be saved."),X("select-preset");return}let F=m&&W!==V.id?$0(V.id):V;if(!F){B("OAuth completed, but the Anthropic profile could not be set as the startup provider."),X("select-preset");return}let j=`Anthropic OAuth configured: ${F.name}`;if(A(),z==="first-run"){q({action:"saved",activeProfileId:F.id,message:j});return}S(j),B(void 0),O()}})})}function p2(){let Q=s0;if(Q!=="bedrock"&&Q!=="vertex"&&Q!=="foundry")return null;let Z=m1[Q],Y=Z[V0]??Z[0],m=h0[Y.key]??"";function V(F){let j=F.trim();if(j.length===0){B(`${Y.label} is required.`);return}let E={...h0,[Y.key]:j};if(D0(E),B(void 0),V0<Z.length-1){w0(V0+1);return}w0(0),X("form")}return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:`${Q==="bedrock"?"AWS Bedrock":Q==="vertex"?"Google Vertex AI":"Azure AI Foundry"} setup`}),$(N,{dimColor:!0,children:Y.helpText}),y(N,{dimColor:!0,children:["Step ",V0+1," of ",Z.length,": ",Y.label]}),y(w,{flexDirection:"row",gap:1,children:[$(N,{children:F0.pointer}),$(L0,{value:m,onChange:(F)=>D0((j)=>({...j,[Y.key]:F})),onSubmit:V,focus:!0,showCursor:!0,placeholder:`${Y.placeholder}${F0.ellipsis}`,columns:80,cursorOffset:b2,onChangeCursorOffset:H2})]}),y0&&$(N,{color:"error",children:y0}),$(N,{dimColor:!0,children:"Press Enter to continue. Press Esc to go back."})]})}function v2(){return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Custom headers (optional)"}),y(N,{dimColor:!0,children:["Add HTTP headers sent on every request. One header per line as"," ",$(N,{children:"Header: Value"}),". Leave empty to skip."]}),y(w,{flexDirection:"row",gap:1,children:[$(N,{children:F0.pointer}),$(L0,{value:P4,onChange:r0,onSubmit:()=>C0(I),focus:!0,showCursor:!0,placeholder:"X-Header: value",columns:80,multiline:!0,cursorOffset:L2,onChangeCursorOffset:F2})]}),y0&&$(N,{color:"error",children:y0}),$(N,{dimColor:!0,children:"Press Enter on a blank line to save. Press Esc to go back."})]})}function d2(){return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:m0?"Edit provider profile":"Create provider profile"}),$(N,{dimColor:!0,children:K0.helpText}),y(N,{dimColor:!0,children:["Provider type:"," ",D==="anthropic"?"Anthropic native API":"OpenAI-compatible API"]}),y(N,{dimColor:!0,children:["Step ",X0+1," of ",W0.length,": ",K0.label]}),y(w,{flexDirection:"row",gap:1,children:[$(N,{children:F0.pointer}),$(L0,{value:P2,onChange:(Q)=>p((Z)=>({...Z,[S0]:Q})),onSubmit:A2,focus:!0,showCursor:!0,placeholder:`${K0.placeholder}${F0.ellipsis}`,mask:S0==="apiKey"?"*":void 0,columns:80,cursorOffset:M2,onChangeCursorOffset:s})]}),y0&&$(N,{color:"error",children:y0}),$(N,{dimColor:!0,children:"Press Enter to continue. Press Esc to go back."})]})}function n2(){let Q=J.length>0,Z=Q;return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Provider manager"}),$(N,{dimColor:!0,children:"Active profile controls base URL, model, and API key used by this session."}),D4&&$(N,{children:D4}),$(w,{flexDirection:"column",children:J.length===0?$(N,{dimColor:!0,children:"No provider profiles configured yet."}):J.map((Y)=>y(N,{dimColor:!0,children:["- ",Y.name,": ",V1(Y,Y.id===W)]},Y.id))}),$(C,{options:S4,onChange:(Y)=>{switch(B(void 0),Y){case"add":X("select-preset");break;case"activate":if(Z)X("select-active");break;case"activate-project":if(Z)X("select-active-project");break;case"clear-project-override":D2();break;case"edit":if(Q)X("select-edit");break;case"delete":if(Z)X("select-delete");break;case"logout-codex-oauth":{let m=B4();if(!m.success){B(m.warning??"Could not clear Codex OAuth credentials.");break}E0(!1),j0(void 0);let V=L4(n(),B0),F=null;if(V){let j=_4(V.id);if(!j.removed){B("Codex OAuth credentials were cleared, but the Codex profile could not be removed."),A();break}k4(),F=j.activeProfileId?b0():null}A(),S(F?`Codex OAuth logged out. Warning: could not clear startup provider override (${F}).`:"Codex OAuth logged out.");break}default:A0("Provider manager closed");break}},onCancel:()=>A0("Provider manager closed"),defaultFocusValue:_2,visibleOptionCount:S4.length})]})}function f0(Q,Z,Y){let m=J.map((V)=>{let F=[];if(V.id===W)F.push("active");if(b&&V.id===b)F.push("this project");if(P&&V.id===P)F.push("global default");let j=F.length>0?` (${F.join(", ")})`:"";return{value:V.id,label:`${V.name}${j}`,description:`${V.provider==="anthropic"?"anthropic":"openai-compatible"} · ${V.baseUrl} · ${V.model}`}});if(m.length===0)return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:Q}),$(N,{dimColor:!0,children:Z}),$(C,{options:[{value:"back",label:"Back",description:"Return to provider manager"}],onChange:()=>O(),onCancel:()=>O(),visibleOptionCount:1})]});return y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:Q}),$(U4,{options:m,favorites:J1,searchPlaceholder:"Search providers…",onChange:Y,onCancel:()=>O(),visibleOptionCount:Math.min(10,Math.max(2,m.length))})]})}let u;switch(h){case"select-preset":u=g2();break;case"select-ollama-model":u=S2();break;case"select-openai-model":u=k2();break;case"select-atomic-chat-model":u=T2();break;case"codex-oauth":u=$(L1,{onBack:()=>X("select-preset"),onConfigured:async(Q,Z)=>{let Y={provider:"openai",name:eq,baseUrl:ez,model:z1,apiKey:""},m=L4(n(),B0),V=m?Q0(m.id,Y):R0(Y,{makeActive:!0});if(!V){B("Codex OAuth login finished, but the provider profile could not be saved."),O();return}let F=m&&W!==V.id?$0(V.id):V;if(!F){B("Codex OAuth login finished, but the provider could not be set as the startup provider."),O();return}Z({profileId:V.id});let j=b0(),E=await Q4(Q);E0(!0),j0(V.id),A();let x=[E,j?`could not clear startup provider override (${j})`:null].filter((k)=>Boolean(k)),c=R4({prefix:"Codex OAuth configured",activationWarning:E,warnings:x});if(z==="first-run"){q({action:"saved",activeProfileId:F.id,message:c});return}S(c),B(void 0),O()}});break;case"xai-oauth":u=$(F1,{onBack:()=>X("select-preset"),onConfigured:async(Q,Z)=>{let Y={provider:"openai",name:q1,baseUrl:t0,model:R1,apiKey:""},m=b1(n(),O4()?.profileId),V=m?Q0(m.id,Y):R0(Y,{makeActive:!0});if(!V){B("xAI OAuth login finished, but the provider profile could not be saved."),O();return}let F=m&&W!==V.id?$0(V.id):V;if(!F){B("xAI OAuth login finished, but the provider could not be set as the startup provider."),O();return}try{Z({profileId:V.id})}catch(E){B(E instanceof Error?E.message:String(E)),O();return}A();let j="xAI / Grok configured. Claudin switched to it for this session.";if(z==="first-run"){q({action:"saved",activeProfileId:F.id,message:j});return}S(j),B(void 0),O()}});break;case"kimi-auth-choice":u=c2();break;case"kimi-oauth":u=$(M1,{onBack:()=>X("kimi-auth-choice"),onConfigured:async(Q,Z)=>{let Y={provider:"openai",name:Q1,baseUrl:I4,model:$1,apiKey:""},m=K1(n(),j4()?.profileId),V=m?Q0(m.id,Y):R0(Y,{makeActive:!0});if(!V){B("Kimi Code OAuth login finished, but the provider profile could not be saved."),O();return}let F=m&&W!==V.id?$0(V.id):V;if(!F){B("Kimi Code OAuth login finished, but the provider could not be set as the startup provider."),O();return}try{Z({profileId:V.id})}catch(E){B(E instanceof Error?E.message:String(E)),O();return}A();let j="Kimi Code configured. Claudin switched to it for this session.";if(z==="first-run"){q({action:"saved",activeProfileId:F.id,message:j});return}S(j),B(void 0),O()}});break;case"github-onboard":u=$(s4,{onDone:(Q)=>{if(Q)S(Q),B(void 0);A(),O()},onBack:()=>X("select-preset"),onChangeAPIKey:A});break;case"anthropic-auth-choice":u=x2();break;case"anthropic-oauth":u=l2();break;case"cloud-extras":u=p2();break;case"custom-headers":u=v2();break;case"form":u=d2();break;case"select-active":u=f0("Set active provider (Global)","No providers available. Add one first.",(Q)=>{h2(Q)});break;case"select-active-project":u=f0("Set active provider (Project)","No providers available. Add one first.",(Q)=>{E2(Q)});break;case"select-edit":u=f0("Edit provider","No providers available. Add one first.",(Q)=>{u2(Q)});break;case"select-delete":u=f0("Delete provider","No providers available. Add one first.",(Q)=>{let Z=J.find((k)=>k.id===Q),Y=Z?.provider==="openai"&&Z?.extras?.githubToken!==void 0,m=L4(J,B0)?.id===Q,V=O4()?.profileId,F=Z?.provider==="openai"&&Z.baseUrl===t0&&!Z.apiKey&&V===Q,j=j4()?.profileId,E=Z?.provider==="openai"&&Z.baseUrl===I4&&!Z.apiKey&&j===Q,x=v()?.id===Q,c=_4(Q);if(!c.removed)B("Could not delete provider.");else{let k=[];if(m){let g=B4();if(!g.success)k.push(g.warning??"could not clear Codex OAuth credentials");else j0(void 0);k4()}if(Y){let g=q2();if(!g.success)k.push(g.warning??"could not clear GitHub Copilot token")}if(F){let g=$2();if(!g.success)k.push(g.warning??"could not clear xAI OAuth credentials")}if(E){let g=Q2();if(!g.success)k.push(g.warning??"could not clear Kimi Code OAuth credentials")}let q0=c.activeProfileId?b0():null;if(q0)k.push(`could not clear startup provider override (${q0})`);if(A(),x){let g=v();if(g)_0(),R(($4)=>({...$4,mainLoopModel:M0(g.model),mainLoopModelForSession:null}));else _0(),R(($4)=>({...$4,mainLoopModel:null,mainLoopModelForSession:null}))}S(k.length>0?`Provider deleted. Warning: ${k.join("; ")}.`:"Provider deleted")}O()});break;case"menu":default:u=n2();break}return y(z2,{color:"permission",children:[$(K2,{enabled:T4,onDismiss:(Q)=>{u4(a0()),I2(!1),A();let Z=v();if(Q==="migrated"&&z==="first-run"&&Z)q({action:"saved",activeProfileId:Z.id,activeProviderName:Z.name,activeProviderModel:Z.model})}}),T4?null:B2?y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Loading providers..."}),$(N,{dimColor:!0,children:"Reading provider profiles from disk."})]}):O2?y(w,{flexDirection:"column",gap:1,children:[$(N,{color:"remember",bold:!0,children:"Activating provider..."}),$(N,{dimColor:!0,children:"Please wait while the provider is being configured."})]}):u]})}var H,W0,H4="\x00__manual__",oq,eq="Codex OAuth",z1="codexplan",q1="xAI / Grok (OAuth)",R1="grok-4",Q1="Moonshot AI",$1,I4="https://api.kimi.com/coding/v1",J1,m1;var _1=d(()=>{Aq();o4();fq();x4();xq();vq();tq();bz();c0();Cq();gq();lq();f4();i4();pq();Rz();Qz();dq();iq();cq();sq();t4();Fz();Sz();rz();uz();iz();cz();rq();g0();H=O0(U0(),1),W0=[{key:"name",label:"Provider name",placeholder:"e.g. Ollama Home, OpenAI Work",helpText:"A short label shown in /provider and startup setup."},{key:"baseUrl",label:"Base URL",placeholder:"e.g. http://localhost:11434/v1",helpText:"API base URL used for this provider profile."},{key:"apiKey",label:"API key",placeholder:"Leave empty if your provider does not require one",helpText:"Optional. Press Enter with empty value to skip.",optional:!0},{key:"model",label:"Default model",placeholder:"e.g. llama3.1:8b or glm-4.7; glm-4.7-flash",helpText:'Model name(s) to use. Separate multiple with ";" or ","; first is default.'}],oq=new Set(["anthropic","bedrock","vertex","foundry"]),$1=R2,J1=m2("providerProfile",(z)=>z);m1={bedrock:[{key:"awsRegion",label:"AWS region",placeholder:"e.g. us-east-1",helpText:"Region of your Bedrock-enabled AWS account. Credentials are picked up from the AWS SDK chain."}],vertex:[{key:"gcpProject",label:"GCP project ID",placeholder:"e.g. my-project-123456",helpText:"Google Cloud project where Vertex AI is enabled. Credentials are picked up from ADC."},{key:"gcpRegion",label:"GCP region",placeholder:"e.g. us-central1",helpText:"Vertex AI region for the model."}],foundry:[{key:"azureResource",label:"Azure resource",placeholder:"e.g. my-foundry-resource",helpText:"Name of your Azure AI Foundry resource. Credentials are picked up from DefaultAzureCredential."}]}});
|
|
50
|
-
export{G4 as $c,Qz as ad,G1 as bd,T8 as cd,_1 as dd};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Dka as X,Gka as z}from"./cli-1.1.28-knfg26kb.mjs";import{Gla as $,Jla as P,jla as Z,ola as O}from"./cli-1.1.28-2esp2ssp.mjs";import{ema as Y,lma as H}from"./cli-1.1.28-pykx8k1j.mjs";import{Vta as x}from"./cli-1.1.28-3fssr567.mjs";function y(q){return q.replace(w,(K,J,Q)=>{if(Q.length<F)return`"${J}":"[REDACTED]"`;let V=`${Q.slice(0,8)}...${Q.slice(-4)}`;return`"${J}":"${V}"`})}function U(q){let K=q.replace(/\n/g,"\\n");if(K.length<=W)return K;return K.slice(0,W)+`... (${K.length} chars)`}function j(q){let K=typeof q==="string"?q:Z(q),J=y(K);if(J.length<=W)return J;return J.slice(0,W)+`... (${J.length} chars)`}function h(q){let K=Y(q);if(q&&typeof q==="object"&&"response"in q){let J=q.response;if(J?.data&&typeof J.data==="object"){let Q=J.data,V=typeof Q.message==="string"?Q.message:typeof Q.error==="object"&&Q.error&&("message"in Q.error)&&typeof Q.error.message==="string"?Q.error.message:void 0;if(V)return`${K}: ${V}`}}return K}function m(q){if(q&&typeof q==="object"&&"response"in q&&q.response&&typeof q.response.status==="number")return q.response.status;return}function D(q){if(!q||typeof q!=="object")return;if("message"in q&&typeof q.message==="string")return q.message;if("error"in q&&q.error!==null&&typeof q.error==="object"&&"message"in q.error&&typeof q.error.message==="string")return q.error.message;return}function L(q,K,J){if(K)$(K);X("",{reason:q,...J!==void 0&&{v2:J}})}var W=2000,k,w,F=16;var A=x(()=>{z();P();H();O();k=["session_ingress_token","environment_secret","access_token","secret","token"],w=new RegExp(`"(${k.join("|")})"\\s*:\\s*"([^"]*)"`,"g")});
|
|
2
|
-
export{U as Oe,j as Pe,h as Qe,m as Re,D as Se,L as Te,A as Ue};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{De as c,He as Eq}from"./cli-1.1.28-wze93r29.mjs";import{HM as n,Mp as s,NM as e,Np as Tq,OM as P,Qp as t,SM as jq,Sp as Mq,TM as O,UM as qq,WM as I,Wp as i,XM as Gq,Yp as Rq,aq as A,bN as Cq,cq as D,cu as l,dq as Aq,du as wq,eN as b,eq as h,fN as Lq,fq as S,gq as Fq,iN as Hq,jN as Jq,lM as v,lN as vq,mM as m,mN as y,nN as Qq,oM as Oq,oN as Xq,pN as Yq,qN as $q,rN as d,uN as Dq}from"./cli-1.1.28-zhftjycn.mjs";import{$ea as L,$ha as a,Cea as Kq,Zea as F,hia as Bq,pfa as _q,uea as V}from"./cli-1.1.28-5y1xeh89.mjs";import{sla as p,wla as xq}from"./cli-1.1.28-2esp2ssp.mjs";import{dma as o,gma as N,lma as Wq}from"./cli-1.1.28-pykx8k1j.mjs";import{csa as Uq,joa as f}from"./cli-1.1.28-wvj52k91.mjs";import{Vta as Zq}from"./cli-1.1.28-3fssr567.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(U){a(o(U));continue}}if(!J||!Y){let $=X?`marketplace "${X}"`:"any configured marketplace";return{success:!1,message:`Plugin "${G}" not found in ${$}`}}let Z=J,x=`${Z.name}@${Y}`,Q=await Jq({pluginId:x,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: ${x} (scope: ${H})${Q.depNote}`,pluginId:x,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),x=F(Z),Q,$;if(z)Q=Object.keys(x?.enabledPlugins??{}).find((W)=>W===q||W===z.name||W.startsWith(`${z.name}@`))??(q.includes("@")?q:z.name),$=z.name;else{let W=yq(q);if(!W)return{success:!1,message:`Plugin "${q}" not found in installed plugins`};Q=W.pluginId,$=W.pluginName}let B=zq(H),U=O().plugins[Q],M=U?.find((W)=>W.scope===H&&W.projectPath===B);if(!M){let{scope:W}=kq(Q);if(W!==H&&U&&U.length>0){if(W==="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 ${W} scope, not ${H}. Use --scope ${W} 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,_={...x?.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),x=F(Z)?.enabledPlugins?.[J],Q={user:0,project:1,local:2},$=G&&z&&Q[G]>Q[z.scope];if(G&&x===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&&!$?x===!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:U}=L(Z,{enabledPlugins:{...F(Z)?.enabledPlugins,[J]:H}});if(U)return{success:!1,message:`Failed to ${X} plugin: ${U.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 UG(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(),x=J.version,Q,$,B=!1,K;if(typeof G.source!=="string"){let U=await Yq(G.source,{manifest:{name:G.name}});Q=U.path,B=!0,K=U.gitCommitSha,$=await b(q,G.source,U.manifest,U.path,G.version,U.gitCommitSha)}else{let U;try{U=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=U.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 U=y(q,$),M=Qq(q,$);if(J.version===$||J.installPath===U||J.installPath===M)return{success:!0,message:`${H} is already at the latest version (${$}).`,pluginId:q,newVersion:$,oldVersion:x,alreadyUpToDate:!0,scope:Y};U=await Xq(Q,q,$,G);let _=J.installPath;if(Gq(q,Y,z,U,$,K),_&&_!==U){let j=I();if(!Object.values(j.plugins).some((E)=>E.some((W)=>W.installPath===_)))await m(_)}let T=z?`${Y} (${z})`:Y;return{success:!0,message:`Plugin "${H}" updated from ${x||"unknown"} to ${$} for scope ${T}. Restart to apply changes.`,pluginId:q,newVersion:$,oldVersion:x,scope:Y}}finally{if(B&&Q!==y(q,$))await Z.rm(Q,{recursive:!0,force:!0})}}var k,HG;var hq=Zq(()=>{Uq();Rq();Wq();xq();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 qe,HG as re,JG as se,QG as te,kq as ue,XG as ve,YG as we,$G as xe,zG as ye,ZG as ze,UG as Ae,hq as Be};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Ff as EG,Gf as iG,Mf as rG}from"./cli-1.1.28-qvpamm5s.mjs";import{AN as BG,AO as sG,BN as DG,EO as f,FO as s,GN as l,GO as c,HO as v,IO as i,KN as qG,LO as u,MN as y,NN as o,ON as aG,PO as cG,QN as kG,Qs as vG,Sn as YG,Tn as FG,VN as bG,Xn as VG,cO as lG,fo as fG,jG as KG,kG as mG,kO as _G,lO as oG,nt as uG,oy as a,py as jG,qy as HG,ry as dG,vN as LG,wN as WG,xO as $G,yN as pG}from"./cli-1.1.28-zhftjycn.mjs";import{m0 as OJ}from"./cli-1.1.28-0njtm2nf.mjs";import{b5 as wG,d5 as PG}from"./cli-1.1.28-v5ypq0r2.mjs";import{e5 as zG}from"./cli-1.1.28-yv5gzenz.mjs";import{_da as ZG,dea as CG,dia as R,eia as b,hia as gG}from"./cli-1.1.28-5y1xeh89.mjs";import{rja as NG}from"./cli-1.1.28-es8var4t.mjs";import{Dka as A,Gka as MG}from"./cli-1.1.28-knfg26kb.mjs";import{Gla as XG,Jla as SG,ola as yG}from"./cli-1.1.28-2esp2ssp.mjs";import{ema as h,lma as TG}from"./cli-1.1.28-pykx8k1j.mjs";import{csa as QG,doa as OG}from"./cli-1.1.28-wvj52k91.mjs";import{Rta as r,Vta as p}from"./cli-1.1.28-3fssr567.mjs";var e=p(()=>{yG();NG()});function GG(X){let Z="plugin"in X?X.plugin:"no-plugin";return`${X.type}:${X.source}:${Z}`}function JG(X,Z){if(Z.length===0)return;X((k)=>{let U=new Set(k.plugins.errors.map((j)=>GG(j))),_=Z.filter((j)=>!U.has(GG(j)));if(_.length===0)return k;return{...k,plugins:{...k.plugins,errors:[...k.plugins.errors,..._]}}})}function GJ(X,Z,k,U){let _=Z==="disabled"?U??[]:U;if(_===void 0)return X;let j=new Map;for(let B of _)if(B.name!==void 0)j.set(B.name,B);let V=[],P=new Set;for(let B of X){if(!B.name?.startsWith(k)){V.push(B);continue}let w=j.get(B.name);if(w)V.push(w),P.add(B.name)}for(let B of _)if(B.name===void 0||!P.has(B.name))V.push(B);return V}function IG(X,Z=!1){let k=HG(),U=a((G)=>G.authVersion),_=a((G)=>G.mcp.pluginReconnectKey),j=jG(),V=q.useRef(new Map),P=q.useRef(new Set),B=q.useRef(null);q.useEffect(()=>{},[j]);let{addNotification:w}=KG(),RG=16,d=q.useRef([]),N=q.useRef(null),C=q.useCallback(()=>{N.current=null;let G=d.current;if(G.length===0)return;d.current=[],j((z)=>{let Y=z.mcp;for(let W of G){let{tools:Q,commands:H,resources:D,...J}=W,K=J.type==="disabled"||J.type==="failed"?H??[]:H,O=J.type==="disabled"||J.type==="failed"?D??[]:D,F=ZG(J.name),I=Y.clients.findIndex((M)=>M.name===J.name)===-1?[...Y.clients,J]:Y.clients.map((M)=>M.name===J.name?J:M),g=GJ(Y.tools,J.type,F,Q),x=K===void 0?Y.commands:[..._G(Y.commands,(M)=>kG(M,J.name)),...K],m=O===void 0?Y.resources:{...Y.resources,...O.length>0?{[J.name]:O}:EG(Y.resources,J.name)};Y={...Y,clients:I,tools:g,commands:x,resources:m}}return{...z,mcp:Y}})},[j]),$=q.useCallback((G)=>{if(d.current.push(G),N.current===null)N.current=setTimeout(C,RG)},[C]),E=q.useCallback(({client:G,tools:z,commands:Y,resources:W})=>{switch($({...G,tools:z,commands:Y,resources:W}),G.type){case"connected":{if($G(G.client,G.name,j),G.client.onclose=()=>{let Q=G.config.type??"stdio";if(u(G.name,G.config).catch(()=>{XG(`Failed to invalidate the server cache: ${G.name}`)}),y(G.name)){b(G.name,"Server is disabled, skipping automatic reconnection");return}if(Q!=="stdio"&&Q!=="sdk"){let H=JJ(Q);b(G.name,`${H} transport closed/disconnected, attempting automatic reconnection`);let D=V.current.get(G.name);if(D)clearTimeout(D),V.current.delete(G.name);(async()=>{for(let K=1;K<=T;K++){if(y(G.name)){b(G.name,"Server disabled during reconnection, stopping retry"),V.current.delete(G.name);return}$({...G,type:"pending",reconnectAttempt:K,maxReconnectAttempts:T});let O=Date.now();try{let L=await v(G.name,G.config),I=Date.now()-O;if(L.client.type==="connected"){b(G.name,`${H} reconnection successful after ${I}ms (attempt ${K})`),V.current.delete(G.name),E(L);return}if(b(G.name,`${H} reconnection attempt ${K} completed with status: ${L.client.type}`),K===T){b(G.name,`Max reconnection attempts (${T}) reached, giving up`),V.current.delete(G.name),E(L);return}}catch(L){let I=Date.now()-O;if(R(G.name,`${H} reconnection attempt ${K} failed after ${I}ms: ${L}`),K===T){b(G.name,`Max reconnection attempts (${T}) reached, giving up`),V.current.delete(G.name),$({...G,type:"failed"});return}}let F=Math.min(tG*Math.pow(2,K-1),eG);b(G.name,`Scheduling reconnection attempt ${K+1} in ${F}ms`),await new Promise((L)=>{let I=setTimeout(L,F);V.current.set(G.name,I)})}})()}else $({...G,type:"failed"})},!1)switch(Q.action){case"register":case"skip":}if(G.capabilities?.tools?.listChanged)G.client.setNotificationHandler(VG,async()=>{b(G.name,"Received tools/list_changed notification, refreshing tools");try{let Q=f.cache.get(G.name);f.cache.delete(G.name);let H=await f(G),D=H.length;if(Q)Q.then((J)=>{A("",{type:"tools",previousCount:J.length,newCount:D})},()=>{A("",{type:"tools",newCount:D})});else A("",{type:"tools",newCount:D});$({...G,tools:H})}catch(Q){R(G.name,`Failed to refresh tools after list_changed notification: ${h(Q)}`)}});if(G.capabilities?.prompts?.listChanged)G.client.setNotificationHandler(FG,async()=>{b(G.name,"Received prompts/list_changed notification, refreshing prompts"),A("",{type:"prompts"});try{c.cache.delete(G.name);let[Q,H]=await Promise.all([c(G),Promise.resolve([])]);$({...G,commands:[...Q,...H]}),nG?.()}catch(Q){R(G.name,`Failed to refresh prompts after list_changed notification: ${h(Q)}`)}});if(G.capabilities?.resources?.listChanged)G.client.setNotificationHandler(YG,async()=>{b(G.name,"Received resources/list_changed notification, refreshing resources"),A("",{type:"resources"});try{s.cache.delete(G.name);{let Q=await s(G);$({...G,resources:Q})}}catch(Q){R(G.name,`Failed to refresh resources after list_changed notification: ${h(Q)}`)}});break}case"needs-auth":case"failed":case"pending":case"disabled":break}},[$]),t=OG();q.useEffect(()=>{async function G(){let{servers:z,errors:Y}=Z?{servers:{},errors:[]}:await l(X),W={...z,...X};JG(j,Y),j((Q)=>{let{stale:H,...D}=bG(Q.mcp,W);for(let O of H){let F=V.current.get(O.name);if(F)clearTimeout(F),V.current.delete(O.name);if(O.type==="connected")O.client.onclose=void 0,u(O.name,O.config).catch(()=>{})}let J=new Set(D.clients.map((O)=>O.name)),K=Object.entries(W).filter(([O])=>!J.has(O)).map(([O,F])=>({name:O,type:y(O)?"disabled":"pending",config:F}));if(K.length===0&&H.length===0)return Q;return{...Q,mcp:{...Q.mcp,...D,clients:[...D.clients,...K]}}})}G().catch((z)=>{R("useManageMCPConnections",`Failed to initialize servers as pending: ${h(z)}`)})},[Z,X,j,t,_]),q.useEffect(()=>{let G=!1;async function z(){let Y;if(Z||qG())Y=Promise.resolve({});else WG(),Y=LG();let{servers:W,errors:Q}=Z?{servers:{},errors:[]}:await l(X,Y);if(G)return;JG(j,Q);let H={...W,...X},D=Object.fromEntries(Object.entries(H).filter(([F])=>!y(F)));i(E,D).catch((F)=>{R("useManageMcpConnections",`Failed to get MCP resources: ${h(F)}`)});let J={};if(!Z){if(J=DG(await Y).allowed,G)return;if(Object.keys(J).length>0){let{servers:F}=BG(J,H);J=F}if(Object.keys(J).length>0){j((L)=>{let I=new Set(L.mcp.clients.map((x)=>x.name)),g=Object.entries(J).filter(([x])=>!I.has(x)).map(([x,m])=>({name:x,type:y(x)?"disabled":"pending",config:m}));if(g.length===0)return L;return{...L,mcp:{...L.mcp,clients:[...L.mcp.clients,...g]}}});let F=Object.fromEntries(Object.entries(J).filter(([L])=>!y(L)));i(E,F).catch((L)=>{R("useManageMcpConnections",`Failed to get claude.ai MCP resources: ${h(L)}`)})}}let K={...H,...J},O={enterprise:0,global:0,project:0,user:0,plugin:0,claudeai:0};for(let F of Object.values(K))if(F.scope==="enterprise")O.enterprise++;else if(F.scope==="user")O.global++;else if(F.scope==="project")O.project++;else if(F.scope==="local")O.user++;else if(F.scope==="dynamic")O.plugin++;else if(F.scope==="claudeai")O.claudeai++;A("",{...O})}return z(),()=>{G=!0}},[Z,X,E,j,U,t,_]),q.useEffect(()=>{let G=V.current;return()=>{for(let z of G.values())clearTimeout(z);if(G.clear(),N.current!==null)clearTimeout(N.current),N.current=null,C()}},[C]);let AG=q.useCallback(async(G)=>{let z=k.getState().mcp.clients.find((Q)=>Q.name===G);if(!z)throw Error(`MCP server ${G} not found`);let Y=V.current.get(G);if(Y)clearTimeout(Y),V.current.delete(G);let W=await v(G,z.config);return E(W),W},[k,E]),hG=q.useCallback(async(G)=>{let z=k.getState().mcp.clients.find((W)=>W.name===G);if(!z)throw Error(`MCP server ${G} not found`);if(z.type!=="disabled"){let W=V.current.get(G);if(W)clearTimeout(W),V.current.delete(G);if(o(G,!1),z.type==="connected")await u(G,z.config);$({name:G,type:"disabled",config:z.config})}else{o(G,!0),$({name:G,type:"pending",config:z.config});let W=await v(G,z.config);E(W)}},[k,$,E]);return{reconnectMcpServer:AG,toggleMcpServer:hG}}function JJ(X){switch(X){case"http":return"HTTP";case"ws":case"ws-ide":return"WebSocket";default:return"SSE"}}var q,nG=null,T=5,tG=1000,eG=30000;var UG=p(()=>{QG();cG();fG();iG();oG();MG();aG();SG();QG();mG();dG();TG();gG();uG();rG();e();pG();sG();CG();lG();vG();q=r(zG(),1)});function lJ(){let X=S.useContext(n);if(!X)throw Error("useMcpReconnect must be used within MCPConnectionManager");return X.reconnectMcpServer}function oJ(){let X=S.useContext(n);if(!X)throw Error("useMcpToggleEnabled must be used within MCPConnectionManager");return X.toggleMcpServer}function sJ(X){let Z=xG.c(6),{children:k,dynamicMcpConfig:U,isStrictMcpConfig:_}=X,{reconnectMcpServer:j,toggleMcpServer:V}=IG(U,_),P;if(Z[0]!==j||Z[1]!==V)P={reconnectMcpServer:j,toggleMcpServer:V},Z[0]=j,Z[1]=V,Z[2]=P;else P=Z[2];let B=P,w;if(Z[3]!==k||Z[4]!==B)w=wG(n.Provider,{value:B,children:k}),Z[3]=k,Z[4]=B,Z[5]=w;else w=Z[5];return w}var xG,S,n;var QJ=p(()=>{UG();PG();xG=r(OJ(),1),S=r(zG(),1),n=S.createContext(null)});
|
|
2
|
-
export{e as Af,lJ as Bf,oJ as Cf,sJ as Df,QJ as Ef};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Vta as B}from"./cli-1.1.28-3fssr567.mjs";function F(z){let k=z.trim();if(!k.startsWith("/"))return null;let b=k.slice(1).split(" ");if(!b[0])return null;let j=b[0],l=!1,q=1;if(b.length>1&&b[1]==="(MCP)")j=j+" (MCP)",l=!0,q=2;let A=b.slice(q).join(" ");return{commandName:j,args:A,isMcp:l}}var C=()=>{};
|
|
2
|
-
export{F as Xi,C as Yi};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Ec as Y,Fc as Z,Gc as _,Jc as b}from"./cli-1.1.28-t5yawarz.mjs";import{Be as V,we as X}from"./cli-1.1.28-14abe08r.mjs";import{IM as T,NM as U,SM as O,TM as W,bN as S}from"./cli-1.1.28-zhftjycn.mjs";import{Gla as Q,Jla as K}from"./cli-1.1.28-2esp2ssp.mjs";import{ema as L,lma as C}from"./cli-1.1.28-pykx8k1j.mjs";V();K();C();S();O();b();function j(E,H,J){let G=new Set(H.plugins.map((v)=>v.name)),z=`@${J}`,q=[];for(let v of Object.keys(E.plugins)){if(!v.endsWith(z))continue;let h=v.slice(0,-z.length);if(!G.has(h))q.push(v)}return q}async function F(){await Y();let E=W(),H=Z(),J=await T(),G=[];for(let z of Object.keys(J))try{let q=await U(z);if(!q.forceRemoveDeletedPlugins)continue;let v=j(E,q,z);for(let h of v){if(h in H)continue;let R=E.plugins[h]??[];if(!R.some((A)=>A.scope==="user"||A.scope==="project"||A.scope==="local"))continue;for(let A of R){let{scope:B}=A;if(B!=="user"&&B!=="project"&&B!=="local")continue;try{await X(h,B)}catch($){Q(`Failed to auto-uninstall delisted plugin ${h} from ${B}: ${L($)}`,{level:"error"})}}await _(h),G.push(h)}}catch(q){Q(`Failed to check for delisted plugins in "${z}": ${L(q)}`,{level:"warn"})}return G}
|
|
2
|
-
export{F as vb};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{ra as F}from"./cli-1.1.28-cb5wemmj.mjs";import{iu as N,ju as b}from"./cli-1.1.28-zhftjycn.mjs";import{eX as U,hX as d,iX as _,jX as M,oX as I}from"./cli-1.1.28-4kxqqtpz.mjs";import{S9 as z,V9 as T,a_ as x,b_ as H,g_ as v}from"./cli-1.1.28-ss8nzmnb.mjs";import{M$ as Z,O$ as P}from"./cli-1.1.28-5y1xeh89.mjs";import{Dka as B,Gka as D}from"./cli-1.1.28-knfg26kb.mjs";import{Gla as Y,Jla as A,jla as O,ola as f}from"./cli-1.1.28-2esp2ssp.mjs";import{rma as L,zma as S}from"./cli-1.1.28-khcgtk4a.mjs";import{fta as y,xta as i}from"./cli-1.1.28-ev0gfjgf.mjs";import{Wta as k}from"./cli-1.1.28-3fssr567.mjs";i();A();P();d();D();b();A();P();S();T();v();I();f();var u=`{"type":"keep_alive"}
|
|
2
|
-
`,C=1000,h=1000,R=30000,w=600000,p=1e4,m=300000,E=R*2,c=new Set([1002,4001,4003]);class W{ws=null;lastSentId=null;url;state="idle";onData;onCloseCallback;onConnectCallback;headers;sessionId;autoReconnect;isBridge;reconnectAttempts=0;reconnectStartTime=null;reconnectTimer=null;lastReconnectAttemptTime=null;lastActivityTime=0;pingInterval=null;pongReceived=!0;keepAliveInterval=null;messageBuffer;isBunWs=!1;connectStartTime=0;refreshHeaders;constructor(J,K={},Q,X,$){this.url=J,this.headers=K,this.sessionId=Q,this.refreshHeaders=X,this.autoReconnect=$?.autoReconnect??!0,this.isBridge=$?.isBridge??!1,this.messageBuffer=new N(C)}async connect(){if(this.state!=="idle"&&this.state!=="reconnecting"){Y(`WebSocketTransport: Cannot connect, current state is ${this.state}`,{level:"error"}),Z("error","cli_websocket_connect_failed");return}this.state="reconnecting",this.connectStartTime=Date.now(),Y(`WebSocketTransport: Opening ${this.url.href}`),Z("info","cli_websocket_connect_opening");let J={...this.headers};if(this.lastSentId)J["X-Last-Request-Id"]=this.lastSentId,Y(`WebSocketTransport: Adding X-Last-Request-Id header: ${this.lastSentId}`);if(typeof Bun<"u"){let K=new globalThis.WebSocket(this.url.href,{headers:J,proxy:H(this.url.href),tls:z()||void 0});this.ws=K,this.isBunWs=!0,K.addEventListener("open",this.onBunOpen),K.addEventListener("message",this.onBunMessage),K.addEventListener("error",this.onBunError),K.addEventListener("close",this.onBunClose),K.addEventListener("pong",this.onPong)}else{let{default:K}=await import("./wrapper-1.1.28-qgyry9mh.mjs"),Q=new K(this.url.href,{headers:J,agent:x(this.url.href),...z()});this.ws=Q,this.isBunWs=!1,Q.on("open",this.onNodeOpen),Q.on("message",this.onNodeMessage),Q.on("error",this.onNodeError),Q.on("close",this.onNodeClose),Q.on("pong",this.onPong)}}onBunOpen=()=>{if(this.handleOpenEvent(),this.lastSentId)this.replayBufferedMessages("")};onBunMessage=(J)=>{let K=typeof J.data==="string"?J.data:String(J.data);if(this.lastActivityTime=Date.now(),Z("info","cli_websocket_message_received",{length:K.length}),this.onData)this.onData(K)};onBunError=()=>{Y("WebSocketTransport: Error",{level:"error"}),Z("error","cli_websocket_connect_error")};onBunClose=(J)=>{let K=J.code===1000||J.code===1001;Y(`WebSocketTransport: Closed: ${J.code}`,K?void 0:{level:"error"}),Z("error","cli_websocket_connect_closed"),this.handleConnectionError(J.code)};onNodeOpen=()=>{let J=this.ws;if(this.handleOpenEvent(),!J)return;let Q=J.upgradeReq;if(Q?.headers?.["x-last-request-id"]){let X=Q.headers["x-last-request-id"];this.replayBufferedMessages(X)}};onNodeMessage=(J)=>{let K=J.toString();if(this.lastActivityTime=Date.now(),Z("info","cli_websocket_message_received",{length:K.length}),this.onData)this.onData(K)};onNodeError=(J)=>{Y(`WebSocketTransport: Error: ${J.message}`,{level:"error"}),Z("error","cli_websocket_connect_error")};onNodeClose=(J,K)=>{let Q=J===1000||J===1001;Y(`WebSocketTransport: Closed: ${J}`,Q?void 0:{level:"error"}),Z("error","cli_websocket_connect_closed"),this.handleConnectionError(J)};onPong=()=>{this.pongReceived=!0};handleOpenEvent(){let J=Date.now()-this.connectStartTime;if(Y("WebSocketTransport: Connected"),Z("info","cli_websocket_connect_connected",{duration_ms:J}),this.isBridge&&this.reconnectStartTime!==null)B("",{attempts:this.reconnectAttempts,downtimeMs:Date.now()-this.reconnectStartTime});this.reconnectAttempts=0,this.reconnectStartTime=null,this.lastReconnectAttemptTime=null,this.lastActivityTime=Date.now(),this.state="connected",this.onConnectCallback?.(),this.startPingInterval(),this.startKeepaliveInterval(),_(()=>{this.write({type:"keep_alive"})})}sendLine(J){if(!this.ws||this.state!=="connected")return Y("WebSocketTransport: Not connected"),Z("info","cli_websocket_send_not_connected"),!1;try{return this.ws.send(J),this.lastActivityTime=Date.now(),!0}catch(K){return Y(`WebSocketTransport: Failed to send: ${K}`,{level:"error"}),Z("error","cli_websocket_send_error"),this.handleConnectionError(),!1}}removeWsListeners(J){if(this.isBunWs){let K=J;K.removeEventListener("open",this.onBunOpen),K.removeEventListener("message",this.onBunMessage),K.removeEventListener("error",this.onBunError),K.removeEventListener("close",this.onBunClose),K.removeEventListener("pong",this.onPong)}else{let K=J;K.off("open",this.onNodeOpen),K.off("message",this.onNodeMessage),K.off("error",this.onNodeError),K.off("close",this.onNodeClose),K.off("pong",this.onPong)}}doDisconnect(){if(this.stopPingInterval(),this.stopKeepaliveInterval(),M(),this.ws)this.removeWsListeners(this.ws),this.ws.close(),this.ws=null}handleConnectionError(J){if(Y(`WebSocketTransport: Disconnected from ${this.url.href}`+(J!=null?` (code ${J})`:"")),Z("info","cli_websocket_disconnected"),this.isBridge)B("",{closeCode:J,msSinceLastActivity:this.lastActivityTime>0?Date.now()-this.lastActivityTime:-1,wasConnected:this.state==="connected",reconnectAttempts:this.reconnectAttempts});if(this.doDisconnect(),this.state==="closing"||this.state==="closed")return;let K=!1;if(J===4003&&this.refreshHeaders){let $=this.refreshHeaders();if($.Authorization!==this.headers.Authorization)Object.assign(this.headers,$),K=!0,Y("WebSocketTransport: 4003 received but headers refreshed, scheduling reconnect"),Z("info","cli_websocket_4003_token_refreshed")}if(J!=null&&c.has(J)&&!K){Y(`WebSocketTransport: Permanent close code ${J}, not reconnecting`,{level:"error"}),Z("error","cli_websocket_permanent_close",{closeCode:J}),this.state="closed",this.onCloseCallback?.(J);return}if(!this.autoReconnect){this.state="closed",this.onCloseCallback?.(J);return}let Q=Date.now();if(!this.reconnectStartTime)this.reconnectStartTime=Q;if(this.lastReconnectAttemptTime!==null&&Q-this.lastReconnectAttemptTime>E)Y(`WebSocketTransport: Detected system sleep (${Math.round((Q-this.lastReconnectAttemptTime)/1000)}s gap), resetting reconnection budget`),Z("info","cli_websocket_sleep_detected",{gapMs:Q-this.lastReconnectAttemptTime}),this.reconnectStartTime=Q,this.reconnectAttempts=0;this.lastReconnectAttemptTime=Q;let X=Q-this.reconnectStartTime;if(X<w){if(this.reconnectTimer)clearTimeout(this.reconnectTimer),this.reconnectTimer=null;if(!K&&this.refreshHeaders){let G=this.refreshHeaders();Object.assign(this.headers,G),Y("WebSocketTransport: Refreshed headers for reconnect")}this.state="reconnecting",this.reconnectAttempts++;let $=Math.min(h*Math.pow(2,this.reconnectAttempts-1),R),j=Math.max(0,$+$*0.25*(2*Math.random()-1));if(Y(`WebSocketTransport: Reconnecting in ${Math.round(j)}ms (attempt ${this.reconnectAttempts}, ${Math.round(X/1000)}s elapsed)`),Z("error","cli_websocket_reconnect_attempt",{reconnectAttempts:this.reconnectAttempts}),this.isBridge)B("",{attempt:this.reconnectAttempts,elapsedMs:X,delayMs:Math.round(j)});this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},j)}else if(Y(`WebSocketTransport: Reconnection time budget exhausted after ${Math.round(X/1000)}s for ${this.url.href}`,{level:"error"}),Z("error","cli_websocket_reconnect_exhausted",{reconnectAttempts:this.reconnectAttempts,elapsedMs:X}),this.state="closed",this.onCloseCallback)this.onCloseCallback(J)}close(){if(this.reconnectTimer)clearTimeout(this.reconnectTimer),this.reconnectTimer=null;this.stopPingInterval(),this.stopKeepaliveInterval(),M(),this.state="closing",this.doDisconnect()}replayBufferedMessages(J){let K=this.messageBuffer.toArray();if(K.length===0)return;let Q=0;if(J){let $=K.findIndex((j)=>("uuid"in j)&&j.uuid===J);if($>=0){Q=$+1;let j=K.slice(Q);if(this.messageBuffer.clear(),this.messageBuffer.addAll(j),j.length===0)this.lastSentId=null;Y(`WebSocketTransport: Evicted ${Q} confirmed messages, ${j.length} remaining`),Z("info","cli_websocket_evicted_confirmed_messages",{evicted:Q,remaining:j.length})}}let X=K.slice(Q);if(X.length===0){Y("WebSocketTransport: No new messages to replay"),Z("info","cli_websocket_no_messages_to_replay");return}Y(`WebSocketTransport: Replaying ${X.length} buffered messages`),Z("info","cli_websocket_messages_to_replay",{count:X.length});for(let $ of X){let j=O($)+`
|
|
3
|
-
`;if(!this.sendLine(j)){this.handleConnectionError();break}}}isConnectedStatus(){return this.state==="connected"}isClosedStatus(){return this.state==="closed"}setOnData(J){this.onData=J}setOnConnect(J){this.onConnectCallback=J}setOnClose(J){this.onCloseCallback=J}getStateLabel(){return this.state}async write(J){if("uuid"in J&&typeof J.uuid==="string")this.messageBuffer.add(J),this.lastSentId=J.uuid;let K=O(J)+`
|
|
4
|
-
`;if(this.state!=="connected")return;let Q=this.sessionId?` session=${this.sessionId}`:"",X=this.getControlMessageDetailLabel(J);Y(`WebSocketTransport: Sending message type=${J.type}${Q}${X}`),this.sendLine(K)}getControlMessageDetailLabel(J){if(J.type==="control_request"){let{request_id:K,request:Q}=J,X=Q.subtype==="can_use_tool"?Q.tool_name:"";return` subtype=${Q.subtype} request_id=${K}${X?` tool=${X}`:""}`}if(J.type==="control_response"){let{subtype:K,request_id:Q}=J.response;return` subtype=${K} request_id=${Q}`}return""}startPingInterval(){this.stopPingInterval(),this.pongReceived=!0;let J=Date.now();this.pingInterval=setInterval(()=>{if(this.state==="connected"&&this.ws){let K=Date.now(),Q=K-J;if(J=K,Q>E){Y(`WebSocketTransport: ${Math.round(Q/1000)}s tick gap detected — process was suspended, forcing reconnect`),Z("info","cli_websocket_sleep_detected_on_ping",{gapMs:Q}),this.handleConnectionError();return}if(!this.pongReceived){Y("WebSocketTransport: No pong received, connection appears dead",{level:"error"}),Z("error","cli_websocket_pong_timeout"),this.handleConnectionError();return}this.pongReceived=!1;try{this.ws.ping?.()}catch(X){Y(`WebSocketTransport: Ping failed: ${X}`,{level:"error"}),Z("error","cli_websocket_ping_failed")}}},p)}stopPingInterval(){if(this.pingInterval)clearInterval(this.pingInterval),this.pingInterval=null}startKeepaliveInterval(){if(this.stopKeepaliveInterval(),L(process.env.CLAUDE_CODE_REMOTE))return;this.keepAliveInterval=setInterval(()=>{if(this.state==="connected"&&this.ws)try{this.ws.send(u),this.lastActivityTime=Date.now(),Y("WebSocketTransport: Sent periodic keep_alive data frame")}catch(J){Y(`WebSocketTransport: Periodic keep_alive failed: ${J}`,{level:"error"}),Z("error","cli_websocket_keepalive_failed")}},m)}stopKeepaliveInterval(){if(this.keepAliveInterval)clearInterval(this.keepAliveInterval),this.keepAliveInterval=null}}var g=100,t=15000,l=3000;class n extends W{postUrl;uploader;streamEventBuffer=[];streamEventTimer=null;constructor(J,K={},Q,X,$){super(J,K,Q,X,$);let{maxConsecutiveFailures:j,onBatchDropped:G}=$??{};this.postUrl=r(J),this.uploader=new F({maxBatchSize:500,maxQueueSize:1e5,baseDelayMs:500,maxDelayMs:8000,jitterMs:1000,maxConsecutiveFailures:j,onBatchDropped:(V,q)=>{Z("error","cli_hybrid_batch_dropped_max_failures",{batchSize:V,failures:q}),G?.(V,q)},send:(V)=>this.postOnce(V)}),Y(`HybridTransport: POST URL = ${this.postUrl}`),Z("info","cli_hybrid_transport_initialized")}async write(J){if(J.type==="stream_event"){if(this.streamEventBuffer.push(J),!this.streamEventTimer)this.streamEventTimer=setTimeout(()=>this.flushStreamEvents(),g);return}return await this.uploader.enqueue([...this.takeStreamEvents(),J]),this.uploader.flush()}async writeBatch(J){return await this.uploader.enqueue([...this.takeStreamEvents(),...J]),this.uploader.flush()}get droppedBatchCount(){return this.uploader.droppedBatchCount}flush(){return this.uploader.enqueue(this.takeStreamEvents()),this.uploader.flush()}takeStreamEvents(){if(this.streamEventTimer)clearTimeout(this.streamEventTimer),this.streamEventTimer=null;let J=this.streamEventBuffer;return this.streamEventBuffer=[],J}flushStreamEvents(){this.streamEventTimer=null,this.uploader.enqueue(this.takeStreamEvents())}close(){if(this.streamEventTimer)clearTimeout(this.streamEventTimer),this.streamEventTimer=null;this.streamEventBuffer=[];let J=this.uploader,K;Promise.race([J.flush(),new Promise((Q)=>{K=setTimeout(Q,l)})]).finally(()=>{clearTimeout(K),J.close()}),super.close()}async postOnce(J){let K=U();if(!K){Y("HybridTransport: No session token available for POST"),Z("warn","cli_hybrid_post_no_token");return}let Q={Authorization:`Bearer ${K}`,"Content-Type":"application/json"},X;try{X=await y.post(this.postUrl,{events:J},{headers:Q,validateStatus:()=>!0,timeout:t})}catch($){throw Y(`HybridTransport: POST error: ${$.message}`),Z("warn","cli_hybrid_post_network_error"),$}if(X.status>=200&&X.status<300){Y(`HybridTransport: POST success count=${J.length}`);return}if(X.status>=400&&X.status<500&&X.status!==429){Y(`HybridTransport: POST returned ${X.status} (permanent), dropping`),Z("warn","cli_hybrid_post_client_error",{status:X.status});return}throw Y(`HybridTransport: POST returned ${X.status} (retryable)`),Z("warn","cli_hybrid_post_retryable_error",{status:X.status}),Error(`POST failed with ${X.status}`)}}function r(J){let K=J.protocol==="wss:"?"https:":"http:",Q=J.pathname;if(Q=Q.replace("/ws/","/session/"),!Q.endsWith("/events"))Q=Q.endsWith("/")?Q+"events":Q+"/events";return`${K}//${J.host}${Q}${J.search}`}
|
|
5
|
-
export{W as ca,n as da};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a2 as W,m0 as f,o2 as X,q2 as k}from"./cli-1.1.28-0njtm2nf.mjs";import{a5 as V,b5 as J,d5 as K}from"./cli-1.1.28-v5ypq0r2.mjs";import{e5 as P}from"./cli-1.1.28-yv5gzenz.mjs";import{kia as U,lia as O}from"./cli-1.1.28-8avwqt1z.mjs";import{Rta as Q,Vta as L}from"./cli-1.1.28-3fssr567.mjs";import{PassThrough as C}from"stream";function E(q){let b=Z.c(5),{children:w}=q,{exit:z}=W(),B,H;if(b[0]!==z)B=()=>{let D=setTimeout(z,0);return()=>clearTimeout(D)},H=[z],b[0]=z,b[1]=B,b[2]=H;else B=b[1],H=b[2];y.useLayoutEffect(B,H);let G;if(b[3]!==w)G=J(V,{children:w}),b[3]=w,b[4]=G;else G=b[4];return G}function Y(q){let b=q.indexOf(M);if(b===-1)return q;let w=b+M.length,z=q.indexOf(F,w);if(z===-1)return q;return q.slice(w,z)}function g(q,b){return new Promise(async(w)=>{let z="",B=new C;if(b!==void 0)B.columns=b;B.on("data",(G)=>{z+=G.toString()});let H=await X(J(E,{children:q}),{stdout:B,patchConsole:!1});await Promise.race([H.waitUntilExit(),new Promise((G)=>setTimeout(G,3000))]),await w(Y(z))})}async function N(q,b){let w=await g(q,b);return U(w)}var Z,y,M="\x1B[?2026h",F="\x1B[?2026l";var j=L(()=>{O();k();K();Z=Q(f(),1),y=Q(P(),1)});
|
|
2
|
-
export{g as Tc,N as Uc,j as Vc};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import{J1 as z,P1 as Bq,Q1 as xq,q2 as Aq}from"./cli-1.1.28-0njtm2nf.mjs";import{i_ as H,j_ as Rq}from"./cli-1.1.28-erqn7gwg.mjs";import{$ha as v,Bga as b,Gfa as l,Ifa as Gq,Nca as W,Pba as p,Pca as jq,R$ as G,Raa as Yq,Saa as wq,T$ as o,Wba as zq,bca as Zq,dga as _,eca as $q,fca as Mq,gga as R,hia as a,mga as N,nga as m}from"./cli-1.1.28-5y1xeh89.mjs";import{Pja as T,Rja as Wq}from"./cli-1.1.28-4kda7s33.mjs";import{jla as Qq,kla as Xq,ola as _q,sla as c,wla as Hq}from"./cli-1.1.28-2esp2ssp.mjs";import{jma as E,lma as Uq}from"./cli-1.1.28-pykx8k1j.mjs";import{Bsa as s,Csa as Lq}from"./cli-1.1.28-fetsedc8.mjs";import{Vta as A}from"./cli-1.1.28-3fssr567.mjs";function h(){let q=l(T(),c().existsSync)!==null,J=p(T());return[{key:"workspace",text:"Ask Claude to create a new app or clone a repository",isComplete:!1,isCompletable:!0,isEnabled:J},{key:"claudemd",text:"Set up repo instructions (/init creates AGENTS.md or updates existing CLAUDE.md; either file counts)",isComplete:q,isCompletable:!0,isEnabled:!J}]}function I(){return h().filter(({isCompletable:q,isEnabled:J})=>q&&J).every(({isComplete:q})=>q)}var y=A(()=>{Wq();zq();Hq();Gq()});function i(){if(N().hasCompletedProjectOnboarding)return;if(I())m((q)=>({...q,hasCompletedProjectOnboarding:!0}))}var lq;var n=A(()=>{Lq();b();y();y();lq=s(()=>{let q=N();if(q.hasCompletedProjectOnboarding||q.projectOnboardingSeenCount>=4||process.env.IS_DEMO)return!1;return!I()})});import{stat as r}from"fs/promises";import{homedir as Vq}from"os";import{join as vq}from"path";function Oq(q){_((J)=>({...J,appleTerminalSetupInProgress:!0,appleTerminalBackupPath:q}))}function U(){_((q)=>({...q,appleTerminalSetupInProgress:!1}))}function Fq(){let q=R();return{inProgress:q.appleTerminalSetupInProgress??!1,backupPath:q.appleTerminalBackupPath||null}}function w(){return vq(Vq(),"Library","Preferences","com.apple.Terminal.plist")}async function t(){let q=w(),J=`${q}.bak`;try{let{code:K}=await G("defaults",["export","com.apple.Terminal",q]);if(K!==0)return null;try{await r(q)}catch{return null}return await G("defaults",["export","com.apple.Terminal",J]),Oq(J),J}catch(K){return v(K),null}}async function e(){let{inProgress:q,backupPath:J}=Fq();if(!q)return{status:"no_backup"};if(!J)return U(),{status:"no_backup"};try{await r(J)}catch{return U(),{status:"no_backup"}}try{let{code:K}=await G("defaults",["import","com.apple.Terminal",J]);if(K!==0)return{status:"failed",backupPath:J};return await G("killall",["cfprefsd"]),U(),{status:"restored"}}catch(K){return v(Error(`Failed to restore Terminal.app settings with: ${K}`)),U(),{status:"failed",backupPath:J}}}var qq=A(()=>{b();o();a()});import{randomBytes as k}from"crypto";import{copyFile as g,mkdir as f,readFile as u,writeFile as P}from"fs/promises";import{homedir as d,platform as S}from"os";import{dirname as Iq,join as O}from"path";import{pathToFileURL as Sq}from"url";function Dq(){let q=process.env.VSCODE_GIT_ASKPASS_MAIN??"",J=process.env.PATH??"";return q.includes(".vscode-server")||q.includes(".cursor-server")||q.includes(".windsurf-server")||J.includes(".vscode-server")||J.includes(".cursor-server")||J.includes(".windsurf-server")}function FJ(){if(!W.terminal||!(W.terminal in D))return null;return D[W.terminal]??null}function L(q){if(!Bq())return q;return`\x1B]8;;${Sq(q).href}\x07${q}\x1B]8;;\x07`}function Eq(){return S()==="darwin"&&W.terminal==="Apple_Terminal"||W.terminal==="vscode"||W.terminal==="cursor"||W.terminal==="windsurf"||W.terminal==="alacritty"||W.terminal==="zed"}async function Tq(q){let J="";switch(W.terminal){case"Apple_Terminal":J=await yq(q);break;case"vscode":J=await C("VSCode",q);break;case"cursor":J=await C("Cursor",q);break;case"windsurf":J=await C("Windsurf",q);break;case"alacritty":J=await Nq(q);break;case"zed":J=await bq(q);break;case null:break}return _((K)=>{if(["vscode","cursor","windsurf","alacritty","zed"].includes(W.terminal??"")){if(K.shiftEnterKeyBindingInstalled===!0)return K;return{...K,shiftEnterKeyBindingInstalled:!0}}else if(W.terminal==="Apple_Terminal"){if(K.optionAsMetaKeyInstalled===!0)return K;return{...K,optionAsMetaKeyInstalled:!0}}return K}),i(),J}function UJ(){return R().shiftEnterKeyBindingInstalled===!0}function _J(){return R().hasUsedBackslashReturn===!0}function RJ(){if(!R().hasUsedBackslashReturn)_((J)=>({...J,hasUsedBackslashReturn:!0}))}async function wJ(q,J,K){if(W.terminal&&W.terminal in D){let X=`Shift+Enter is natively supported in ${D[W.terminal]}.
|
|
2
|
-
|
|
3
|
-
No configuration needed. Just use Shift+Enter to add newlines.`;return q(X),null}if(!Eq()){let X=W.terminal||"your current terminal",Y=Yq(),B="";if(Y==="macos")B=` • macOS: Apple Terminal
|
|
4
|
-
`;else if(Y==="windows")B=` • Windows: Windows Terminal
|
|
5
|
-
`;let Z=`Terminal setup cannot be run from ${X}.
|
|
6
|
-
|
|
7
|
-
This command configures a convenient Shift+Enter shortcut for multi-line prompts.
|
|
8
|
-
${H.dim("Note: You can already use backslash (\\\\) + return to add newlines.")}
|
|
9
|
-
|
|
10
|
-
To set up the shortcut (optional):
|
|
11
|
-
1. Exit tmux/screen temporarily
|
|
12
|
-
2. Run /terminal-setup directly in one of these terminals:
|
|
13
|
-
${B} • IDE: VSCode, Cursor, Windsurf, Zed
|
|
14
|
-
• Other: Alacritty
|
|
15
|
-
3. Return to tmux/screen - settings will persist
|
|
16
|
-
|
|
17
|
-
${H.dim("Note: iTerm2, WezTerm, Ghostty, Kitty, and Warp support Shift+Enter natively.")}`;return q(Z),null}let $=await Tq(J.options.theme);return q($),null}async function C(q="VSCode",J){if(Dq())return`${z("warning",J)(`Cannot install keybindings from a remote ${q} session.`)}${Q}${Q}${q} keybindings must be installed on your local machine, not the remote server.${Q}${Q}To install the Shift+Enter keybinding:${Q}1. Open ${q} on your local machine (not connected to remote)${Q}2. Open the Command Palette (Cmd/Ctrl+Shift+P) → "Preferences: Open Keyboard Shortcuts (JSON)"${Q}3. Add this keybinding (the file must be a JSON array):${Q}${Q}${H.dim(`[
|
|
18
|
-
{
|
|
19
|
-
"key": "shift+enter",
|
|
20
|
-
"command": "workbench.action.terminal.sendSequence",
|
|
21
|
-
"args": { "text": "\\u001b\\r" },
|
|
22
|
-
"when": "terminalFocus"
|
|
23
|
-
}
|
|
24
|
-
]`)}${Q}`;let K=q==="VSCode"?"Code":q,$=O(d(),S()==="win32"?O("AppData","Roaming",K,"User"):S()==="darwin"?O("Library","Application Support",K,"User"):O(".config",K,"User")),X=O($,"keybindings.json");try{await f($,{recursive:!0});let Y="[]",B=[],Z=!1;try{Y=await u(X,{encoding:"utf-8"}),Z=!0,B=Zq(Y)??[]}catch(V){if(!E(V))throw V}if(Z){let V=k(4).toString("hex"),x=`${X}.${V}.bak`;try{await g(X,x)}catch{return`${z("warning",J)(`Error backing up existing ${q} terminal keybindings. Bailing out.`)}${Q}${H.dim(`See ${L(X)}`)}${Q}${H.dim(`Backup path: ${L(x)}`)}${Q}`}}if(B.find((V)=>V.key==="shift+enter"&&V.command==="workbench.action.terminal.sendSequence"&&V.when==="terminalFocus"))return`${z("warning",J)(`Found existing ${q} terminal Shift+Enter key binding. Remove it to continue.`)}${Q}${H.dim(`See ${L(X)}`)}${Q}`;let j=$q(Y,{key:"shift+enter",command:"workbench.action.terminal.sendSequence",args:{text:"\x1B\r"},when:"terminalFocus"});return await P(X,j,{encoding:"utf-8"}),`${z("success",J)(`Installed ${q} terminal Shift+Enter key binding`)}${Q}${H.dim(`See ${L(X)}`)}${Q}`}catch(Y){throw v(Y),Error(`Failed to install ${q} terminal Shift+Enter key binding`)}}async function Jq(q){let{code:J}=await G("/usr/libexec/PlistBuddy",["-c",`Add :'Window Settings':'${q}':useOptionAsMetaKey bool true`,w()]);if(J!==0){let{code:K}=await G("/usr/libexec/PlistBuddy",["-c",`Set :'Window Settings':'${q}':useOptionAsMetaKey true`,w()]);if(K!==0)return v(Error(`Failed to enable Option as Meta key for Terminal.app profile: ${q}`)),!1}return!0}async function Kq(q){let{code:J}=await G("/usr/libexec/PlistBuddy",["-c",`Add :'Window Settings':'${q}':Bell bool false`,w()]);if(J!==0){let{code:K}=await G("/usr/libexec/PlistBuddy",["-c",`Set :'Window Settings':'${q}':Bell false`,w()]);if(K!==0)return v(Error(`Failed to disable audio bell for Terminal.app profile: ${q}`)),!1}return!0}async function yq(q){try{if(!await t())throw Error("Failed to create backup of Terminal.app preferences, bailing out");let{stdout:K,code:$}=await G("defaults",["read","com.apple.Terminal","Default Window Settings"]);if($!==0||!K.trim())throw Error("Failed to read default Terminal.app profile");let{stdout:X,code:Y}=await G("defaults",["read","com.apple.Terminal","Startup Window Settings"]);if(Y!==0||!X.trim())throw Error("Failed to read startup Terminal.app profile");let B=!1,Z=K.trim(),F=await Jq(Z),M=await Kq(Z);if(F||M)B=!0;let j=X.trim();if(j!==Z){let V=await Jq(j),x=await Kq(j);if(V||x)B=!0}if(!B)throw Error("Failed to enable Option as Meta key or disable audio bell for any Terminal.app profile");return await G("killall",["cfprefsd"]),U(),`${z("success",q)("Configured Terminal.app settings:")}${Q}${z("success",q)('- Enabled "Use Option as Meta key"')}${Q}${z("success",q)("- Switched to visual bell")}${Q}${H.dim("Option+Enter will now enter a newline.")}${Q}${H.dim("You must restart Terminal.app for changes to take effect.",q)}${Q}`}catch(J){v(J);let K=await e(),$="Failed to enable Option as Meta key for Terminal.app.";if(K.status==="restored")throw Error(`${$} Your settings have been restored from backup.`);else if(K.status==="failed")throw Error(`${$} Restoring from backup failed, try manually with: defaults import com.apple.Terminal ${K.backupPath}`);else throw Error(`${$} No backup was available to restore from.`)}}async function Nq(q){let K=[],$=process.env.XDG_CONFIG_HOME;if($)K.push(O($,"alacritty","alacritty.toml"));else K.push(O(d(),".config","alacritty","alacritty.toml"));if(S()==="win32"){let Z=process.env.APPDATA;if(Z)K.push(O(Z,"alacritty","alacritty.toml"))}let X=null,Y="",B=!1;for(let Z of K)try{Y=await u(Z,{encoding:"utf-8"}),X=Z,B=!0;break}catch(F){if(!E(F))throw F}if(!X)X=K[0]??null;if(!X)throw Error("No valid config path found for Alacritty");try{if(B){if(Y.includes('mods = "Shift"')&&Y.includes('key = "Return"'))return`${z("warning",q)("Found existing Alacritty Shift+Enter key binding. Remove it to continue.")}${Q}${H.dim(`See ${L(X)}`)}${Q}`;let F=k(4).toString("hex"),M=`${X}.${F}.bak`;try{await g(X,M)}catch{return`${z("warning",q)("Error backing up existing Alacritty config. Bailing out.")}${Q}${H.dim(`See ${L(X)}`)}${Q}${H.dim(`Backup path: ${L(M)}`)}${Q}`}}else await f(Iq(X),{recursive:!0});let Z=Y;if(Y&&!Y.endsWith(`
|
|
25
|
-
`))Z+=`
|
|
26
|
-
`;return Z+=`
|
|
27
|
-
[[keyboard.bindings]]
|
|
28
|
-
key = "Return"
|
|
29
|
-
mods = "Shift"
|
|
30
|
-
chars = "\\u001B\\r"
|
|
31
|
-
`,await P(X,Z,{encoding:"utf-8"}),`${z("success",q)("Installed Alacritty Shift+Enter key binding")}${Q}${z("success",q)("You may need to restart Alacritty for changes to take effect")}${Q}${H.dim(`See ${L(X)}`)}${Q}`}catch(Z){throw v(Z),Error("Failed to install Alacritty Shift+Enter key binding")}}async function bq(q){let J=O(d(),".config","zed"),K=O(J,"keymap.json");try{await f(J,{recursive:!0});let $="[]",X=!1;try{$=await u(K,{encoding:"utf-8"}),X=!0}catch(B){if(!E(B))throw B}if(X){if($.includes("shift-enter"))return`${z("warning",q)("Found existing Zed Shift+Enter key binding. Remove it to continue.")}${Q}${H.dim(`See ${L(K)}`)}${Q}`;let B=k(4).toString("hex"),Z=`${K}.${B}.bak`;try{await g(K,Z)}catch{return`${z("warning",q)("Error backing up existing Zed keymap. Bailing out.")}${Q}${H.dim(`See ${L(K)}`)}${Q}${H.dim(`Backup path: ${L(Z)}`)}${Q}`}}let Y;try{if(Y=Xq($),!Array.isArray(Y))Y=[]}catch{Y=[]}return Y.push({context:"Terminal",bindings:{"shift-enter":["terminal::SendText","\x1B\r"]}}),await P(K,Qq(Y,null,2)+`
|
|
32
|
-
`,{encoding:"utf-8"}),`${z("success",q)("Installed Zed Shift+Enter key binding")}${Q}${H.dim(`See ${L(K)}`)}${Q}`}catch($){throw v($),Error("Failed to install Zed Shift+Enter key binding")}}var Q=`
|
|
33
|
-
`,D;var Cq=A(()=>{Rq();xq();Aq();n();qq();b();jq();Uq();o();Mq();a();wq();_q();D={ghostty:"Ghostty",kitty:"Kitty","iTerm.app":"iTerm2",WezTerm:"WezTerm",WarpTerminal:"Warp"}});
|
|
34
|
-
export{i as IZ,n as JZ,e as KZ,qq as LZ,FJ as MZ,Eq as NZ,Tq as OZ,UJ as PZ,_J as QZ,RJ as RZ,wJ as SZ,Cq as TZ};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{Mla as ZX,Pla as y8}from"./cli-1.1.28-x13sctb2.mjs";import{fma as r,lma as R8}from"./cli-1.1.28-pykx8k1j.mjs";import{oma as $X,rma as NJ,zma as j8}from"./cli-1.1.28-khcgtk4a.mjs";import{$ma as v6,Ama as dQ,Bma as P6,Gma as qJ,Hma as oX,Kma as eJ,Lma as fX,Mma as fQ,Nma as T6,Oma as $Q,Pma as cX,Sma as JQ,Tma as pX,Uma as g,Vma as oJ,Wma as n,Xma as LQ,_ma as pQ,cna as l,csa as sQ,dna as wQ,doa as XX,ena as w,fna as kQ,ina as yJ,jna as OX,kna as h,lna as vJ,mna as tJ,nna as hX,ona as hJ,pna as wX,qna as y,rna as OJ,sna as gQ,tna as m6,wna as O,xna as GJ}from"./cli-1.1.28-wvj52k91.mjs";import{Bsa as V,Csa as xJ,dsa as SJ,esa as CX,jsa as cJ,ksa as TX,lsa as HJ,msa as J6,psa as L,qsa as XJ,vsa as LJ,wsa as zX}from"./cli-1.1.28-fetsedc8.mjs";import{Uta as uJ,Vta as U,Xta as N,Yta as W}from"./cli-1.1.28-3fssr567.mjs";function zJ({writeFn:J,flushIntervalMs:Q=1000,maxBufferSize:X=100,maxBufferBytes:$=1/0,immediateMode:Y=!1}){let Z=[],q=0,H=null,G=null;function I(){if(H)clearTimeout(H),H=null}function B(){if(G)J(G.join("")),G=null;if(Z.length===0)return;J(Z.join("")),Z=[],q=0,I()}function M(){if(!H)H=setTimeout(B,Q)}function F(){if(G){G.push(...Z),Z=[],q=0,I();return}let x=Z;Z=[],q=0,I(),G=x,setImmediate(()=>{let v=G;if(G=null,v)J(v.join(""))})}return{write(x){if(Y){J(x);return}if(Z.push(x),q+=x.length,M(),Z.length>=X||q>=$)F()},flush:B,dispose(){B()}}}var BJ=()=>{};function IJ(J){return t.add(J),()=>t.delete(J)}async function r8(){await Promise.all(Array.from(t).map((J)=>J()))}var t;var CJ=U(()=>{t=new Set});function WX(J){let Q=[],X=J.match(/^MCP server ["']([^"']+)["']/);if(X&&X[1])Q.push("mcp"),Q.push(X[1].toLowerCase());else{let Z=J.match(/^([^:[]+):/);if(Z&&Z[1])Q.push(Z[1].trim().toLowerCase())}let $=J.match(/^\[([^\]]+)]/);if($&&$[1])Q.push($[1].trim().toLowerCase());if(J.toLowerCase().includes("1p event:"))Q.push("1p");let Y=J.match(/:\s*([^:]+?)(?:\s+(?:type|mode|status|event))?:/);if(Y&&Y[1]){let Z=Y[1].trim().toLowerCase();if(Z.length<30&&!Z.includes(" "))Q.push(Z)}return Array.from(new Set(Q))}function EX(J,Q){if(!Q)return!0;if(J.length===0)return!1;if(Q.isExclusive)return!J.some((X)=>Q.exclude.includes(X));else return J.some((X)=>Q.include.includes(X))}function VJ(J,Q){if(!Q)return!0;let X=WX(J);return EX(X,Q)}var FJ;var DJ=U(()=>{xJ();FJ=V((J)=>{if(!J||J.trim()==="")return null;let Q=J.split(",").map((Z)=>Z.trim()).filter(Boolean);if(Q.length===0)return null;let X=Q.some((Z)=>Z.startsWith("!")),$=Q.some((Z)=>!Z.startsWith("!"));if(X&&$)return null;let Y=Q.map((Z)=>Z.replace(/^!/,"").toLowerCase());return{include:X?[]:Y,exclude:X?Y:[],isExclusive:X}})});function MX(J,Q){var X=-1,$=J==null?0:J.length;while(++X<$)if(Q(J[X],X,J)===!1)break;return J}var RJ;var AJ=U(()=>{RJ=MX});var BX,e;var _J=U(()=>{zX();BX=function(){try{var J=LJ(Object,"defineProperty");return J({},"",{}),J}catch(Q){}}(),e=BX});function IX(J,Q,X){if(Q=="__proto__"&&e)e(J,Q,{configurable:!0,enumerable:!0,value:X,writable:!0});else J[Q]=X}var m;var JJ=U(()=>{_J();m=IX});function VX(J,Q,X){var $=J[Q];if(!(FX.call(J,Q)&&SJ($,X))||X===void 0&&!(Q in J))m(J,Q,X)}var xX,FX,j;var QJ=U(()=>{JJ();CX();xX=Object.prototype,FX=xX.hasOwnProperty;j=VX});function DX(J,Q,X,$){var Y=!X;X||(X={});var Z=-1,q=Q.length;while(++Z<q){var H=Q[Z],G=$?$(X[H],J[H],H,X,J):void 0;if(G===void 0)G=J[H];if(Y)m(X,H,G);else j(X,H,G)}return X}var R;var k=U(()=>{QJ();JJ();R=DX});function RX(J,Q){return J&&R(Q,y(Q),J)}var wJ;var kJ=U(()=>{k();OJ();wJ=RX});function AX(J){var Q=[];if(J!=null)for(var X in Object(J))Q.push(X);return Q}var PJ;var TJ=U(()=>{PJ=AX});function SX(J){if(!L(J))return PJ(J);var Q=h(J),X=[];for(var $ in J)if(!($=="constructor"&&(Q||!_X.call(J,$))))X.push($);return X}var LX,_X,mJ;var jJ=U(()=>{XJ();vJ();TJ();LX=Object.prototype,_X=LX.hasOwnProperty;mJ=SX});function kX(J){return hJ(J)?yJ(J,!0):mJ(J)}var _;var d=U(()=>{OX();jJ();wX();_=kX});function PX(J,Q){return J&&R(Q,_(Q),J)}var dJ;var fJ=U(()=>{k();d();dJ=PX});var p={};uJ(p,{default:()=>$J});function mX(J,Q){if(Q)return J.slice();var X=J.length,$=bJ?bJ(X):new J.constructor(X);return J.copy($),$}var nJ,pJ,vX,gJ,bJ,$J;var lJ=U(()=>{TX();nJ=typeof p=="object"&&p&&!p.nodeType&&p,pJ=nJ&&typeof f=="object"&&f&&!f.nodeType&&f,vX=pJ&&pJ.exports===nJ,gJ=vX?cJ.Buffer:void 0,bJ=gJ?gJ.allocUnsafe:void 0;$J=mX});function jX(J,Q){var X=-1,$=J.length;Q||(Q=Array($));while(++X<$)Q[X]=J[X];return Q}var iJ;var rJ=U(()=>{iJ=jX});function yX(J,Q){return R(J,g(J),Q)}var sJ;var aJ=U(()=>{k();oJ();sJ=yX});var dX,b;var ZJ=U(()=>{hX();dX=tJ(Object.getPrototypeOf,Object),b=dX});var gX,bX,u;var YJ=U(()=>{fX();ZJ();oJ();pX();gX=Object.getOwnPropertySymbols,bX=!gX?JQ:function(J){var Q=[];while(J)eJ(Q,g(J)),J=b(J);return Q},u=bX});function uX(J,Q){return R(J,u(J),Q)}var QQ;var XQ=U(()=>{k();YJ();QQ=uX});function nX(J){return $Q(J,_,u)}var ZQ;var YQ=U(()=>{cX();YJ();d();ZQ=nX});function rX(J){var Q=J.length,X=new J.constructor(Q);if(Q&&typeof J[0]=="string"&&iX.call(J,"index"))X.index=J.index,X.input=J.input;return X}var lX,iX,qQ;var HQ=U(()=>{lX=Object.prototype,iX=lX.hasOwnProperty;qQ=rX});function sX(J){var Q=new J.constructor(J.byteLength);return new qJ(Q).set(new qJ(J)),Q}var S;var c=U(()=>{oX();S=sX});function aX(J,Q){var X=Q?S(J.buffer):J.buffer;return new J.constructor(X,J.byteOffset,J.byteLength)}var GQ;var KQ=U(()=>{c();GQ=aX});function eX(J){var Q=new J.constructor(J.source,tX.exec(J));return Q.lastIndex=J.lastIndex,Q}var tX,UQ;var NQ=U(()=>{tX=/\w*$/;UQ=eX});function Q6(J){return EQ?Object(EQ.call(J)):{}}var WQ,EQ,MQ;var zQ=U(()=>{J6();WQ=HJ?HJ.prototype:void 0,EQ=WQ?WQ.valueOf:void 0;MQ=Q6});function X6(J,Q){var X=Q?S(J.buffer):J.buffer;return new J.constructor(X,J.byteOffset,J.length)}var BQ;var IQ=U(()=>{c();BQ=X6});function D6(J,Q,X){var $=J.constructor;switch(Q){case N6:return S(J);case $6:case Z6:return new $(+J);case W6:return GQ(J,X);case E6:case M6:case z6:case B6:case I6:case C6:case x6:case F6:case V6:return BQ(J,X);case Y6:return new $;case q6:case K6:return new $(J);case H6:return UQ(J);case G6:return new $;case U6:return MQ(J)}}var $6="[object Boolean]",Z6="[object Date]",Y6="[object Map]",q6="[object Number]",H6="[object RegExp]",G6="[object Set]",K6="[object String]",U6="[object Symbol]",N6="[object ArrayBuffer]",W6="[object DataView]",E6="[object Float32Array]",M6="[object Float64Array]",z6="[object Int8Array]",B6="[object Int16Array]",I6="[object Int32Array]",C6="[object Uint8Array]",x6="[object Uint8ClampedArray]",F6="[object Uint16Array]",V6="[object Uint32Array]",CQ;var xQ=U(()=>{c();KQ();NQ();zQ();IQ();CQ=D6});var FQ,R6,VQ;var DQ=U(()=>{XJ();FQ=Object.create,R6=function(){function J(){}return function(Q){if(!L(Q))return{};if(FQ)return FQ(Q);J.prototype=Q;var X=new J;return J.prototype=void 0,X}}(),VQ=R6});function A6(J){return typeof J.constructor=="function"&&!h(J)?VQ(b(J)):{}}var RQ;var AQ=U(()=>{DQ();ZJ();vJ();RQ=A6});function _6(J){return n(J)&&O(J)==L6}var L6="[object Map]",_Q;var SQ=U(()=>{GJ();LQ();_Q=_6});var OQ,S6,PQ;var TQ=U(()=>{SQ();wQ();kQ();OQ=w&&w.isMap,S6=OQ?l(OQ):_Q,PQ=S6});function w6(J){return n(J)&&O(J)==O6}var O6="[object Set]",vQ;var mQ=U(()=>{GJ();LQ();vQ=w6});var jQ,k6,yQ;var hQ=U(()=>{mQ();wQ();kQ();jQ=w&&w.isSet,k6=jQ?l(jQ):vQ,yQ=k6});function i(J,Q,X,$,Y,Z){var q,H=Q&j6,G=Q&y6,I=Q&h6;if(X)q=Y?X(J,$,Y,Z):X(J);if(q!==void 0)return q;if(!L(J))return J;var B=fQ(J);if(B){if(q=qQ(J),!H)return iJ(J,q)}else{var M=O(J),F=M==uQ||M==b6;if(pQ(J))return $J(J,H);if(M==cQ||M==bQ||F&&!Y){if(q=G||F?{}:RQ(J),!H)return G?QQ(J,dJ(q,J)):sJ(J,wJ(q,J))}else{if(!z[M])return Y?J:{};q=CQ(J,M,H)}}Z||(Z=new dQ);var x=Z.get(J);if(x)return x;if(Z.set(J,q),yQ(J))J.forEach(function(D){q.add(i(D,Q,X,D,J,Z))});else if(PQ(J))J.forEach(function(D,A){q.set(A,i(D,Q,X,A,J,Z))});var v=I?G?ZQ:gQ:G?_:y,MJ=B?void 0:v(J);return RJ(MJ||J,function(D,A){if(MJ)A=D,D=J[A];j(q,A,i(D,Q,X,A,J,Z))}),q}var j6=1,y6=2,h6=4,bQ="[object Arguments]",d6="[object Array]",f6="[object Boolean]",p6="[object Date]",g6="[object Error]",uQ="[object Function]",b6="[object GeneratorFunction]",u6="[object Map]",c6="[object Number]",cQ="[object Object]",n6="[object RegExp]",l6="[object Set]",i6="[object String]",r6="[object Symbol]",o6="[object WeakMap]",s6="[object ArrayBuffer]",a6="[object DataView]",t6="[object Float32Array]",e6="[object Float64Array]",J8="[object Int8Array]",Q8="[object Int16Array]",X8="[object Int32Array]",$8="[object Uint8Array]",Z8="[object Uint8ClampedArray]",Y8="[object Uint16Array]",q8="[object Uint32Array]",z,nQ;var lQ=U(()=>{P6();AJ();QJ();kJ();fJ();lJ();rJ();aJ();XQ();m6();YQ();GJ();HQ();xQ();AQ();T6();v6();TQ();XJ();hQ();OJ();d();z={};z[bQ]=z[d6]=z[s6]=z[a6]=z[f6]=z[p6]=z[t6]=z[e6]=z[J8]=z[Q8]=z[X8]=z[u6]=z[c6]=z[cQ]=z[n6]=z[l6]=z[i6]=z[r6]=z[$8]=z[Z8]=z[Y8]=z[q8]=!0;z[g6]=z[uQ]=z[o6]=!1;nQ=i});function K8(J){return nQ(J,H8|G8)}var H8=1,G8=4,iQ;var rQ=U(()=>{lQ();iQ=K8});var V8={};uJ(V8,{writeFileSync_DEPRECATED:()=>F8,slowLogging:()=>E,jsonStringify:()=>KJ,jsonParse:()=>I8,cloneDeep:()=>x8,clone:()=>C8,callerFrame:()=>M8,SLOW_OPERATION_THRESHOLD_MS:()=>E8});import{closeSync as U8,writeFileSync as oQ,fsyncSync as N8,openSync as W8}from"fs";function M8(J){if(!J)return"";for(let Q of J.split(`
|
|
2
|
-
`)){if(Q.includes("slowOperations"))continue;let X=Q.match(/([^/\\]+?):(\d+):\d+\)?$/);if(X)return` @ ${X[1]}:${X[2]}`}return""}function B8(){return z8}function KJ(J,Q,X){let Y=[];try{const $=N(Y,E`JSON.stringify(${J})`,0);return JSON.stringify(J,Q,X)}catch(Z){var q=Z,H=1}finally{W(Y,q,H)}}function C8(J,Q){let $=[];try{const X=N($,E`structuredClone(${J})`,0);return structuredClone(J,Q)}catch(Y){var Z=Y,q=1}finally{W($,Z,q)}}function x8(J){let X=[];try{const Q=N(X,E`cloneDeep(${J})`,0);return iQ(J)}catch($){var Y=$,Z=1}finally{W(X,Y,Z)}}function F8(J,Q,X){let Z=[];try{const $=N(Z,E`fs.writeFileSync(${J}, ${Q})`,0);let Y=X!==null&&typeof X==="object"&&"flush"in X&&X.flush===!0;if(Y){let I=typeof X==="object"&&"encoding"in X?X.encoding:void 0,B=typeof X==="object"&&"mode"in X?X.mode:void 0,M;try{M=W8(J,"w",B),oQ(M,Q,{encoding:I??void 0}),N8(M)}finally{if(M!==void 0)U8(M)}}else oQ(J,Q,X)}catch(q){var H=q,G=1}finally{W(Z,H,G)}}var E8,z8,E,I8=(J,Q)=>{let $=[];try{const X=N($,E`JSON.parse(${J})`,0);return typeof Q>"u"?JSON.parse(J):JSON.parse(J,Q)}catch(Y){var Z=Y,q=1}finally{W($,Z,q)}};var UJ=U(()=>{rQ();sQ();aQ();E8=(()=>{let J=process.env.CLAUDIN_SLOW_OPERATION_THRESHOLD_MS;if(J!==void 0){let Q=Number(J);if(!Number.isNaN(Q)&&Q>=0)return Q}return 1/0})();z8={[Symbol.dispose](){}};E=B8});import*as K from"fs";import{mkdir as A8,open as o,readdir as L8,readFile as tQ,copyFile as _8,rename as S8,rmdir as O8,rm as w8,stat as k8,unlink as P8}from"fs/promises";import{homedir as eQ}from"os";import*as C from"path";function JX(J,Q){if(Q.startsWith("//")||Q.startsWith("\\\\"))return{resolvedPath:Q,isSymlink:!1,isCanonical:!1};try{let X=J.lstatSync(Q);if(X.isFIFO()||X.isSocket()||X.isCharacterDevice()||X.isBlockDevice())return{resolvedPath:Q,isSymlink:!1,isCanonical:!1};let $=J.realpathSync(Q);return{resolvedPath:$,isSymlink:$!==Q,isCanonical:!0}}catch(X){return{resolvedPath:Q,isSymlink:!1,isCanonical:!1}}}function H1(J,Q,X){let{resolvedPath:$}=JX(J,Q);if(X.has($))return!0;return X.add($),!1}function T8(J,Q){let X=Q,$=[];while(X!==C.dirname(X)){let Y;try{Y=J.lstatSync(X)}catch{$.unshift(C.basename(X)),X=C.dirname(X);continue}if(Y.isSymbolicLink())try{let Z=J.realpathSync(X);return $.length===0?Z:C.join(Z,...$)}catch{let Z=J.readlinkSync(X),q=C.isAbsolute(Z)?Z:C.resolve(C.dirname(X),Z);return $.length===0?q:C.join(q,...$)}try{let Z=J.realpathSync(X);if(Z!==X)return $.length===0?Z:C.join(Z,...$)}catch{}return}return}function G1(J){let Q=J;if(Q==="~")Q=eQ().normalize("NFC");else if(Q.startsWith("~/"))Q=C.join(eQ().normalize("NFC"),Q.slice(2));let X=new Set,$=s();if(X.add(Q),Q.startsWith("//")||Q.startsWith("\\\\"))return Array.from(X);try{let q=Q,H=new Set,G=40;for(let I=0;I<G;I++){if(H.has(q))break;if(H.add(q),!$.existsSync(q)){if(q===Q){let x=T8($,Q);if(x!==void 0)X.add(x)}break}let B=$.lstatSync(q);if(B.isFIFO()||B.isSocket()||B.isCharacterDevice()||B.isBlockDevice())break;if(!B.isSymbolicLink())break;let M=$.readlinkSync(q),F=C.isAbsolute(M)?M:C.resolve(C.dirname(q),M);X.add(F),q=F}}catch{}let{resolvedPath:Y,isSymlink:Z}=JX($,Q);if(Z&&Y!==Q)X.add(Y);return Array.from(X)}function s(){return m8}async function K1(J,Q,X){let G=[];try{const $=N(G,await o(J,"r"),1);let Y=(await $.stat()).size;if(Y<=Q)return null;let Z=Math.min(Y-Q,X);let q=Buffer.allocUnsafe(Z);let H=0;while(H<Z){let{bytesRead:x}=await $.read(q,H,Z-H,Q+H);if(x===0)break;H+=x}return{content:q.toString("utf8",0,H),bytesRead:H,bytesTotal:Y}}catch(I){var B=I,M=1}finally{var F=W(G,B,M);F&&await F}}async function U1(J,Q){let G=[];try{const X=N(G,await o(J,"r"),1);let $=(await X.stat()).size;if($===0)return{content:"",bytesRead:0,bytesTotal:0};let Y=Math.max(0,$-Q);let Z=$-Y;let q=Buffer.allocUnsafe(Z);let H=0;while(H<Z){let{bytesRead:x}=await X.read(q,H,Z-H,Y+H);if(x===0)break;H+=x}return{content:q.toString("utf8",0,H),bytesRead:H,bytesTotal:$}}catch(I){var B=I,M=1}finally{var F=W(G,B,M);F&&await F}}async function*N1(J){let X=await o(J,"r");try{let Y=(await X.stat()).size,Z=Buffer.alloc(0),q=Buffer.alloc(4096);while(Y>0){let H=Math.min(4096,Y);Y-=H,await X.read(q,0,H,Y);let G=Buffer.concat([q.subarray(0,H),Z]),I=G.indexOf(10);if(I===-1){Z=G;continue}Z=Buffer.from(G.subarray(0,I));let B=G.toString("utf8",I+1).split(`
|
|
3
|
-
`);for(let M=B.length-1;M>=0;M--){let F=B[M];if(F)yield F}}if(Z.length>0)yield Z.toString("utf8")}finally{await X.close()}}var v8,m8;var QX=U(()=>{R8();UJ();v8={cwd(){return process.cwd()},existsSync(J){let X=[];try{const Q=N(X,E`fs.existsSync(${J})`,0);return K.existsSync(J)}catch($){var Y=$,Z=1}finally{W(X,Y,Z)}},async stat(J){return k8(J)},async readdir(J){return L8(J,{withFileTypes:!0})},async unlink(J){return P8(J)},async rmdir(J){return O8(J)},async rm(J,Q){return w8(J,Q)},async mkdir(J,Q){try{await A8(J,{recursive:!0,...Q})}catch(X){if(r(X)!=="EEXIST")throw X}},async readFile(J,Q){return tQ(J,{encoding:Q.encoding})},async rename(J,Q){return S8(J,Q)},async copyFile(J,Q){let $=[];try{const X=N($,E`fs.copyFile(${J} → ${Q})`,0);return _8(J,Q)}catch(Y){var Z=Y,q=1}finally{W($,Z,q)}},statSync(J){let X=[];try{const Q=N(X,E`fs.statSync(${J})`,0);return K.statSync(J)}catch($){var Y=$,Z=1}finally{W(X,Y,Z)}},lstatSync(J){let X=[];try{const Q=N(X,E`fs.lstatSync(${J})`,0);return K.lstatSync(J)}catch($){var Y=$,Z=1}finally{W(X,Y,Z)}},readFileSync(J,Q){let $=[];try{const X=N($,E`fs.readFileSync(${J})`,0);return K.readFileSync(J,{encoding:Q.encoding})}catch(Y){var Z=Y,q=1}finally{W($,Z,q)}},readFileBytesSync(J){let X=[];try{const Q=N(X,E`fs.readFileBytesSync(${J})`,0);return K.readFileSync(J)}catch($){var Y=$,Z=1}finally{W(X,Y,Z)}},readSync(J,Q){let Y=[];try{const X=N(Y,E`fs.readSync(${J}, ${Q.length} bytes)`,0);let $=void 0;try{$=K.openSync(J,"r");let G=Buffer.alloc(Q.length),I=K.readSync($,G,0,Q.length,0);return{buffer:G,bytesRead:I}}finally{if($)K.closeSync($)}}catch(Z){var q=Z,H=1}finally{W(Y,q,H)}},appendFileSync(J,Q,X){let Y=[];try{const $=N(Y,E`fs.appendFileSync(${J}, ${Q.length} chars)`,0);if(X?.mode!==void 0)try{let G=K.openSync(J,"ax",X.mode);try{K.appendFileSync(G,Q)}finally{K.closeSync(G)}return}catch(G){if(r(G)!=="EEXIST")throw G}K.appendFileSync(J,Q)}catch(Z){var q=Z,H=1}finally{W(Y,q,H)}},copyFileSync(J,Q){let $=[];try{const X=N($,E`fs.copyFileSync(${J} → ${Q})`,0);K.copyFileSync(J,Q)}catch(Y){var Z=Y,q=1}finally{W($,Z,q)}},unlinkSync(J){let X=[];try{const Q=N(X,E`fs.unlinkSync(${J})`,0);K.unlinkSync(J)}catch($){var Y=$,Z=1}finally{W(X,Y,Z)}},renameSync(J,Q){let $=[];try{const X=N($,E`fs.renameSync(${J} → ${Q})`,0);K.renameSync(J,Q)}catch(Y){var Z=Y,q=1}finally{W($,Z,q)}},linkSync(J,Q){let $=[];try{const X=N($,E`fs.linkSync(${J} → ${Q})`,0);K.linkSync(J,Q)}catch(Y){var Z=Y,q=1}finally{W($,Z,q)}},symlinkSync(J,Q,X){let Y=[];try{const $=N(Y,E`fs.symlinkSync(${J} → ${Q})`,0);K.symlinkSync(J,Q,X)}catch(Z){var q=Z,H=1}finally{W(Y,q,H)}},readlinkSync(J){let X=[];try{const Q=N(X,E`fs.readlinkSync(${J})`,0);return K.readlinkSync(J)}catch($){var Y=$,Z=1}finally{W(X,Y,Z)}},realpathSync(J){let X=[];try{const Q=N(X,E`fs.realpathSync(${J})`,0);return K.realpathSync(J).normalize("NFC")}catch($){var Y=$,Z=1}finally{W(X,Y,Z)}},mkdirSync(J,Q){let Y=[];try{const X=N(Y,E`fs.mkdirSync(${J})`,0);let $={recursive:!0};if(Q?.mode!==void 0)$.mode=Q.mode;try{K.mkdirSync(J,$)}catch(G){if(r(G)!=="EEXIST")throw G}}catch(Z){var q=Z,H=1}finally{W(Y,q,H)}},readdirSync(J){let X=[];try{const Q=N(X,E`fs.readdirSync(${J})`,0);return K.readdirSync(J,{withFileTypes:!0})}catch($){var Y=$,Z=1}finally{W(X,Y,Z)}},readdirStringSync(J){let X=[];try{const Q=N(X,E`fs.readdirStringSync(${J})`,0);return K.readdirSync(J)}catch($){var Y=$,Z=1}finally{W(X,Y,Z)}},isDirEmptySync(J){let $=[];try{const Q=N($,E`fs.isDirEmptySync(${J})`,0);let X=this.readdirSync(J);return X.length===0}catch(Y){var Z=Y,q=1}finally{W($,Z,q)}},rmdirSync(J){let X=[];try{const Q=N(X,E`fs.rmdirSync(${J})`,0);K.rmdirSync(J)}catch($){var Y=$,Z=1}finally{W(X,Y,Z)}},rmSync(J,Q){let $=[];try{const X=N($,E`fs.rmSync(${J})`,0);K.rmSync(J,Q)}catch(Y){var Z=Y,q=1}finally{W($,Z,q)}},createWriteStream(J){return K.createWriteStream(J)},async readFileBytes(J,Q){if(Q===void 0)return tQ(J);let X=await o(J,"r");try{let{size:$}=await X.stat(),Y=Math.min($,Q),Z=Buffer.allocUnsafe(Y),q=0;while(q<Y){let{bytesRead:H}=await X.read(Z,q,Y-q,q);if(H===0)break;q+=H}return q<Y?Z.subarray(0,q):Z}finally{await X.close()}}},m8=v8});import{appendFile as h8,mkdir as d8,symlink as f8,unlink as p8}from"fs/promises";import{dirname as YX,join as qX}from"path";function L1(){let J=T();return HX=!0,T.cache.clear?.(),J}function u8(J){if(!T())return!1;if(typeof process>"u"||typeof process.versions>"u"||typeof process.versions.node>"u")return!1;let Q=b8();return VJ(J,Q)}function _1(J){EJ=J}function S1(){return EJ}async function c8(J,Q,X,$){if(J)await d8(Q,{recursive:!0}).catch(()=>{});await h8(X,$),NX()}function n8(){}function l8(){if(!P){let J=null;P=zJ({writeFn:(Q)=>{let X=UX(),$=YX(X),Y=J!==$;if(J=$,T()){if(Y)try{s().mkdirSync($)}catch{}s().appendFileSync(X,Q),NX();return}a=a.then(c8.bind(null,Y,$,X,Q)).catch(n8)},flushIntervalMs:1000,maxBufferSize:100,immediateMode:T()}),IJ(async()=>{P?.dispose(),await a})}return P}async function O1(){P?.flush(),await a}function D8(J,{level:Q}={level:"debug"}){if(WJ[Q]<WJ[g8()])return;if(!u8(J))return;if(EJ&&J.includes(`
|
|
4
|
-
`))J=KJ(J);let $=`${new Date().toISOString()} [${Q.toUpperCase()}] ${J.trim()}
|
|
5
|
-
`;if(GX()){ZX($);return}l8().write($)}function UX(){return KX()??process.env.CLAUDIN_DEBUG_LOGS_DIR??qX($X(),"debug",`${XX()}.txt`)}function w1(J,Q){}var WJ,g8,HX=!1,T,b8,GX,KX,EJ=!1,P=null,a,NX;var aQ=U(()=>{xJ();sQ();BJ();CJ();DJ();j8();QX();y8();UJ();WJ={verbose:0,debug:1,info:2,warn:3,error:4},g8=V(()=>{let J=process.env.CLAUDIN_DEBUG_LOG_LEVEL?.toLowerCase().trim();if(J&&Object.hasOwn(WJ,J))return J;return"debug"}),T=V(()=>{return HX||NJ(process.env.DEBUG)||NJ(process.env.DEBUG_SDK)||process.argv.includes("--debug")||process.argv.includes("-d")||GX()||process.argv.some((J)=>J.startsWith("--debug="))||KX()!==null});b8=V(()=>{let J=process.argv.find((X)=>X.startsWith("--debug="));if(!J)return null;let Q=J.substring(8);return FJ(Q)}),GX=V(()=>{return process.argv.includes("--debug-to-stderr")||process.argv.includes("-D")}),KX=V(()=>{for(let J=0;J<process.argv.length;J++){let Q=process.argv[J];if(Q.startsWith("--debug-file="))return Q.substring(13);if(Q==="--debug-file"&&J+1<process.argv.length)return process.argv[J+1]}return null});a=Promise.resolve();NX=V(async()=>{try{let J=UX(),Q=YX(J),X=qX(Q,"latest");await p8(X).catch(()=>{}),await f8(J,X)}catch{}})});
|
|
6
|
-
export{zJ as Hka,BJ as Ika,IJ as Jka,r8 as Kka,CJ as Lka,e as Mka,_J as Nka,m as Oka,JJ as Pka,j as Qka,QJ as Rka,R as Ska,k as Tka,_ as Uka,d as Vka,$J as Wka,lJ as Xka,iJ as Yka,rJ as Zka,b as _ka,ZJ as $ka,ZQ as ala,YQ as bla,BQ as cla,IQ as dla,RQ as ela,AQ as fla,nQ as gla,lQ as hla,E as ila,KJ as jla,I8 as kla,C8 as lla,F8 as mla,V8 as nla,UJ as ola,JX as pla,H1 as qla,G1 as rla,s as sla,K1 as tla,U1 as ula,N1 as vla,QX as wla,g8 as xla,T as yla,L1 as zla,b8 as Ala,GX as Bla,KX as Cla,_1 as Dla,S1 as Ela,O1 as Fla,D8 as Gla,UX as Hla,w1 as Ila,aQ as Jla};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Ip as D,Np as Zq,lp as j,mp as m,np as Xq,nq as l,pq as Rq,qq as i,sq as Aq}from"./cli-1.1.28-zhftjycn.mjs";import{$ha as L,Kda as u,Mda as g,Pda as h,Qda as n,Vda as vq,hia as Qq}from"./cli-1.1.28-5y1xeh89.mjs";import{Jja as d,Kja as Uq}from"./cli-1.1.28-12g8qyfk.mjs";import{Gla as V,Jla as e,jla as P,kla as v,ola as f,sla as M,wla as y}from"./cli-1.1.28-2esp2ssp.mjs";import{ema as W,fma as O,gma as C,lma as N}from"./cli-1.1.28-pykx8k1j.mjs";import{fta as p,xta as qq}from"./cli-1.1.28-ev0gfjgf.mjs";import{Vta as E}from"./cli-1.1.28-3fssr567.mjs";import{homedir as a}from"os";import{resolve as t}from"path";async function Fq(Z){let q=Z.trim(),$=M(),Q=q.match(/^([a-zA-Z0-9._-]+@[^:]+:.+?(?:\.git)?)(#(.+))?$/);if(Q?.[1]){let z=Q[1],G=Q[3];return G?{source:"git",url:z,ref:G}:{source:"git",url:z}}if(q.startsWith("http://")||q.startsWith("https://")){let z=q.match(/^([^#]+)(#(.+))?$/),G=z?.[1]||q,X=z?.[3];if(G.endsWith(".git")||G.includes("/_git/"))return X?{source:"git",url:G,ref:X}:{source:"git",url:G};let Y;try{Y=new URL(G)}catch(x){return{source:"url",url:G}}if(Y.hostname==="github.com"||Y.hostname==="www.github.com"){if(Y.pathname.match(/^\/([^/]+\/[^/]+?)(\/|\.git|$)/)?.[1]){let J=G.endsWith(".git")?G:`${G}.git`;return X?{source:"git",url:J,ref:X}:{source:"git",url:J}}}return{source:"url",url:G}}let K=process.platform==="win32"&&(q.startsWith(".\\")||q.startsWith("..\\")||/^[a-zA-Z]:[/\\]/.test(q));if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")||q.startsWith("~")||K){let z=t(q.startsWith("~")?q.replace(/^~/,a()):q),G;try{G=await $.stat(z)}catch(X){let Y=O(X);return{error:Y==="ENOENT"?`Path does not exist: ${z}`:`Cannot access path: ${z} (${Y??X})`}}if(G.isFile())if(z.endsWith(".json"))return{source:"file",path:z};else return{error:`File path must point to a .json file (marketplace.json), but got: ${z}`};else if(G.isDirectory())return{source:"directory",path:z};else return{error:`Path is neither a file nor a directory: ${z}`}}if(q.includes("/")&&!q.startsWith("@")){if(q.includes(":"))return null;let z=q.match(/^([^#@]+)(?:[#@](.+))?$/),G=z?.[1]||q,X=z?.[2];return X?{source:"github",repo:G,ref:X}:{source:"github",repo:G}}return null}var r=E(()=>{N();y()});import{randomBytes as $q}from"crypto";import{readFile as Bq,rename as Gq,unlink as Yq,writeFile as xq}from"fs/promises";import{join as Jq}from"path";function c(){return Jq(D(),Kq)}async function Hq(){let Z=c();try{let q=await Bq(Z,{encoding:"utf-8"}),$=v(q);if(typeof $!=="object"||$===null||!("version"in $)||!("fetchedAt"in $)||!("counts"in $))return V("Install counts cache has invalid structure"),null;let Q=$;if(Q.version!==_)return V(`Install counts cache version mismatch (got ${Q.version}, expected ${_})`),null;if(typeof Q.fetchedAt!=="string"||!Array.isArray(Q.counts))return V("Install counts cache has invalid structure"),null;let B=new Date(Q.fetchedAt).getTime();if(Number.isNaN(B))return V("Install counts cache has invalid fetchedAt timestamp"),null;if(!Q.counts.every((G)=>typeof G==="object"&&G!==null&&typeof G.plugin==="string"&&typeof G.unique_installs==="number"))return V("Install counts cache has malformed entries"),null;if(Date.now()-B>zq)return V("Install counts cache is stale (>24h old)"),null;return{version:Q.version,fetchedAt:Q.fetchedAt,counts:Q.counts}}catch(q){if(O(q)!=="ENOENT")V(`Failed to load install counts cache: ${W(q)}`);return null}}async function Vq(Z){let q=c(),$=`${q}.${$q(8).toString("hex")}.tmp`;try{let Q=D();await M().mkdir(Q);let B=P(Z,null,2);await xq($,B,{encoding:"utf-8",mode:384}),await Gq($,q),V("Install counts cache saved successfully")}catch(Q){L(Q);try{await Yq($)}catch{}}}async function Wq(){V(`Fetching install counts from ${w}`);let Z=performance.now();try{let q=await p.get(w,{timeout:1e4});if(!q.data?.plugins||!Array.isArray(q.data.plugins))throw Error("Invalid response format from install counts API");return j("install_counts",w,"success",performance.now()-Z),q.data.plugins}catch(q){throw j("install_counts",w,"failure",performance.now()-Z,m(q)),q}}async function nq(){let Z=await Hq();if(Z){V("Using cached install counts"),j("install_counts",w,"cache_hit",0);let q=new Map;for(let $ of Z.counts)q.set($.plugin,$.unique_installs);return q}try{let q=await Wq(),$={version:_,fetchedAt:new Date().toISOString(),counts:q};await Vq($);let Q=new Map;for(let B of q)Q.set(B.plugin,B.unique_installs);return Q}catch(q){return L(q),V(`Failed to fetch install counts: ${W(q)}`),null}}function lq(Z){if(Z<1000)return String(Z);if(Z<1e6){let B=(Z/1000).toFixed(1);return B.endsWith(".0")?`${B.slice(0,-2)}K`:`${B}K`}let $=(Z/1e6).toFixed(1);return $.endsWith(".0")?`${$.slice(0,-2)}M`:`${$}M`}var _=1,Kq="install-counts-cache.json",w="https://raw.githubusercontent.com/anthropics/claude-plugins-official/refs/heads/stats/stats/plugin-installs.json",zq=86400000;var Oq=E(()=>{qq();e();N();y();Qq();f();Xq();Zq()});import{readdir as wq,readFile as A,stat as Iq}from"fs/promises";import*as H from"path";function jq(Z){let q=H.basename(Z),$=H.basename(H.dirname(Z));if(q==="plugin.json")return"plugin";if(q==="marketplace.json")return"marketplace";if($===".claude-plugin")return"plugin";return"unknown"}function F(Z){return Z.issues.map((q)=>({path:q.path.join(".")||"root",message:q.message,code:q.code}))}function I(Z,q,$,Q){if(Z.includes(".."))$.push({path:q,message:Q?`Path contains "..": ${Z}. ${Q}`:`Path contains ".." which could be a path traversal attempt: ${Z}`})}function Eq(Z){let q=Z.replace(/^(\.\.\/)+/,"");return`Plugin source paths are resolved relative to the marketplace root (the directory containing .claude-plugin/), not relative to marketplace.json. Use "${q!==Z?`./${q}`:"./plugins/my-plugin"}" instead of "${Z}".`}async function S(Z){let q=[],$=[],Q=H.resolve(Z),B;try{B=await A(Q,{encoding:"utf-8"})}catch(X){let Y=O(X),x;if(Y==="ENOENT")x=`File not found: ${Q}`;else if(Y==="EISDIR")x=`Path is not a file: ${Q}`;else x=`Failed to read file: ${W(X)}`;return{success:!1,errors:[{path:"file",message:x,code:Y}],warnings:[],filePath:Q,fileType:"plugin"}}let K;try{K=v(B)}catch(X){return{success:!1,errors:[{path:"json",message:`Invalid JSON syntax: ${W(X)}`}],warnings:[],filePath:Q,fileType:"plugin"}}if(K&&typeof K==="object"){let X=K;if(X.commands)(Array.isArray(X.commands)?X.commands:[X.commands]).forEach((x,J)=>{if(typeof x==="string")I(x,`commands[${J}]`,q)});if(X.agents)(Array.isArray(X.agents)?X.agents:[X.agents]).forEach((x,J)=>{if(typeof x==="string")I(x,`agents[${J}]`,q)});if(X.skills)(Array.isArray(X.skills)?X.skills:[X.skills]).forEach((x,J)=>{if(typeof x==="string")I(x,`skills[${J}]`,q)})}let z=K;if(typeof K==="object"&&K!==null){let X=K,Y=Object.keys(X).filter((x)=>Mq.has(x));if(Y.length>0){let x={...X};for(let J of Y)delete x[J],$.push({path:J,message:`Field '${J}' belongs in the marketplace entry (marketplace.json), `+"not plugin.json. It's harmless here but unused — Claudin "+"ignores it at load time."});z=x}}let G=g().strict().safeParse(z);if(!G.success)q.push(...F(G.error));if(G.success){let X=G.data;if(!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(X.name))$.push({path:"name",message:`Plugin name "${X.name}" is not kebab-case. Claudin accepts it, but the Claude.ai marketplace sync requires kebab-case (lowercase letters, digits, and hyphens only, e.g., "my-plugin").`});if(!X.version)$.push({path:"version",message:'No version specified. Consider adding a version following semver (e.g., "1.0.0")'});if(!X.description)$.push({path:"description",message:"No description provided. Adding a description helps users understand what your plugin does"});if(!X.author)$.push({path:"author",message:"No author information provided. Consider adding author details for plugin attribution"})}return{success:q.length===0,errors:q,warnings:$,filePath:Q,fileType:"plugin"}}async function k(Z){let q=[],$=[],Q=H.resolve(Z),B;try{B=await A(Q,{encoding:"utf-8"})}catch(X){let Y=O(X),x;if(Y==="ENOENT")x=`File not found: ${Q}`;else if(Y==="EISDIR")x=`Path is not a file: ${Q}`;else x=`Failed to read file: ${W(X)}`;return{success:!1,errors:[{path:"file",message:x,code:Y}],warnings:[],filePath:Q,fileType:"marketplace"}}let K;try{K=v(B)}catch(X){return{success:!1,errors:[{path:"json",message:`Invalid JSON syntax: ${W(X)}`}],warnings:[],filePath:Q,fileType:"marketplace"}}if(K&&typeof K==="object"){let X=K;if(Array.isArray(X.plugins))X.plugins.forEach((Y,x)=>{if(Y&&typeof Y==="object"&&"source"in Y){let J=Y.source;if(typeof J==="string")I(J,`plugins[${x}].source`,q,Eq(J));if(J&&typeof J==="object"&&"path"in J&&typeof J.path==="string")I(J.path,`plugins[${x}].source.path`,q)}})}let G=n().extend({plugins:d.array(h().strict())}).strict().safeParse(K);if(!G.success)q.push(...F(G.error));if(G.success){let X=G.data;if(!X.plugins||X.plugins.length===0)$.push({path:"plugins",message:"Marketplace has no plugins defined"});if(X.plugins){X.plugins.forEach((J,U)=>{if(X.plugins.filter((R)=>R.name===J.name).length>1)q.push({path:`plugins[${U}].name`,message:`Duplicate plugin name "${J.name}" found in marketplace`})});let Y=H.dirname(Q),x=H.basename(Y)===".claude-plugin"?H.dirname(Y):Y;for(let[J,U]of X.plugins.entries()){if(!U.version||typeof U.source!=="string"||!U.source.startsWith("./"))continue;let T=H.join(x,U.source,".claude-plugin","plugin.json"),R;try{let s=await A(T,{encoding:"utf-8"}),b=v(s);if(typeof b.version==="string")R=b.version}catch{continue}if(R&&R!==U.version)$.push({path:`plugins[${J}].version`,message:`Entry declares version "${U.version}" but ${U.source}/.claude-plugin/plugin.json says "${R}". `+"At install time, plugin.json wins (calculatePluginVersion precedence) — the entry version is silently ignored. "+`Update this entry to "${R}" to match.`})}}if(!X.metadata?.description)$.push({path:"metadata.description",message:"No marketplace description provided. Adding a description helps users understand what this marketplace offers"})}return{success:q.length===0,errors:q,warnings:$,filePath:Q,fileType:"marketplace"}}function Nq(Z,q,$){let Q=[],B=[],K=q.match(i);if(!K)return B.push({path:"frontmatter",message:"No frontmatter block found. Add YAML frontmatter between --- delimiters at the top of the file to set description and other metadata."}),{success:!0,errors:Q,warnings:B,filePath:Z,fileType:$};let z=K[1]||"",G;try{G=l(z)}catch(J){return Q.push({path:"frontmatter",message:`YAML frontmatter failed to parse: ${W(J)}. At runtime this ${$} loads with empty metadata (all frontmatter fields silently dropped).`}),{success:!1,errors:Q,warnings:B,filePath:Z,fileType:$}}if(G===null||typeof G!=="object"||Array.isArray(G))return Q.push({path:"frontmatter",message:`Frontmatter must be a YAML mapping (key: value pairs), got ${Array.isArray(G)?"an array":G===null?"null":typeof G}.`}),{success:!1,errors:Q,warnings:B,filePath:Z,fileType:$};let X=G;if(X.description!==void 0){let J=X.description;if(typeof J!=="string"&&typeof J!=="number"&&typeof J!=="boolean"&&J!==null)Q.push({path:"description",message:`description must be a string, got ${Array.isArray(J)?"array":typeof J}. At runtime this value is dropped.`})}else B.push({path:"description",message:`No description in frontmatter. A description helps users and Claude understand when to use this ${$}.`});if(X.name!==void 0&&X.name!==null&&typeof X.name!=="string")Q.push({path:"name",message:`name must be a string, got ${typeof X.name}.`});let Y=X["allowed-tools"];if(Y!==void 0&&Y!==null){if(typeof Y!=="string"&&!Array.isArray(Y))Q.push({path:"allowed-tools",message:`allowed-tools must be a string or array of strings, got ${typeof Y}.`});else if(Array.isArray(Y)&&Y.some((J)=>typeof J!=="string"))Q.push({path:"allowed-tools",message:"allowed-tools array must contain only strings."})}let x=X.shell;if(x!==void 0&&x!==null)if(typeof x!=="string")Q.push({path:"shell",message:`shell must be a string, got ${typeof x}.`});else{let J=x.trim().toLowerCase();if(J!=="bash"&&J!=="powershell")Q.push({path:"shell",message:`shell must be 'bash' or 'powershell', got '${x}'.`})}return{success:Q.length===0,errors:Q,warnings:B,filePath:Z,fileType:$}}async function _q(Z){let q;try{q=await A(Z,{encoding:"utf-8"})}catch(B){if(O(B)==="ENOENT")return{success:!0,errors:[],warnings:[],filePath:Z,fileType:"hooks"};return{success:!1,errors:[{path:"file",message:`Failed to read file: ${W(B)}`}],warnings:[],filePath:Z,fileType:"hooks"}}let $;try{$=v(q)}catch(B){return{success:!1,errors:[{path:"json",message:`Invalid JSON syntax: ${W(B)}. At runtime this breaks the entire plugin load.`}],warnings:[],filePath:Z,fileType:"hooks"}}let Q=u().safeParse($);if(!Q.success)return{success:!1,errors:F(Q.error),warnings:[],filePath:Z,fileType:"hooks"};return{success:!0,errors:[],warnings:[],filePath:Z,fileType:"hooks"}}async function o(Z,q){let $;try{$=await wq(Z,{withFileTypes:!0})}catch(B){let K=O(B);if(K==="ENOENT"||K==="ENOTDIR")return[];throw B}if(q)return $.filter((B)=>B.isDirectory()).map((B)=>H.join(Z,B.name,"SKILL.md"));let Q=[];for(let B of $){let K=H.join(Z,B.name);if(B.isDirectory())Q.push(...await o(K,!1));else if(B.isFile()&&B.name.toLowerCase().endsWith(".md"))Q.push(K)}return Q}async function QQ(Z){let q=[],$=[["skill",H.join(Z,"skills")],["agent",H.join(Z,"agents")],["command",H.join(Z,"commands")]];for(let[B,K]of $){let z=await o(K,B==="skill");for(let G of z){let X;try{X=await A(G,{encoding:"utf-8"})}catch(x){if(C(x))continue;q.push({success:!1,errors:[{path:"file",message:`Failed to read: ${W(x)}`}],warnings:[],filePath:G,fileType:B});continue}let Y=Nq(G,X,B);if(Y.errors.length>0||Y.warnings.length>0)q.push(Y)}}let Q=await _q(H.join(Z,"hooks","hooks.json"));if(Q.errors.length>0||Q.warnings.length>0)q.push(Q);return q}async function XQ(Z){let q=H.resolve(Z),$=null;try{$=await Iq(q)}catch(B){if(!C(B))throw B}if($?.isDirectory()){let B=H.join(q,".claude-plugin","marketplace.json"),K=await k(B);if(K.errors[0]?.code!=="ENOENT")return K;let z=H.join(q,".claude-plugin","plugin.json"),G=await S(z);if(G.errors[0]?.code!=="ENOENT")return G;return{success:!1,errors:[{path:"directory",message:"No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json"}],warnings:[],filePath:q,fileType:"plugin"}}switch(jq(Z)){case"plugin":return S(Z);case"marketplace":return k(Z);case"unknown":{try{let B=await A(q,{encoding:"utf-8"}),K=v(B);if(Array.isArray(K.plugins))return k(Z)}catch(B){if(O(B)==="ENOENT")return{success:!1,errors:[{path:"file",message:`File not found: ${q}`}],warnings:[],filePath:q,fileType:"plugin"}}return S(Z)}}}var Mq;var Lq=E(()=>{Uq();N();Aq();f();Rq();vq();Mq=new Set(["category","source","tags","strict","id"])});
|
|
2
|
-
export{Fq as sc,r as tc,nq as uc,lq as vc,Oq as wc,QQ as xc,XQ as yc,Lq as zc};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Gla as Q,Jla as $}from"./cli-1.1.28-2esp2ssp.mjs";import{gma as K,lma as Z}from"./cli-1.1.28-pykx8k1j.mjs";import{oma as J,zma as Y}from"./cli-1.1.28-khcgtk4a.mjs";Y();Z();$();import{readFileSync as k}from"node:fs";import{mkdir as I,writeFile as W}from"node:fs/promises";import{join as M}from"node:path";var S="latest-version.json";function X(){return M(J(),S)}function U(q){if(!q||typeof q!=="object")return!1;let x=q;return typeof x.latest==="string"&&x.latest.length>0&&typeof x.current==="string"&&x.current.length>0&&typeof x.checkedAt==="number"&&Number.isFinite(x.checkedAt)}function T(){try{let q=k(X(),"utf8"),x=JSON.parse(q);return U(x)?x:null}catch(q){if(K(q))return null;return Q(`latestVersionCache: read failed: ${q instanceof Error?q.stack??q.message:String(q)}`),null}}var G=new Set;function w(q){return G.add(q),()=>{G.delete(q)}}async function y(q){let x=X(),R=JSON.stringify(q);try{await W(x,R,"utf8")}catch(z){if(K(z))await I(J(),{recursive:!0}),await W(x,R,"utf8");else throw z}for(let z of[...G])try{z(q)}catch(B){Q(`latestVersionCache: listener threw: ${B instanceof Error?B.stack??B.message:String(B)}`)}}
|
|
2
|
-
export{T as Ha,w as Ia,y as Ja};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Vta as r}from"./cli-1.1.28-3fssr567.mjs";var i,a=(s,e)=>function(){try{return e||(0,s[i(s)[0]])((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},n;var p=r(()=>{i=Object.getOwnPropertyNames,n=a({"package.json"(s,e){e.exports={name:"@mendable/firecrawl-js",version:"4.38.0",description:"JavaScript SDK for the Firecrawl API: web scraping, crawling, web search, and scientific literature search over a research paper index of PubMed, bioRxiv, medRxiv and arXiv abstracts",main:"dist/index.js",types:"dist/index.d.ts",exports:{"./package.json":"./package.json",".":{import:"./dist/index.js",default:"./dist/index.cjs"}},type:"module",scripts:{build:"tsup","build-and-publish":"pnpm run build && pnpm publish --access public","publish-beta":"pnpm run build && pnpm publish --access public --tag beta",test:"NODE_OPTIONS=--experimental-vm-modules jest --verbose src/__tests__/e2e/v2/*.test.ts --detectOpenHandles","test:unit":"NODE_OPTIONS=--experimental-vm-modules jest --verbose src/__tests__/unit/v2/*.test.ts"},repository:{type:"git",url:"git+https://github.com/firecrawl/firecrawl.git"},author:"Mendable.ai",license:"MIT",dependencies:{axios:"1.18.0",firecrawl:"4.30.1","typescript-event-target":"^1.1.1",zod:"^3.23.8","zod-to-json-schema":"^3.23.0"},bugs:{url:"https://github.com/firecrawl/firecrawl/issues"},homepage:"https://github.com/firecrawl/firecrawl#readme",devDependencies:{"@jest/globals":"^30.2.0","@types/dotenv":"^8.2.0","@types/jest":"^30.0.0","@types/mocha":"^10.0.6","@types/node":"^20.12.12","@types/uuid":"^9.0.8",dotenv:"^16.4.5",jest:"^30.2.0","ts-jest":"^29.4.5",tsup:"^8.5.0",typescript:"^5.4.5",uuid:"^14.0.0"},keywords:["firecrawl","mendable","crawler","web","scraper","api","sdk","web-search","literature-search","research","scientific-papers","academic-search","biomedical","life-sciences","pubmed","biorxiv","medrxiv","arxiv","preprints","citations","bioinformatics"],engines:{node:">=22.0.0"}}}})});
|
|
2
|
-
export{n as Ki,p as Li};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Bi as C,Ci as t}from"./cli-1.1.28-f3rdt4zg.mjs";import{Di as p,Ei as e}from"./cli-1.1.28-by5acg3a.mjs";import{YY as L,ZY as i}from"./cli-1.1.28-n2jx5w3n.mjs";import{L1 as b,N1 as P,q2 as s}from"./cli-1.1.28-0njtm2nf.mjs";import{b5 as M,d5 as y}from"./cli-1.1.28-v5ypq0r2.mjs";import{e5 as n}from"./cli-1.1.28-yv5gzenz.mjs";import{A$ as T,B$ as m}from"./cli-1.1.28-5y1xeh89.mjs";import{Eia as d,mia as $,nia as o,oia as S,pia as v,ria as W}from"./cli-1.1.28-8avwqt1z.mjs";import{Rta as a,Vta as l}from"./cli-1.1.28-3fssr567.mjs";function Zq(J,q,Y){if(J.startsWith("file-"))return Y?C(q):"+";if(J.startsWith("mcp-resource-"))return"◇";if(J.startsWith("agent-"))return"*";return"+"}function x(J){return J.startsWith("file-")||J.startsWith("mcp-resource-")||J.startsWith("agent-")}function $q(J){let q=J.metadata?.type;return q==="directory"||q==="file"}function Gq(J,q,Y){if(q<=0||Y<=0)return[];let G=J.replace(Yq," ").trim();if(G==="")return[];let Q=[],K="";for(let z of G.split(" ")){if(K==="")K=z;else if($(K)+1+$(z)<=q)K=`${K} ${z}`;else Q.push(K),K=z;while($(K)>q){let H=W(K,q);if(H==="")break;Q.push(H),K=K.slice(H.length)}if(Q.length>Y)break}if(K!=="")Q.push(K);if(Q.length<=Y)return Q;let O=Q.slice(Y-1).join(" "),A=Q.slice(0,Y);return A[Y-1]=$(O)<=q?O:v(O,q),A}function c(J,q,Y){let G=Math.floor(q*0.4),Q=Math.min(Y??$(J.displayText)+5,G),K=J.displayText;if($(K)>Q-2)K=v(K,Q-2);let O=$q(J)?`${h?C(J.displayText):"+"} `:"",A=J.tag?`[${J.tag}] `:"",z=Math.max(0,q-R-Q-$(A)-4),H=J.description?Gq(J.description,z,Kq):[];return{displayText:K,displayTextWidth:Q,pathIcon:O,tagText:A,descriptionLines:H}}function Oq(J,q,Y){if(x(J.id))return 1;return Math.max(1,c(J,q,Y).descriptionLines.length)}function Aq({suggestions:J,selectedSuggestion:q,maxColumnWidth:Y,overlay:G}){let{columns:Q,rows:K}=L(),O=Math.max(1,K-2),A=O>=qq?Math.min(Jq,O):O;if(J.length===0)return null;let z=Y??Math.max(...J.map((Z)=>$(Z.displayText)))+5,H=J.map((Z)=>Oq(Z,Q,z)),N=(Z)=>Math.max(0,Math.min(q-Math.floor(Z/2),J.length-Z)),U=Math.min(A,J.length);while(U>1){let Z=N(U);if(H.slice(Z,Z+U).reduce((B,j)=>B+j,0)<=O)break;U--}let V=N(U),X=Math.min(V+U,J.length),F=J.slice(V,X);return M(b,{flexDirection:"column",justifyContent:G?void 0:"flex-end",children:F.map((Z)=>M(zq,{item:Z,maxColumnWidth:z,isSelected:Z.id===J[q]?.id},`${Z.id}:${Z.id===J[q]?.id?"selected":"idle"}`))})}var E,qq=8,Jq=15,Kq=2,I,Qq=" ",R,Yq,h,zq,bq;var Uq=l(()=>{m();i();o();s();t();d();e();y();E=a(n(),1),I=`${T.pointer} `,R=$(I),Yq=/\s+/g,h=p();zq=E.memo(function({item:q,maxColumnWidth:Y,isSelected:G}){let Q=L().columns,K=G?I:Qq,O=G?"suggestion":void 0,A=G?"inverseText":void 0;if(x(q.id)){let k=Zq(q.id,q.displayText,h),B=!G,j=q.id.startsWith("file-"),u=q.id.startsWith("mcp-resource-"),Hq=2,kq=4,w=q.description?3:0,f;if(j){let _=q.description?Math.min(20,$(q.description)):0,r=Q-R-2-4-w-_;f=S(q.displayText,r)}else if(u)f=v(q.displayText,30);else f=q.displayText;let g=Q-R-2-$(f)-w-4,D;if(q.description){let _=v(q.description.replace(/\s+/g," "),Math.max(0,g));D=`${K}${k} ${f} - ${_}`}else D=`${K}${k} ${f}`;return M(b,{width:"100%",opaque:!0,backgroundColor:O,children:M(P,{color:A,dimColor:B,bold:G,wrap:"truncate",children:D})})}let{displayText:z,displayTextWidth:H,pathIcon:N,tagText:U,descriptionLines:V}=c(q,Q,Y),X=K+N+z+" ".repeat(Math.max(0,H-$(z))),F=" ".repeat($(X)+$(U)),Z=V.length>0?V.map((k,B)=>B===0?`${X}${U}${k}`:`${F}${k}`):[`${X}${U}`];return M(b,{flexDirection:"column",width:"100%",opaque:!0,backgroundColor:O,children:Z.map((k,B)=>M(P,{color:A,dimColor:!G,bold:G,wrap:"truncate",children:k},B))})});bq=E.memo(Aq)});
|
|
2
|
-
export{Aq as wi,bq as xi,Uq as yi};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{Ae as A,Be as O,ve as j,we as w,xe as _,ye as D,ze as L}from"./cli-1.1.28-14abe08r.mjs";import{aC as W,aq as R,cN as X,dC as V,dN as I,dq as b,fC as C,uT as h,wT as y}from"./cli-1.1.28-zhftjycn.mjs";import{$ha as U,A$ as Q,B$ as N,hia as S}from"./cli-1.1.28-5y1xeh89.mjs";import{Dka as K,Gka as v}from"./cli-1.1.28-knfg26kb.mjs";import{Lla as x,Pla as M}from"./cli-1.1.28-x13sctb2.mjs";import{ema as B,lma as F}from"./cli-1.1.28-pykx8k1j.mjs";N();F();y();S();I();b();M();C();v();O();function Z(z,J,q){U(z);let G=q?`${J} plugin "${q}"`:J==="disable-all"?"disable all plugins":`${J} plugins`;console.error(`${Q.cross} Failed to ${G}: ${B(z)}`);let H=q?(()=>{let{name:Y,marketplace:$}=R(q);return{_PROTO_plugin_name:Y,...$&&{_PROTO_marketplace_name:$},...W(Y,$,X())}})():{};K("",{command:J,error_category:V(z),...H}),process.exit(1)}async function g(z,J="user"){try{console.log(`Installing plugin "${z}"...`);let q=await j(z,J);if(!q.success)throw Error(q.message);console.log(`${Q.tick} ${q.message}`);let{name:G,marketplace:H}=R(q.pluginId||z);K("",{_PROTO_plugin_name:G,...H&&{_PROTO_marketplace_name:H},scope:q.scope||J,install_source:"cli-explicit",...W(G,H,X())}),process.exit(0)}catch(q){Z(q,"install",z)}}async function a(z,J="user",q=!1){try{let G=await w(z,J,!q);if(!G.success)throw Error(G.message);console.log(`${Q.tick} ${G.message}`);let{name:H,marketplace:Y}=R(G.pluginId||z);K("",{_PROTO_plugin_name:H,...Y&&{_PROTO_marketplace_name:Y},scope:G.scope||J,...W(H,Y,X())}),process.exit(0)}catch(G){Z(G,"uninstall",z)}}async function i(z,J){try{let q=await _(z,J);if(!q.success)throw Error(q.message);console.log(`${Q.tick} ${q.message}`);let{name:G,marketplace:H}=R(q.pluginId||z);K("",{_PROTO_plugin_name:G,...H&&{_PROTO_marketplace_name:H},scope:q.scope,...W(G,H,X())}),process.exit(0)}catch(q){Z(q,"enable",z)}}async function u(z,J){try{let q=await D(z,J);if(!q.success)throw Error(q.message);console.log(`${Q.tick} ${q.message}`);let{name:G,marketplace:H}=R(q.pluginId||z);K("",{_PROTO_plugin_name:G,...H&&{_PROTO_marketplace_name:H},scope:q.scope,...W(G,H,X())}),process.exit(0)}catch(q){Z(q,"disable",z)}}async function n(){try{let z=await L();if(!z.success)throw Error(z.message);console.log(`${Q.tick} ${z.message}`),K("",{}),process.exit(0)}catch(z){Z(z,"disable-all")}}async function r(z,J){try{x(`Checking for updates for plugin "${z}" at ${J} scope…
|
|
2
|
-
`);let q=await A(z,J);if(!q.success)throw Error(q.message);if(x(`${Q.tick} ${q.message}
|
|
3
|
-
`),!q.alreadyUpToDate){let{name:G,marketplace:H}=R(q.pluginId||z);K("",{_PROTO_plugin_name:G,...H&&{_PROTO_marketplace_name:H},old_version:q.oldVersion||"unknown",new_version:q.newVersion||"unknown",...W(G,H,X())})}await h(0)}catch(q){Z(q,"update",z)}}
|
|
4
|
-
export{g as h,a as i,i as j,u as k,n as l,r as m};
|