@claudiolabs/claudin 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -24
- package/dist/chunks/AgentTool-1.1.3-yxsndsyn.mjs +1 -0
- package/dist/chunks/App-1.1.3-se36kt2q.mjs +1 -0
- package/dist/chunks/ApproveApiKey-1.1.3-5jxsmx40.mjs +1 -0
- package/dist/chunks/AssistantSessionChooser-1.1.3-7bjbdd37.mjs +1 -0
- package/dist/chunks/AutoModeOptInDialog-1.1.3-3vs1q0ta.mjs +1 -0
- package/dist/chunks/BypassPermissionsModeDialog-1.1.3-p08x7sv8.mjs +1 -0
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.1.3-gyv29cn4.mjs +1 -0
- package/dist/chunks/ConsoleOAuthFlow-1.1.3-6ka5hf2k.mjs +1 -0
- package/dist/chunks/DiffDialog-1.1.3-1wejx4tn.mjs +7 -0
- package/dist/chunks/Doctor-1.1.3-0ccnyend.mjs +1 -0
- package/dist/chunks/ExplorerDialog-1.1.3-jspvqy7q.mjs +6 -0
- package/dist/chunks/Grove-1.1.3-wvxs1xk4.mjs +1 -0
- package/dist/chunks/ITermBackend-1.1.3-5cr9f3wk.mjs +1 -0
- package/dist/chunks/InvalidConfigDialog-1.1.3-yy0jqsbj.mjs +1 -0
- package/dist/chunks/InvalidSettingsDialog-1.1.3-2pqy4mte.mjs +1 -0
- package/dist/chunks/MigrationDialog-1.1.3-781zj4fa.mjs +1 -0
- package/dist/chunks/Onboarding-1.1.3-a5n3c2kk.mjs +1 -0
- package/dist/chunks/ProviderManager-1.1.3-vbk4qqdv.mjs +1 -0
- package/dist/chunks/REPL-1.1.3-c8ng1hcs.mjs +1 -0
- package/dist/chunks/ResumeConversation-1.1.3-67axvmvd.mjs +1 -0
- package/dist/chunks/SnapshotUpdateDialog-1.1.3-84q4vb17.mjs +1 -0
- package/dist/chunks/TeleportProgress-1.1.3-hthcjsxf.mjs +1 -0
- package/dist/chunks/TeleportRepoMismatchDialog-1.1.3-af7j2gjm.mjs +1 -0
- package/dist/chunks/TeleportResumeWrapper-1.1.3-q0n84g2v.mjs +1 -0
- package/dist/chunks/TmuxBackend-1.1.3-dvsnx3eq.mjs +9 -0
- package/dist/chunks/ToolSearchTool-1.1.3-376a028q.mjs +1 -0
- package/dist/chunks/TrustDialog-1.1.3-01rkjtmv.mjs +1 -0
- package/dist/chunks/activeProvider-1.1.3-ppxd3mj8.mjs +1 -0
- package/dist/chunks/add-dir-1.1.3-z1vd7ra4.mjs +1 -0
- package/dist/chunks/agentTypes-1.1.3-w924n1yy.mjs +1 -0
- package/dist/chunks/agents-1.1.3-5atkby3f.mjs +110 -0
- package/dist/chunks/agents-1.1.3-mjqamerj.mjs +3 -0
- package/dist/chunks/api-1.1.3-1s5dk2h7.mjs +1 -0
- package/dist/chunks/asciicast-1.1.3-exg42b9c.mjs +1 -0
- package/dist/chunks/assistant-1.1.3-sdwgcm2q.mjs +1 -0
- package/dist/chunks/auth-1.1.3-g5e9e91f.mjs +1 -0
- package/dist/chunks/auth-1.1.3-jqasmv33.mjs +1 -0
- package/dist/chunks/autoMode-1.1.3-tjgwmrj8.mjs +48 -0
- package/dist/chunks/autoUpdater-1.1.3-r3vs5bsn.mjs +1 -0
- package/dist/chunks/backgroundHousekeeping-1.1.3-k14x3rw1.mjs +1 -0
- package/dist/chunks/branch-1.1.3-42at4fgy.mjs +4 -0
- package/dist/chunks/bridge-1.1.3-02wgv1mq.mjs +2 -0
- package/dist/chunks/bridgeConfig-1.1.3-pz9qyfzz.mjs +1 -0
- package/dist/chunks/bridgeEnabled-1.1.3-e833e9ca.mjs +1 -0
- package/dist/chunks/bridgeMain-1.1.3-aqjdgpdy.mjs +88 -0
- package/dist/chunks/bridgePointer-1.1.3-b3hwkb6e.mjs +1 -0
- package/dist/chunks/btw-1.1.3-3q7kvnj8.mjs +1 -0
- package/dist/chunks/buddy-1.1.3-mxnf2f34.mjs +3 -0
- package/dist/chunks/cacache-1.1.3-rxz1pgwz.mjs +1 -0
- package/dist/chunks/cache-probe-1.1.3-ey8g5sks.mjs +21 -0
- package/dist/chunks/cacheStats-1.1.3-mwmp8as6.mjs +4 -0
- package/dist/chunks/caches-1.1.3-zwf2m9j5.mjs +1 -0
- package/dist/chunks/claudeDesktop-1.1.3-v480vs32.mjs +1 -0
- package/dist/chunks/claudemd-1.1.3-aspbzmhd.mjs +1 -0
- package/dist/chunks/clear-1.1.3-9apn4h2w.mjs +1 -0
- package/dist/chunks/clearTerminal-1.1.3-jbzj4fvw.mjs +1 -0
- package/dist/chunks/cli-1.1.3-01ceyj4y.mjs +45 -0
- package/dist/chunks/cli-1.1.3-01phj35m.mjs +25 -0
- package/dist/chunks/cli-1.1.3-07ap3q60.mjs +2 -0
- package/dist/chunks/cli-1.1.3-0cbh861c.mjs +9 -0
- package/dist/chunks/cli-1.1.3-0cq4713y.mjs +2 -0
- package/dist/chunks/cli-1.1.3-0p8krrf1.mjs +2 -0
- package/dist/chunks/cli-1.1.3-1ey46s2h.mjs +3 -0
- package/dist/chunks/cli-1.1.3-1krr9n6p.mjs +4 -0
- package/dist/chunks/cli-1.1.3-1m40cjft.mjs +2 -0
- package/dist/chunks/cli-1.1.3-1vw4gdpc.mjs +3 -0
- package/dist/chunks/cli-1.1.3-1zv90s1n.mjs +17 -0
- package/dist/chunks/cli-1.1.3-25jbatj6.mjs +2 -0
- package/dist/chunks/cli-1.1.3-2at6mxpr.mjs +2 -0
- package/dist/chunks/cli-1.1.3-2nhp8krw.mjs +2 -0
- package/dist/chunks/cli-1.1.3-2pzwezgd.mjs +2 -0
- package/dist/chunks/cli-1.1.3-2whk95g7.mjs +2 -0
- package/dist/chunks/cli-1.1.3-35pxqjkd.mjs +3 -0
- package/dist/chunks/cli-1.1.3-35sq031q.mjs +2 -0
- package/dist/chunks/cli-1.1.3-3b1emj77.mjs +2 -0
- package/dist/chunks/cli-1.1.3-3ck9nde3.mjs +4 -0
- package/dist/chunks/cli-1.1.3-3cqnvz5q.mjs +2 -0
- package/dist/chunks/cli-1.1.3-3n4z9x5v.mjs +2 -0
- package/dist/chunks/cli-1.1.3-3v1pwmy8.mjs +4 -0
- package/dist/chunks/cli-1.1.3-3v7vzx20.mjs +18 -0
- package/dist/chunks/cli-1.1.3-3yaqqcdz.mjs +25 -0
- package/dist/chunks/cli-1.1.3-474ezzb0.mjs +2 -0
- package/dist/chunks/cli-1.1.3-4kjm8mzq.mjs +1 -0
- package/dist/chunks/cli-1.1.3-4qnt7xps.mjs +6 -0
- package/dist/chunks/cli-1.1.3-542yg99v.mjs +3 -0
- package/dist/chunks/cli-1.1.3-59xex268.mjs +4 -0
- package/dist/chunks/cli-1.1.3-5bkfd3vc.mjs +2 -0
- package/dist/chunks/cli-1.1.3-5g0d524n.mjs +2 -0
- package/dist/chunks/cli-1.1.3-5vqc0ws1.mjs +2 -0
- package/dist/chunks/cli-1.1.3-5zveqbgr.mjs +2 -0
- package/dist/chunks/cli-1.1.3-61cw0bsj.mjs +2 -0
- package/dist/chunks/cli-1.1.3-62xmen1t.mjs +3 -0
- package/dist/chunks/cli-1.1.3-6arxtxjd.mjs +2 -0
- package/dist/chunks/cli-1.1.3-6f17b1wv.mjs +9 -0
- package/dist/chunks/cli-1.1.3-6jpsfc7q.mjs +2 -0
- package/dist/chunks/cli-1.1.3-6kd24w49.mjs +2 -0
- package/dist/chunks/cli-1.1.3-6kse36ke.mjs +2 -0
- package/dist/chunks/cli-1.1.3-6qebqran.mjs +4 -0
- package/dist/chunks/cli-1.1.3-728j7hk7.mjs +2 -0
- package/dist/chunks/cli-1.1.3-754qsxzp.mjs +2 -0
- package/dist/chunks/cli-1.1.3-784k913c.mjs +42 -0
- package/dist/chunks/cli-1.1.3-794cnnf6.mjs +2 -0
- package/dist/chunks/cli-1.1.3-7a40xj94.mjs +4 -0
- package/dist/chunks/cli-1.1.3-7b34969p.mjs +24 -0
- package/dist/chunks/cli-1.1.3-7dbam07b.mjs +2 -0
- package/dist/chunks/cli-1.1.3-81p48g5s.mjs +2 -0
- package/dist/chunks/cli-1.1.3-88949m1z.mjs +2 -0
- package/dist/chunks/cli-1.1.3-8a7nh0f1.mjs +2 -0
- package/dist/chunks/cli-1.1.3-8aghq1w8.mjs +2 -0
- package/dist/chunks/cli-1.1.3-8cqhzz5c.mjs +2 -0
- package/dist/chunks/cli-1.1.3-8fdttrf4.mjs +2 -0
- package/dist/chunks/cli-1.1.3-8fxwqvfj.mjs +3 -0
- package/dist/chunks/cli-1.1.3-8mf46r85.mjs +18 -0
- package/dist/chunks/cli-1.1.3-93mxysb6.mjs +2 -0
- package/dist/chunks/cli-1.1.3-9a9bythm.mjs +2 -0
- package/dist/chunks/cli-1.1.3-9cvgj0zc.mjs +2 -0
- package/dist/chunks/cli-1.1.3-9dawtrvk.mjs +2 -0
- package/dist/chunks/cli-1.1.3-9zpwt3yw.mjs +2 -0
- package/dist/chunks/cli-1.1.3-9zvc4hsj.mjs +2 -0
- package/dist/chunks/cli-1.1.3-aby773wx.mjs +2 -0
- package/dist/chunks/cli-1.1.3-and2rzgx.mjs +2 -0
- package/dist/chunks/cli-1.1.3-atp5y7j7.mjs +2 -0
- package/dist/chunks/cli-1.1.3-aw2b0yn9.mjs +2 -0
- package/dist/chunks/cli-1.1.3-b88x3k01.mjs +2 -0
- package/dist/chunks/cli-1.1.3-bbqwb2vd.mjs +2 -0
- package/dist/chunks/cli-1.1.3-bh5gftey.mjs +12 -0
- package/dist/chunks/cli-1.1.3-bkev2xdr.mjs +2 -0
- package/dist/chunks/cli-1.1.3-bp3q6zqx.mjs +2 -0
- package/dist/chunks/cli-1.1.3-bqn6026m.mjs +39 -0
- package/dist/chunks/cli-1.1.3-btgs6ac2.mjs +2 -0
- package/dist/chunks/cli-1.1.3-c06t4mva.mjs +202 -0
- package/dist/chunks/cli-1.1.3-c627h4he.mjs +2 -0
- package/dist/chunks/cli-1.1.3-c63ht2fx.mjs +24 -0
- package/dist/chunks/cli-1.1.3-c89bkw1j.mjs +50 -0
- package/dist/chunks/cli-1.1.3-cf6phy33.mjs +4 -0
- package/dist/chunks/cli-1.1.3-cfbvqt93.mjs +2 -0
- package/dist/chunks/cli-1.1.3-ckgtccms.mjs +2 -0
- package/dist/chunks/cli-1.1.3-cn4g4e3p.mjs +2 -0
- package/dist/chunks/cli-1.1.3-czckb3b7.mjs +2 -0
- package/dist/chunks/cli-1.1.3-d2q4t4ng.mjs +2 -0
- package/dist/chunks/cli-1.1.3-d2rfc4qe.mjs +21 -0
- package/dist/chunks/cli-1.1.3-d3ktet0r.mjs +15 -0
- package/dist/chunks/cli-1.1.3-d8scjpye.mjs +2 -0
- package/dist/chunks/cli-1.1.3-dab6k7an.mjs +2 -0
- package/dist/chunks/cli-1.1.3-db63qype.mjs +2 -0
- package/dist/chunks/cli-1.1.3-dgv6zkw4.mjs +2 -0
- package/dist/chunks/cli-1.1.3-dnk7vvb1.mjs +3 -0
- package/dist/chunks/cli-1.1.3-dnyndczq.mjs +15 -0
- package/dist/chunks/cli-1.1.3-e3jtz0sv.mjs +2 -0
- package/dist/chunks/cli-1.1.3-ehynfa14.mjs +6 -0
- package/dist/chunks/cli-1.1.3-ep77k52g.mjs +2 -0
- package/dist/chunks/cli-1.1.3-ezvsqkxt.mjs +2 -0
- package/dist/chunks/cli-1.1.3-f3b9x47a.mjs +2 -0
- package/dist/chunks/cli-1.1.3-f4y81bfm.mjs +2 -0
- package/dist/chunks/cli-1.1.3-ffhb6dgp.mjs +2 -0
- package/dist/chunks/cli-1.1.3-ffnbm5dy.mjs +2 -0
- package/dist/chunks/cli-1.1.3-ffxb379j.mjs +2 -0
- package/dist/chunks/cli-1.1.3-fg4s0rf2.mjs +2 -0
- package/dist/chunks/cli-1.1.3-fn3gz1mm.mjs +2 -0
- package/dist/chunks/cli-1.1.3-fwnvqcgg.mjs +6 -0
- package/dist/chunks/cli-1.1.3-g22t8964.mjs +17 -0
- package/dist/chunks/cli-1.1.3-gbtb2prg.mjs +2 -0
- package/dist/chunks/cli-1.1.3-gmkpq85h.mjs +2 -0
- package/dist/chunks/cli-1.1.3-gqvr1ctv.mjs +2 -0
- package/dist/chunks/cli-1.1.3-grr7gey9.mjs +2 -0
- package/dist/chunks/cli-1.1.3-gthp8mbw.mjs +2 -0
- package/dist/chunks/cli-1.1.3-h27e7q5x.mjs +12 -0
- package/dist/chunks/cli-1.1.3-h382pr6p.mjs +2 -0
- package/dist/chunks/cli-1.1.3-hb7g5y9p.mjs +12 -0
- package/dist/chunks/cli-1.1.3-hftwajch.mjs +2 -0
- package/dist/chunks/cli-1.1.3-hs9ck03n.mjs +5639 -0
- package/dist/chunks/cli-1.1.3-hw5kjqjr.mjs +12 -0
- package/dist/chunks/cli-1.1.3-hx22x48p.mjs +2 -0
- package/dist/chunks/cli-1.1.3-hx6z3g2t.mjs +15 -0
- package/dist/chunks/cli-1.1.3-hzettfd9.mjs +2 -0
- package/dist/chunks/cli-1.1.3-j0hxvf5w.mjs +2 -0
- package/dist/chunks/cli-1.1.3-jgpsz36y.mjs +3 -0
- package/dist/chunks/cli-1.1.3-jm2670xx.mjs +3 -0
- package/dist/chunks/cli-1.1.3-jsvyner6.mjs +2 -0
- package/dist/chunks/cli-1.1.3-jvgmswx0.mjs +2 -0
- package/dist/chunks/cli-1.1.3-jxcrr2k0.mjs +2 -0
- package/dist/chunks/cli-1.1.3-jz35kydf.mjs +2 -0
- package/dist/chunks/cli-1.1.3-k71pqbzv.mjs +2 -0
- package/dist/chunks/cli-1.1.3-kb2p4ces.mjs +2 -0
- package/dist/chunks/cli-1.1.3-kh7s1ptn.mjs +59 -0
- package/dist/chunks/cli-1.1.3-m0nv5m3n.mjs +2 -0
- package/dist/chunks/cli-1.1.3-m1drez65.mjs +20 -0
- package/dist/chunks/cli-1.1.3-maxd7q4j.mjs +2 -0
- package/dist/chunks/cli-1.1.3-mk0pqpe5.mjs +2 -0
- package/dist/chunks/cli-1.1.3-n4fjs3wh.mjs +2 -0
- package/dist/chunks/cli-1.1.3-n4sxmh0k.mjs +3 -0
- package/dist/chunks/cli-1.1.3-n69km65c.mjs +2 -0
- package/dist/chunks/cli-1.1.3-n94f70dw.mjs +4 -0
- package/dist/chunks/cli-1.1.3-nb6jng8k.mjs +24 -0
- package/dist/chunks/cli-1.1.3-neffpndz.mjs +2 -0
- package/dist/chunks/cli-1.1.3-nskz3j4r.mjs +6 -0
- package/dist/chunks/cli-1.1.3-nv18abf3.mjs +2 -0
- package/dist/chunks/cli-1.1.3-nwwtaht8.mjs +3 -0
- package/dist/chunks/cli-1.1.3-p96mn5e3.mjs +4 -0
- package/dist/chunks/cli-1.1.3-pfyraqmy.mjs +2 -0
- package/dist/chunks/cli-1.1.3-pmd2p2dk.mjs +2 -0
- package/dist/chunks/cli-1.1.3-q419ra7q.mjs +2 -0
- package/dist/chunks/cli-1.1.3-qffw70jy.mjs +2 -0
- package/dist/chunks/cli-1.1.3-qhw7mafg.mjs +2 -0
- package/dist/chunks/cli-1.1.3-r8hnm5n8.mjs +2 -0
- package/dist/chunks/cli-1.1.3-r9m8cyrc.mjs +2 -0
- package/dist/chunks/cli-1.1.3-ramkctnw.mjs +58 -0
- package/dist/chunks/cli-1.1.3-rkx4c6ey.mjs +2 -0
- package/dist/chunks/cli-1.1.3-rneam354.mjs +2 -0
- package/dist/chunks/cli-1.1.3-s1ttygbf.mjs +67 -0
- package/dist/chunks/cli-1.1.3-sc9bm6f1.mjs +2 -0
- package/dist/chunks/cli-1.1.3-scnwb2jp.mjs +2 -0
- package/dist/chunks/cli-1.1.3-sfy0pdyx.mjs +2 -0
- package/dist/chunks/cli-1.1.3-sjkaxzsp.mjs +2 -0
- package/dist/chunks/cli-1.1.3-sk7xsym3.mjs +2 -0
- package/dist/chunks/cli-1.1.3-skvx9y6v.mjs +2 -0
- package/dist/chunks/cli-1.1.3-sp010xtk.mjs +2 -0
- package/dist/chunks/cli-1.1.3-spxtmdrr.mjs +2 -0
- package/dist/chunks/cli-1.1.3-ssgr0hah.mjs +2 -0
- package/dist/chunks/cli-1.1.3-swhwjey8.mjs +4 -0
- package/dist/chunks/cli-1.1.3-t15g5zbq.mjs +2 -0
- package/dist/chunks/cli-1.1.3-t2tn9dft.mjs +2 -0
- package/dist/chunks/cli-1.1.3-t847whez.mjs +2 -0
- package/dist/chunks/cli-1.1.3-t9f7yqmm.mjs +2 -0
- package/dist/chunks/cli-1.1.3-tbnf15hh.mjs +2 -0
- package/dist/chunks/cli-1.1.3-trr6cmmr.mjs +2 -0
- package/dist/chunks/cli-1.1.3-v2tjwmbp.mjs +5 -0
- package/dist/chunks/cli-1.1.3-v32wjr75.mjs +5 -0
- package/dist/chunks/cli-1.1.3-v35td7vm.mjs +2 -0
- package/dist/chunks/cli-1.1.3-v5ceeb5d.mjs +6 -0
- package/dist/chunks/cli-1.1.3-vbsx7ezp.mjs +7 -0
- package/dist/chunks/cli-1.1.3-vmmx1en5.mjs +2 -0
- package/dist/chunks/cli-1.1.3-vnwxm9wr.mjs +2 -0
- package/dist/chunks/cli-1.1.3-vy745mt9.mjs +2 -0
- package/dist/chunks/cli-1.1.3-w64jkj6r.mjs +2 -0
- package/dist/chunks/cli-1.1.3-wb3qve9j.mjs +2 -0
- package/dist/chunks/cli-1.1.3-wd2xqmmr.mjs +2 -0
- package/dist/chunks/cli-1.1.3-wnmbr0xp.mjs +2 -0
- package/dist/chunks/cli-1.1.3-wpkhmx2n.mjs +34 -0
- package/dist/chunks/cli-1.1.3-wrfkmhf7.mjs +2 -0
- package/dist/chunks/cli-1.1.3-x42n0xaw.mjs +133 -0
- package/dist/chunks/cli-1.1.3-x86k4av4.mjs +2 -0
- package/dist/chunks/cli-1.1.3-xdkzmwps.mjs +4 -0
- package/dist/chunks/cli-1.1.3-xdx3kmb4.mjs +2 -0
- package/dist/chunks/cli-1.1.3-xkvherr0.mjs +2 -0
- package/dist/chunks/cli-1.1.3-xs1sydv3.mjs +2 -0
- package/dist/chunks/cli-1.1.3-xvbcvemx.mjs +18 -0
- package/dist/chunks/cli-1.1.3-xwh6kwee.mjs +2 -0
- package/dist/chunks/cli-1.1.3-y50zzrst.mjs +3 -0
- package/dist/chunks/cli-1.1.3-yaa47h2d.mjs +2 -0
- package/dist/chunks/cli-1.1.3-ymajywr8.mjs +2 -0
- package/dist/chunks/cli-1.1.3-yxab9ewb.mjs +2 -0
- package/dist/chunks/cli-1.1.3-z2zjezjw.mjs +2 -0
- package/dist/chunks/cli-1.1.3-z57276ym.mjs +8 -0
- package/dist/chunks/cli-1.1.3-zdr6e0yt.mjs +2 -0
- package/dist/chunks/cli-1.1.3-zg0yshsb.mjs +16 -0
- package/dist/chunks/cli-1.1.3-zpzzcahe.mjs +133 -0
- package/dist/chunks/cli-1.1.3-zw8vt024.mjs +2 -0
- package/dist/chunks/client-1.1.3-xm226xj6.mjs +1 -0
- package/dist/chunks/color-1.1.3-8ab65cjs.mjs +1 -0
- package/dist/chunks/compact-1.1.3-hcapbx0q.mjs +3 -0
- package/dist/chunks/config-1.1.3-g43dtaxy.mjs +1 -0
- package/dist/chunks/config-1.1.3-wb6deh5d.mjs +1 -0
- package/dist/chunks/constants-1.1.3-3b936cvz.mjs +1 -0
- package/dist/chunks/context-1.1.3-xvy8khnx.mjs +1 -0
- package/dist/chunks/context-noninteractive-1.1.3-dmzhbz2k.mjs +1 -0
- package/dist/chunks/conversation-1.1.3-hrdt4vvs.mjs +1 -0
- package/dist/chunks/copilotHeaders-1.1.3-2j9metc4.mjs +1 -0
- package/dist/chunks/copy-1.1.3-2d905bsm.mjs +9 -0
- package/dist/chunks/cost-1.1.3-z4msw06f.mjs +1 -0
- package/dist/chunks/createSSHSession-1.1.3-xq7rb9ae.mjs +1 -0
- package/dist/chunks/createSession-1.1.3-t81dkj2y.mjs +1 -0
- package/dist/chunks/debug-1.1.3-3bkwy7n0.mjs +1 -0
- package/dist/chunks/defaultActionDeps-1.1.3-hvw12khs.mjs +1446 -0
- package/dist/chunks/desktop-1.1.3-bxb4ht8y.mjs +1 -0
- package/dist/chunks/detectRepository-1.1.3-38e9bq6c.mjs +1 -0
- package/dist/chunks/detection-1.1.3-w4ezq6bb.mjs +1 -0
- package/dist/chunks/diff-1.1.3-fjz0ec55.mjs +1 -0
- package/dist/chunks/doctor-1.1.3-9wwq26y8.mjs +1 -0
- package/dist/chunks/doctorDiagnostic-1.1.3-9abfp9t6.mjs +1 -0
- package/dist/chunks/earlyInput-1.1.3-d2cs4fwc.mjs +1 -0
- package/dist/chunks/effort-1.1.3-j0n7czrz.mjs +13 -0
- package/dist/chunks/engine-1.1.3-pr4qnwy3.mjs +1 -0
- package/dist/chunks/envLessBridgeConfig-1.1.3-wc95rk7b.mjs +1 -0
- package/dist/chunks/envUtils-1.1.3-5tct25a9.mjs +1 -0
- package/dist/chunks/environmentSelection-1.1.3-qtqtxdf3.mjs +1 -0
- package/dist/chunks/environments-1.1.3-4yp11kx1.mjs +1 -0
- package/dist/chunks/errors-1.1.3-839qw7sv.mjs +1 -0
- package/dist/chunks/exampleCommands-1.1.3-7xyshaxw.mjs +1 -0
- package/dist/chunks/execFileNoThrow-1.1.3-mq74sze8.mjs +1 -0
- package/dist/chunks/exit-1.1.3-rhdfh4z2.mjs +1 -0
- package/dist/chunks/explorer-1.1.3-qp41d17d.mjs +1 -0
- package/dist/chunks/export-1.1.3-h7nhy37k.mjs +2 -0
- package/dist/chunks/extra-usage-1.1.3-x22bxhyr.mjs +1 -0
- package/dist/chunks/extra-usage-noninteractive-1.1.3-9b1pnfdq.mjs +1 -0
- package/dist/chunks/fast-1.1.3-zpw1g4fr.mjs +1 -0
- package/dist/chunks/feedback-1.1.3-ak2cw09m.mjs +14 -0
- package/dist/chunks/firstPartyEventLogger-1.1.3-3ma1a2a5.mjs +1 -0
- package/dist/chunks/git-1.1.3-5v2874t5.mjs +1 -0
- package/dist/chunks/githubModelsCredentials-1.1.3-cbegmxdf.mjs +1 -0
- package/dist/chunks/goal-1.1.3-20rnxcrw.mjs +4 -0
- package/dist/chunks/grove-1.1.3-txbghpb5.mjs +1 -0
- package/dist/chunks/growthbook-1.1.3-78e8e871.mjs +1 -0
- package/dist/chunks/headless-1.1.3-93ardmg6.mjs +2 -0
- package/dist/chunks/heapdump-1.1.3-hvdttsk2.mjs +6 -0
- package/dist/chunks/help-1.1.3-v94jvsxq.mjs +1 -0
- package/dist/chunks/hookChains-1.1.3-9ma5vjz9.mjs +3 -0
- package/dist/chunks/hooks-1.1.3-my305rqa.mjs +1 -0
- package/dist/chunks/hooks-1.1.3-qnjv2ceq.mjs +79 -0
- package/dist/chunks/ide-1.1.3-0b6tx1fn.mjs +3 -0
- package/dist/chunks/image-processor-napi-1.1.3-e0yr3jf6.mjs +1 -0
- package/dist/chunks/inboundAttachments-1.1.3-1xk4z18x.mjs +1 -0
- package/dist/chunks/index-1.1.3-05dj3vyn.mjs +1 -0
- package/dist/chunks/index-1.1.3-0xj4kyd8.mjs +1 -0
- package/dist/chunks/index-1.1.3-3jppvcra.mjs +2 -0
- package/dist/chunks/index-1.1.3-3vd48szb.mjs +30 -0
- package/dist/chunks/index-1.1.3-40fcsdhn.mjs +1 -0
- package/dist/chunks/index-1.1.3-6jjz6ctb.mjs +1 -0
- package/dist/chunks/index-1.1.3-70e6zr9d.mjs +1 -0
- package/dist/chunks/index-1.1.3-a1hhr2m3.mjs +9 -0
- package/dist/chunks/index-1.1.3-cqhk9amz.mjs +1 -0
- package/dist/chunks/index-1.1.3-ey0w9snc.mjs +1 -0
- package/dist/chunks/index-1.1.3-hvbtn9kp.mjs +1 -0
- package/dist/chunks/index-1.1.3-k6y0hd0p.mjs +9 -0
- package/dist/chunks/index-1.1.3-n02hxa0w.mjs +1 -0
- package/dist/chunks/index-1.1.3-nr5wza2c.mjs +1 -0
- package/dist/chunks/index-1.1.3-r28aemv7.mjs +1 -0
- package/dist/chunks/index-1.1.3-rhcxh4xp.mjs +1 -0
- package/dist/chunks/index-1.1.3-t1h4z32w.mjs +2 -0
- package/dist/chunks/index-1.1.3-tnh0vetx.mjs +17 -0
- package/dist/chunks/index-1.1.3-v3bygtqf.mjs +1 -0
- package/dist/chunks/index-1.1.3-vzk1g7qa.mjs +1 -0
- package/dist/chunks/index-1.1.3-wnr572f2.mjs +5 -0
- package/dist/chunks/index-1.1.3-ww7fhvcj.mjs +1 -0
- package/dist/chunks/index-1.1.3-yj99jfkc.mjs +1 -0
- package/dist/chunks/init-1.1.3-9tpzjm03.mjs +1 -0
- package/dist/chunks/initReplBridge-1.1.3-9qbyncbf.mjs +1 -0
- package/dist/chunks/ink-1.1.3-hdvkkyj6.mjs +1 -0
- package/dist/chunks/insights-1.1.3-5zza0gsp.mjs +870 -0
- package/dist/chunks/install-1.1.3-10xet3fs.mjs +1 -0
- package/dist/chunks/install-github-app-1.1.3-zw78ccj9.mjs +149 -0
- package/dist/chunks/install-slack-app-1.1.3-9tftq49n.mjs +1 -0
- package/dist/chunks/instrumentation-1.1.3-cpa9f6b5.mjs +1 -0
- package/dist/chunks/interactiveHelpers-1.1.3-agbgadm7.mjs +1 -0
- package/dist/chunks/keybindings-1.1.3-13kdt9tg.mjs +2 -0
- package/dist/chunks/knowledge-1.1.3-gp9qcrrs.mjs +2 -0
- package/dist/chunks/latestVersionCache-1.1.3-kgy1wyv0.mjs +1 -0
- package/dist/chunks/loadAgentsDir-1.1.3-75zjfd3k.mjs +1 -0
- package/dist/chunks/loadPluginHooks-1.1.3-7wwgb03c.mjs +1 -0
- package/dist/chunks/loadPluginHooks-1.1.3-jfmwjb98.mjs +1 -0
- package/dist/chunks/log-1.1.3-9zqwe1w7.mjs +1 -0
- package/dist/chunks/main-1.1.3-jhjmcs48.mjs +1 -0
- package/dist/chunks/managedEnv-1.1.3-t9w50rpt.mjs +1 -0
- package/dist/chunks/mcp-1.1.3-207rw6m3.mjs +1 -0
- package/dist/chunks/mcp-1.1.3-kd4j31we.mjs +17 -0
- package/dist/chunks/mcp-1.1.3-kws6bzpc.mjs +4 -0
- package/dist/chunks/mcpb-1.1.3-f30fv87k.mjs +1 -0
- package/dist/chunks/memory-1.1.3-r9sjskzv.mjs +72 -0
- package/dist/chunks/model-1.1.3-6bjss6ed.mjs +1 -0
- package/dist/chunks/model-1.1.3-vsqw9dyb.mjs +2 -0
- package/dist/chunks/node-1.1.3-rsp1nxjt.mjs +12 -0
- package/dist/chunks/oauth-1.1.3-enrprjzc.mjs +1 -0
- package/dist/chunks/openaiShim-1.1.3-f5dhxmdz.mjs +14 -0
- package/dist/chunks/output-style-1.1.3-z351smrw.mjs +1 -0
- package/dist/chunks/package-2VNCXFNY-1.1.3-d53d5n86.mjs +1 -0
- package/dist/chunks/parseConnectUrl-1.1.3-bqm4rp08.mjs +1 -0
- package/dist/chunks/parser-1.1.3-eyj95pq4.mjs +1 -0
- package/dist/chunks/passes-1.1.3-0a11epnb.mjs +1 -0
- package/dist/chunks/permissions-1.1.3-eegvrpq9.mjs +3 -0
- package/dist/chunks/permissions-1.1.3-pypjshjc.mjs +1 -0
- package/dist/chunks/plan-1.1.3-3kcm7qd3.mjs +1 -0
- package/dist/chunks/plist-1.1.3-nwtjgx23.mjs +1 -0
- package/dist/chunks/plugin-1.1.3-nmwsekb7.mjs +29 -0
- package/dist/chunks/pluginStartupCheck-1.1.3-r2gw8rs8.mjs +1 -0
- package/dist/chunks/plugins-1.1.3-8kpaagz8.mjs +9 -0
- package/dist/chunks/preActionHook-1.1.3-bxphk64e.mjs +2 -0
- package/dist/chunks/print-1.1.3-gm79pshf.mjs +57 -0
- package/dist/chunks/privacy-settings-1.1.3-sd4vzmf5.mjs +1 -0
- package/dist/chunks/process-1.1.3-01ryma15.mjs +1 -0
- package/dist/chunks/processBashCommand-1.1.3-qatq374q.mjs +1 -0
- package/dist/chunks/processSlashCommand-1.1.3-g45j16m5.mjs +9 -0
- package/dist/chunks/prompt-1.1.3-6m7zdbwt.mjs +1 -0
- package/dist/chunks/prompt-1.1.3-bxzv3knp.mjs +1 -0
- package/dist/chunks/prompts-1.1.3-da4jzheb.mjs +1 -0
- package/dist/chunks/protocolHandler-1.1.3-8efrcbr5.mjs +13 -0
- package/dist/chunks/provider-1.1.3-jk006gs1.mjs +2 -0
- package/dist/chunks/providerProfiles-1.1.3-7czyj40k.mjs +1 -0
- package/dist/chunks/providerValidation-1.1.3-099qkvzg.mjs +6 -0
- package/dist/chunks/rate-limit-options-1.1.3-4y4ya1ax.mjs +1 -0
- package/dist/chunks/registerSubcommands-1.1.3-59f6nvsp.mjs +34 -0
- package/dist/chunks/registry-1.1.3-8dqn0waj.mjs +1 -0
- package/dist/chunks/release-notes-1.1.3-smjt1xpb.mjs +5 -0
- package/dist/chunks/reload-plugins-1.1.3-ry02kg4r.mjs +2 -0
- package/dist/chunks/remote-env-1.1.3-ypt8cj78.mjs +1 -0
- package/dist/chunks/remoteBridgeCore-1.1.3-e0q527yd.mjs +1 -0
- package/dist/chunks/remoteSession-1.1.3-99dcc6yz.mjs +1 -0
- package/dist/chunks/rename-1.1.3-z8ht01vn.mjs +1 -0
- package/dist/chunks/replBridgeHandle-1.1.3-9ajh2zsz.mjs +1 -0
- package/dist/chunks/replLauncher-1.1.3-phft6q3m.mjs +1 -0
- package/dist/chunks/resume-1.1.3-ryb53bar.mjs +2 -0
- package/dist/chunks/rewind-1.1.3-yc7kmt10.mjs +1 -0
- package/dist/chunks/rootOptions-1.1.3-21mvhhbz.mjs +1 -0
- package/dist/chunks/runWorkflowHeadless-1.1.3-c5x1xygs.mjs +10 -0
- package/dist/chunks/sandbox-adapter-1.1.3-qaxp436e.mjs +1 -0
- package/dist/chunks/sandbox-toggle-1.1.3-yd6gnwq0.mjs +1 -0
- package/dist/chunks/session-1.1.3-d6bcmdqc.mjs +2 -0
- package/dist/chunks/sessionDiscovery-1.1.3-yengby74.mjs +1 -0
- package/dist/chunks/sessionFileAccessHooks-1.1.3-z5h2mh2d.mjs +1 -0
- package/dist/chunks/sessionStorage-1.1.3-g2087x3k.mjs +1 -0
- package/dist/chunks/settings-1.1.3-kdw73w2n.mjs +1 -0
- package/dist/chunks/setup-1.1.3-6x82pe5r.mjs +5 -0
- package/dist/chunks/sinks-1.1.3-bnwaz6jy.mjs +1 -0
- package/dist/chunks/skills-1.1.3-xzvzszw5.mjs +1 -0
- package/dist/chunks/startupProfiler-1.1.3-vmfrefxy.mjs +1 -0
- package/dist/chunks/startupUpdateCheck-1.1.3-xnsmptgv.mjs +1 -0
- package/dist/chunks/state-1.1.3-9qvv8c8a.mjs +1 -0
- package/dist/chunks/stats-1.1.3-xkfhs48y.mjs +6 -0
- package/dist/chunks/status-1.1.3-bkvdfpf2.mjs +1 -0
- package/dist/chunks/stickers-1.1.3-tdyragdz.mjs +1 -0
- package/dist/chunks/subprocessEnv-1.1.3-bnpw017t.mjs +1 -0
- package/dist/chunks/tasks-1.1.3-3jnhmrad.mjs +1 -0
- package/dist/chunks/teamHelpers-1.1.3-3rhp7h7y.mjs +1 -0
- package/dist/chunks/teammateModeSnapshot-1.1.3-sjhagf52.mjs +1 -0
- package/dist/chunks/teleport-1.1.3-0qc9xkzf.mjs +1 -0
- package/dist/chunks/terminalSetup-1.1.3-r9zefqyy.mjs +1 -0
- package/dist/chunks/theme-1.1.3-ygj5ahxz.mjs +1 -0
- package/dist/chunks/thinkback-1.1.3-692khvzr.mjs +1 -0
- package/dist/chunks/thinkback-play-1.1.3-ebnc9f7w.mjs +1 -0
- package/dist/chunks/toolPool-1.1.3-9tmyh9kx.mjs +1 -0
- package/dist/chunks/toolSearch-1.1.3-dt6xjx6s.mjs +1 -0
- package/dist/chunks/tools-1.1.3-qg2w37bw.mjs +1 -0
- package/dist/chunks/trustedDevice-1.1.3-nt2dpn34.mjs +1 -0
- package/dist/chunks/turndown.cjs-1.1.3-vky94jfh.mjs +69 -0
- package/dist/chunks/types-1.1.3-h2n5wzra.mjs +1 -0
- package/dist/chunks/ultrareviewCommand-1.1.3-j3a7dzxc.mjs +4 -0
- package/dist/chunks/update-1.1.3-ypnffaj9.mjs +72 -0
- package/dist/chunks/upgrade-1.1.3-zgwkz8e1.mjs +1 -0
- package/dist/chunks/upload-1.1.3-z9452eam.mjs +7 -0
- package/dist/chunks/upstreamproxy-1.1.3-qv2f69gf.mjs +14 -0
- package/dist/chunks/url-handler-napi-1.1.3-t5z79vre.mjs +1 -0
- package/dist/chunks/usage-1.1.3-qhz8fs40.mjs +1 -0
- package/dist/chunks/util-1.1.3-xj9x5fyp.mjs +1 -0
- package/dist/chunks/utils-1.1.3-0rv54nxw.mjs +1 -0
- package/dist/chunks/vim-1.1.3-7ka37gbw.mjs +1 -0
- package/dist/chunks/watchLoop-1.1.3-gfvkcgdc.mjs +13 -0
- package/dist/chunks/watcher-1.1.3-g46sx9g8.mjs +1 -0
- package/dist/chunks/wiki-1.1.3-e72sp9z3.mjs +132 -0
- package/dist/chunks/workflows-1.1.3-1ahbfzb6.mjs +1 -0
- package/dist/chunks/worktree-1.1.3-e2ht6w6r.mjs +1 -0
- package/dist/chunks/worktreeModeEnabled-1.1.3-r91kaqdc.mjs +1 -0
- package/dist/chunks/wrapper-1.1.3-7dpd8b9v.mjs +7 -0
- package/dist/cli.mjs +2 -2
- package/package.json +9 -9
- package/dist/chunks/AgentTool-1.1.2-6zb8pht6.mjs +0 -1
- package/dist/chunks/App-1.1.2-8j8hmwy9.mjs +0 -1
- package/dist/chunks/ApproveApiKey-1.1.2-ejb1881w.mjs +0 -1
- package/dist/chunks/AssistantSessionChooser-1.1.2-y7hdgasp.mjs +0 -1
- package/dist/chunks/AutoModeOptInDialog-1.1.2-b2ckdy5h.mjs +0 -1
- package/dist/chunks/BypassPermissionsModeDialog-1.1.2-nk59yp5m.mjs +0 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.1.2-t6wsf59z.mjs +0 -1
- package/dist/chunks/ConsoleOAuthFlow-1.1.2-ehy8cjkp.mjs +0 -1
- package/dist/chunks/DiffDialog-1.1.2-2834m4pm.mjs +0 -7
- package/dist/chunks/Doctor-1.1.2-rrjcjsbd.mjs +0 -1
- package/dist/chunks/ExplorerDialog-1.1.2-a4eqp58y.mjs +0 -6
- package/dist/chunks/Grove-1.1.2-e07ta9pa.mjs +0 -1
- package/dist/chunks/ITermBackend-1.1.2-mdqpkv6t.mjs +0 -1
- package/dist/chunks/InvalidConfigDialog-1.1.2-fwghx005.mjs +0 -1
- package/dist/chunks/InvalidSettingsDialog-1.1.2-47vmakv0.mjs +0 -1
- package/dist/chunks/MigrationDialog-1.1.2-tphw5gq9.mjs +0 -1
- package/dist/chunks/Onboarding-1.1.2-a645a6a2.mjs +0 -1
- package/dist/chunks/ProviderManager-1.1.2-48xvht72.mjs +0 -1
- package/dist/chunks/REPL-1.1.2-a2z2r0kz.mjs +0 -1
- package/dist/chunks/ResumeConversation-1.1.2-avb3zbsn.mjs +0 -1
- package/dist/chunks/SnapshotUpdateDialog-1.1.2-r8c624d9.mjs +0 -1
- package/dist/chunks/TeleportProgress-1.1.2-1mmfypbv.mjs +0 -1
- package/dist/chunks/TeleportRepoMismatchDialog-1.1.2-ky4az8t9.mjs +0 -1
- package/dist/chunks/TeleportResumeWrapper-1.1.2-w72b36j1.mjs +0 -1
- package/dist/chunks/TmuxBackend-1.1.2-ejx4rvac.mjs +0 -9
- package/dist/chunks/ToolSearchTool-1.1.2-5m2ekdy4.mjs +0 -1
- package/dist/chunks/TrustDialog-1.1.2-b7q0fb2j.mjs +0 -1
- package/dist/chunks/activeProvider-1.1.2-j0pztex4.mjs +0 -1
- package/dist/chunks/add-dir-1.1.2-fzpmgh1h.mjs +0 -1
- package/dist/chunks/agentTypes-1.1.2-vr9770fz.mjs +0 -1
- package/dist/chunks/agents-1.1.2-n6dejn00.mjs +0 -3
- package/dist/chunks/agents-1.1.2-rxkey856.mjs +0 -110
- package/dist/chunks/api-1.1.2-fpd74byc.mjs +0 -1
- package/dist/chunks/asciicast-1.1.2-0nvcvhqa.mjs +0 -1
- package/dist/chunks/assistant-1.1.2-ywzgwzmt.mjs +0 -1
- package/dist/chunks/auth-1.1.2-cg0svgv7.mjs +0 -1
- package/dist/chunks/auth-1.1.2-s45hhsck.mjs +0 -1
- package/dist/chunks/autoMode-1.1.2-6q0pp71h.mjs +0 -48
- package/dist/chunks/autoUpdater-1.1.2-bnwzvzbf.mjs +0 -1
- package/dist/chunks/backgroundHousekeeping-1.1.2-meh5zm3k.mjs +0 -1
- package/dist/chunks/branch-1.1.2-exyc66rb.mjs +0 -4
- package/dist/chunks/bridge-1.1.2-zvk3eymq.mjs +0 -2
- package/dist/chunks/bridgeConfig-1.1.2-mr20ypjr.mjs +0 -1
- package/dist/chunks/bridgeEnabled-1.1.2-s41251vp.mjs +0 -1
- package/dist/chunks/bridgeMain-1.1.2-tse9m0x8.mjs +0 -88
- package/dist/chunks/bridgePointer-1.1.2-grjrm008.mjs +0 -1
- package/dist/chunks/btw-1.1.2-6xz6s5f3.mjs +0 -1
- package/dist/chunks/buddy-1.1.2-zsy6mntg.mjs +0 -3
- package/dist/chunks/cacache-1.1.2-pr00fyac.mjs +0 -1
- package/dist/chunks/cache-probe-1.1.2-dd1ch184.mjs +0 -21
- package/dist/chunks/cacheStats-1.1.2-xnm7ts60.mjs +0 -4
- package/dist/chunks/caches-1.1.2-s4tektt8.mjs +0 -1
- package/dist/chunks/claudeDesktop-1.1.2-krejmvza.mjs +0 -1
- package/dist/chunks/claudemd-1.1.2-g1dwsxtx.mjs +0 -1
- package/dist/chunks/clear-1.1.2-5fz98qqy.mjs +0 -1
- package/dist/chunks/clearTerminal-1.1.2-heqmh2ay.mjs +0 -1
- package/dist/chunks/cli-1.1.2-00hggnnf.mjs +0 -9
- package/dist/chunks/cli-1.1.2-06gbqkw3.mjs +0 -2
- package/dist/chunks/cli-1.1.2-06wg9ep0.mjs +0 -2
- package/dist/chunks/cli-1.1.2-0q8k3447.mjs +0 -2
- package/dist/chunks/cli-1.1.2-12xajsdg.mjs +0 -2
- package/dist/chunks/cli-1.1.2-1a35rnqk.mjs +0 -2
- package/dist/chunks/cli-1.1.2-1kqxt2v2.mjs +0 -2
- package/dist/chunks/cli-1.1.2-1rh7zj2h.mjs +0 -133
- package/dist/chunks/cli-1.1.2-1v80dsr5.mjs +0 -2
- package/dist/chunks/cli-1.1.2-1z8yre0p.mjs +0 -2
- package/dist/chunks/cli-1.1.2-22w1aakd.mjs +0 -17
- package/dist/chunks/cli-1.1.2-26xrf159.mjs +0 -2
- package/dist/chunks/cli-1.1.2-2d3dw4nn.mjs +0 -25
- package/dist/chunks/cli-1.1.2-2rf4g79b.mjs +0 -3
- package/dist/chunks/cli-1.1.2-2vzy6fgr.mjs +0 -4
- package/dist/chunks/cli-1.1.2-2x9dcdpq.mjs +0 -2
- package/dist/chunks/cli-1.1.2-2ya2s94w.mjs +0 -15
- package/dist/chunks/cli-1.1.2-2ygaa01s.mjs +0 -3
- package/dist/chunks/cli-1.1.2-312r29db.mjs +0 -2
- package/dist/chunks/cli-1.1.2-38rgkyw3.mjs +0 -2
- package/dist/chunks/cli-1.1.2-39xjjhsf.mjs +0 -24
- package/dist/chunks/cli-1.1.2-3mhsnff4.mjs +0 -2
- package/dist/chunks/cli-1.1.2-3mpy81rn.mjs +0 -2
- package/dist/chunks/cli-1.1.2-3v91jtm9.mjs +0 -2
- package/dist/chunks/cli-1.1.2-3vhc8676.mjs +0 -2
- package/dist/chunks/cli-1.1.2-3w0nbdtc.mjs +0 -2
- package/dist/chunks/cli-1.1.2-45nwkmpy.mjs +0 -2
- package/dist/chunks/cli-1.1.2-4d1hhyqs.mjs +0 -2
- package/dist/chunks/cli-1.1.2-4e3xrjth.mjs +0 -2
- package/dist/chunks/cli-1.1.2-4skhxaf4.mjs +0 -6
- package/dist/chunks/cli-1.1.2-4x5wz1xq.mjs +0 -67
- package/dist/chunks/cli-1.1.2-51pdt76x.mjs +0 -2
- package/dist/chunks/cli-1.1.2-526csky8.mjs +0 -2
- package/dist/chunks/cli-1.1.2-5dbzz1pp.mjs +0 -12
- package/dist/chunks/cli-1.1.2-5pe3b93k.mjs +0 -25
- package/dist/chunks/cli-1.1.2-5w2m33hk.mjs +0 -2
- package/dist/chunks/cli-1.1.2-5wfgzqgc.mjs +0 -2
- package/dist/chunks/cli-1.1.2-61nmeckv.mjs +0 -4
- package/dist/chunks/cli-1.1.2-63p3yvzk.mjs +0 -2
- package/dist/chunks/cli-1.1.2-64bjkwj9.mjs +0 -2
- package/dist/chunks/cli-1.1.2-6cj9ggma.mjs +0 -5638
- package/dist/chunks/cli-1.1.2-6kq0hmvj.mjs +0 -2
- package/dist/chunks/cli-1.1.2-6r2ybktd.mjs +0 -18
- package/dist/chunks/cli-1.1.2-79hm6s3a.mjs +0 -7
- package/dist/chunks/cli-1.1.2-7fe75jd9.mjs +0 -2
- package/dist/chunks/cli-1.1.2-7fjx7f8d.mjs +0 -2
- package/dist/chunks/cli-1.1.2-7jcscwh5.mjs +0 -2
- package/dist/chunks/cli-1.1.2-7m5zhsrs.mjs +0 -2
- package/dist/chunks/cli-1.1.2-7q8cqbtc.mjs +0 -2
- package/dist/chunks/cli-1.1.2-7swa79jc.mjs +0 -24
- package/dist/chunks/cli-1.1.2-7xwayv2p.mjs +0 -20
- package/dist/chunks/cli-1.1.2-8d3m4zhf.mjs +0 -2
- package/dist/chunks/cli-1.1.2-8fsex5c8.mjs +0 -2
- package/dist/chunks/cli-1.1.2-8trsbckp.mjs +0 -2
- package/dist/chunks/cli-1.1.2-8wc2wcne.mjs +0 -3
- package/dist/chunks/cli-1.1.2-94nsdbgk.mjs +0 -2
- package/dist/chunks/cli-1.1.2-96wg2gfk.mjs +0 -2
- package/dist/chunks/cli-1.1.2-99rcxvch.mjs +0 -2
- package/dist/chunks/cli-1.1.2-9ash84j3.mjs +0 -2
- package/dist/chunks/cli-1.1.2-9ke8m3ex.mjs +0 -2
- package/dist/chunks/cli-1.1.2-9rh5p8p5.mjs +0 -2
- package/dist/chunks/cli-1.1.2-a69xymn7.mjs +0 -2
- package/dist/chunks/cli-1.1.2-a9n9p929.mjs +0 -2
- package/dist/chunks/cli-1.1.2-aav0ncfm.mjs +0 -2
- package/dist/chunks/cli-1.1.2-ad1q4yds.mjs +0 -4
- package/dist/chunks/cli-1.1.2-aq3e6kg7.mjs +0 -2
- package/dist/chunks/cli-1.1.2-ax711ayq.mjs +0 -2
- package/dist/chunks/cli-1.1.2-b850wzhk.mjs +0 -2
- package/dist/chunks/cli-1.1.2-b9tdyfz3.mjs +0 -21
- package/dist/chunks/cli-1.1.2-bhjzjkag.mjs +0 -4
- package/dist/chunks/cli-1.1.2-bvvn3mfz.mjs +0 -2
- package/dist/chunks/cli-1.1.2-cs3wpy5m.mjs +0 -2
- package/dist/chunks/cli-1.1.2-d0dmaqaz.mjs +0 -2
- package/dist/chunks/cli-1.1.2-d3vc56eg.mjs +0 -4
- package/dist/chunks/cli-1.1.2-d9r7gv39.mjs +0 -2
- package/dist/chunks/cli-1.1.2-dg1134n2.mjs +0 -2
- package/dist/chunks/cli-1.1.2-dgw89jzs.mjs +0 -4
- package/dist/chunks/cli-1.1.2-e9bnprf3.mjs +0 -2
- package/dist/chunks/cli-1.1.2-efe0402v.mjs +0 -2
- package/dist/chunks/cli-1.1.2-em7hye78.mjs +0 -4
- package/dist/chunks/cli-1.1.2-eqyyfzzp.mjs +0 -2
- package/dist/chunks/cli-1.1.2-evsw8rmv.mjs +0 -2
- package/dist/chunks/cli-1.1.2-f5bj8nyg.mjs +0 -2
- package/dist/chunks/cli-1.1.2-f8pc3h46.mjs +0 -16
- package/dist/chunks/cli-1.1.2-fcjvcn8t.mjs +0 -2
- package/dist/chunks/cli-1.1.2-fmrgtbj6.mjs +0 -2
- package/dist/chunks/cli-1.1.2-fnfay3zd.mjs +0 -2
- package/dist/chunks/cli-1.1.2-fnp913tz.mjs +0 -2
- package/dist/chunks/cli-1.1.2-fq7w78vq.mjs +0 -2
- package/dist/chunks/cli-1.1.2-fs1t9yw3.mjs +0 -15
- package/dist/chunks/cli-1.1.2-fwcddg2k.mjs +0 -3
- package/dist/chunks/cli-1.1.2-g3dcz46h.mjs +0 -2
- package/dist/chunks/cli-1.1.2-g3ms995y.mjs +0 -2
- package/dist/chunks/cli-1.1.2-g9cs3fkf.mjs +0 -24
- package/dist/chunks/cli-1.1.2-gb52rdfa.mjs +0 -2
- package/dist/chunks/cli-1.1.2-gb58q1j1.mjs +0 -2
- package/dist/chunks/cli-1.1.2-gdcv810d.mjs +0 -2
- package/dist/chunks/cli-1.1.2-gqdaxfvm.mjs +0 -2
- package/dist/chunks/cli-1.1.2-gtjv8yhc.mjs +0 -2
- package/dist/chunks/cli-1.1.2-gvwc8kmd.mjs +0 -6
- package/dist/chunks/cli-1.1.2-gws9nr18.mjs +0 -9
- package/dist/chunks/cli-1.1.2-gxzwceae.mjs +0 -2
- package/dist/chunks/cli-1.1.2-gy0p2qqf.mjs +0 -4
- package/dist/chunks/cli-1.1.2-h2avr3ya.mjs +0 -2
- package/dist/chunks/cli-1.1.2-h9csstnw.mjs +0 -2
- package/dist/chunks/cli-1.1.2-hpx774ph.mjs +0 -3
- package/dist/chunks/cli-1.1.2-hzaqg545.mjs +0 -17
- package/dist/chunks/cli-1.1.2-j9n5qd1w.mjs +0 -2
- package/dist/chunks/cli-1.1.2-jpgqkhxd.mjs +0 -59
- package/dist/chunks/cli-1.1.2-js4s7tq5.mjs +0 -2
- package/dist/chunks/cli-1.1.2-jv9f8r52.mjs +0 -3
- package/dist/chunks/cli-1.1.2-jxkffay4.mjs +0 -2
- package/dist/chunks/cli-1.1.2-k077a0s0.mjs +0 -2
- package/dist/chunks/cli-1.1.2-k3tsqm2p.mjs +0 -2
- package/dist/chunks/cli-1.1.2-k4bpvm06.mjs +0 -2
- package/dist/chunks/cli-1.1.2-k61a86d8.mjs +0 -3
- package/dist/chunks/cli-1.1.2-kahqzzrg.mjs +0 -2
- package/dist/chunks/cli-1.1.2-kav702qr.mjs +0 -2
- package/dist/chunks/cli-1.1.2-kcfzd7n8.mjs +0 -2
- package/dist/chunks/cli-1.1.2-kkgf4hyc.mjs +0 -3
- package/dist/chunks/cli-1.1.2-kq402xqd.mjs +0 -2
- package/dist/chunks/cli-1.1.2-m0529q09.mjs +0 -45
- package/dist/chunks/cli-1.1.2-m2ar3b2y.mjs +0 -18
- package/dist/chunks/cli-1.1.2-m4ksha3b.mjs +0 -2
- package/dist/chunks/cli-1.1.2-m7d5acdw.mjs +0 -2
- package/dist/chunks/cli-1.1.2-ma8mh6tb.mjs +0 -2
- package/dist/chunks/cli-1.1.2-mnp59g5q.mjs +0 -12
- package/dist/chunks/cli-1.1.2-mr55880g.mjs +0 -2
- package/dist/chunks/cli-1.1.2-mtztdv5m.mjs +0 -2
- package/dist/chunks/cli-1.1.2-n2f8jkwd.mjs +0 -2
- package/dist/chunks/cli-1.1.2-n2k1y1rv.mjs +0 -2
- package/dist/chunks/cli-1.1.2-nd5g2z1v.mjs +0 -2
- package/dist/chunks/cli-1.1.2-nskkg1h5.mjs +0 -5
- package/dist/chunks/cli-1.1.2-p8amxd73.mjs +0 -4
- package/dist/chunks/cli-1.1.2-pbtymf0g.mjs +0 -2
- package/dist/chunks/cli-1.1.2-pgt1vydc.mjs +0 -2
- package/dist/chunks/cli-1.1.2-qg5xbb38.mjs +0 -2
- package/dist/chunks/cli-1.1.2-qge4zbeg.mjs +0 -2
- package/dist/chunks/cli-1.1.2-qm56km1n.mjs +0 -4
- package/dist/chunks/cli-1.1.2-qxjs641v.mjs +0 -2
- package/dist/chunks/cli-1.1.2-r32per66.mjs +0 -2
- package/dist/chunks/cli-1.1.2-r39g5zy8.mjs +0 -2
- package/dist/chunks/cli-1.1.2-re4qc97z.mjs +0 -6
- package/dist/chunks/cli-1.1.2-rm27fqp7.mjs +0 -2
- package/dist/chunks/cli-1.1.2-rp3kb2k1.mjs +0 -2
- package/dist/chunks/cli-1.1.2-rwfksv3e.mjs +0 -8
- package/dist/chunks/cli-1.1.2-rx0kctyq.mjs +0 -15
- package/dist/chunks/cli-1.1.2-ryw7gagg.mjs +0 -2
- package/dist/chunks/cli-1.1.2-s2xde2xb.mjs +0 -2
- package/dist/chunks/cli-1.1.2-s6et33a5.mjs +0 -2
- package/dist/chunks/cli-1.1.2-s76jqr70.mjs +0 -2
- package/dist/chunks/cli-1.1.2-sd7xc4s3.mjs +0 -2
- package/dist/chunks/cli-1.1.2-sdra9y0x.mjs +0 -34
- package/dist/chunks/cli-1.1.2-se3yz188.mjs +0 -2
- package/dist/chunks/cli-1.1.2-sk8gpfnw.mjs +0 -2
- package/dist/chunks/cli-1.1.2-sxp48xhs.mjs +0 -133
- package/dist/chunks/cli-1.1.2-t4aw8heb.mjs +0 -2
- package/dist/chunks/cli-1.1.2-t9knn0qp.mjs +0 -2
- package/dist/chunks/cli-1.1.2-tepjwp3h.mjs +0 -2
- package/dist/chunks/cli-1.1.2-thb8wh7v.mjs +0 -2
- package/dist/chunks/cli-1.1.2-tk5pscqh.mjs +0 -12
- package/dist/chunks/cli-1.1.2-tkr9thek.mjs +0 -6
- package/dist/chunks/cli-1.1.2-tn2dw7tr.mjs +0 -2
- package/dist/chunks/cli-1.1.2-tyx76ya3.mjs +0 -2
- package/dist/chunks/cli-1.1.2-v4dexj9m.mjs +0 -2
- package/dist/chunks/cli-1.1.2-v5aq687d.mjs +0 -4
- package/dist/chunks/cli-1.1.2-vdnvxk7d.mjs +0 -2
- package/dist/chunks/cli-1.1.2-vdtd8tyw.mjs +0 -3
- package/dist/chunks/cli-1.1.2-vedfryrw.mjs +0 -39
- package/dist/chunks/cli-1.1.2-vkw3t6e1.mjs +0 -2
- package/dist/chunks/cli-1.1.2-vn5a5kng.mjs +0 -2
- package/dist/chunks/cli-1.1.2-vqhs2nfg.mjs +0 -2
- package/dist/chunks/cli-1.1.2-w39dxwaq.mjs +0 -5
- package/dist/chunks/cli-1.1.2-w6e54y3j.mjs +0 -2
- package/dist/chunks/cli-1.1.2-wd7anmzt.mjs +0 -2
- package/dist/chunks/cli-1.1.2-wfh9694n.mjs +0 -42
- package/dist/chunks/cli-1.1.2-whyrn26g.mjs +0 -2
- package/dist/chunks/cli-1.1.2-wtjpdxah.mjs +0 -2
- package/dist/chunks/cli-1.1.2-wz2q0wq7.mjs +0 -2
- package/dist/chunks/cli-1.1.2-x6tg8d4f.mjs +0 -58
- package/dist/chunks/cli-1.1.2-x7pdyv4r.mjs +0 -3
- package/dist/chunks/cli-1.1.2-x7qa1qq3.mjs +0 -50
- package/dist/chunks/cli-1.1.2-xbpjh8ph.mjs +0 -2
- package/dist/chunks/cli-1.1.2-xpf1bbmk.mjs +0 -2
- package/dist/chunks/cli-1.1.2-xrfe457w.mjs +0 -2
- package/dist/chunks/cli-1.1.2-y2eet2t4.mjs +0 -2
- package/dist/chunks/cli-1.1.2-y8dhsas4.mjs +0 -12
- package/dist/chunks/cli-1.1.2-yajs5n37.mjs +0 -18
- package/dist/chunks/cli-1.1.2-yh44qbw4.mjs +0 -2
- package/dist/chunks/cli-1.1.2-yj8m159m.mjs +0 -2
- package/dist/chunks/cli-1.1.2-z2m1x4a9.mjs +0 -2
- package/dist/chunks/cli-1.1.2-z31tqg0s.mjs +0 -202
- package/dist/chunks/cli-1.1.2-z56w3mhn.mjs +0 -3
- package/dist/chunks/cli-1.1.2-z7ha6v3f.mjs +0 -2
- package/dist/chunks/cli-1.1.2-ze70ftw0.mjs +0 -1
- package/dist/chunks/cli-1.1.2-zm6bk4ph.mjs +0 -2
- package/dist/chunks/cli-1.1.2-zn8nzq9g.mjs +0 -2
- package/dist/chunks/cli-1.1.2-zv4bhn4s.mjs +0 -6
- package/dist/chunks/cli-1.1.2-zy0pbg7t.mjs +0 -3
- package/dist/chunks/cli-1.1.2-zy7bxchk.mjs +0 -2
- package/dist/chunks/cli-1.1.2-zy8c0mk4.mjs +0 -2
- package/dist/chunks/cli-1.1.2-zzd75gm6.mjs +0 -2
- package/dist/chunks/client-1.1.2-cfb4as3w.mjs +0 -1
- package/dist/chunks/color-1.1.2-1sf55h7k.mjs +0 -1
- package/dist/chunks/compact-1.1.2-dd3f57yj.mjs +0 -3
- package/dist/chunks/config-1.1.2-6bc1gc6c.mjs +0 -1
- package/dist/chunks/config-1.1.2-p9t1wpdw.mjs +0 -1
- package/dist/chunks/constants-1.1.2-tkm4c60r.mjs +0 -1
- package/dist/chunks/context-1.1.2-rw4msk80.mjs +0 -1
- package/dist/chunks/context-noninteractive-1.1.2-c5hbr649.mjs +0 -1
- package/dist/chunks/conversation-1.1.2-h9dvper4.mjs +0 -1
- package/dist/chunks/copilotHeaders-1.1.2-nv81crna.mjs +0 -1
- package/dist/chunks/copy-1.1.2-hr7v2mx9.mjs +0 -9
- package/dist/chunks/cost-1.1.2-hdy89g4q.mjs +0 -1
- package/dist/chunks/createSSHSession-1.1.2-6v2x5eg0.mjs +0 -1
- package/dist/chunks/createSession-1.1.2-ygyb7e8j.mjs +0 -1
- package/dist/chunks/debug-1.1.2-wk2d9rj6.mjs +0 -1
- package/dist/chunks/defaultActionDeps-1.1.2-gjp00h29.mjs +0 -1446
- package/dist/chunks/desktop-1.1.2-egp65wej.mjs +0 -1
- package/dist/chunks/detectRepository-1.1.2-qh9nf9kg.mjs +0 -1
- package/dist/chunks/detection-1.1.2-02zpqkt2.mjs +0 -1
- package/dist/chunks/diff-1.1.2-29snp7ez.mjs +0 -1
- package/dist/chunks/doctor-1.1.2-b321t9z0.mjs +0 -1
- package/dist/chunks/doctorDiagnostic-1.1.2-214xq5kx.mjs +0 -1
- package/dist/chunks/earlyInput-1.1.2-n8b9n8hj.mjs +0 -1
- package/dist/chunks/effort-1.1.2-42pxj2ke.mjs +0 -13
- package/dist/chunks/engine-1.1.2-071c5ycx.mjs +0 -1
- package/dist/chunks/envLessBridgeConfig-1.1.2-90nzxgap.mjs +0 -1
- package/dist/chunks/envUtils-1.1.2-rdsjbb4f.mjs +0 -1
- package/dist/chunks/environmentSelection-1.1.2-eeacbnpj.mjs +0 -1
- package/dist/chunks/environments-1.1.2-e0a09brc.mjs +0 -1
- package/dist/chunks/errors-1.1.2-1fp0w76h.mjs +0 -1
- package/dist/chunks/exampleCommands-1.1.2-prrwcbkh.mjs +0 -1
- package/dist/chunks/execFileNoThrow-1.1.2-61na3ack.mjs +0 -1
- package/dist/chunks/exit-1.1.2-eh7t4pcy.mjs +0 -1
- package/dist/chunks/explorer-1.1.2-7brsg8bj.mjs +0 -1
- package/dist/chunks/export-1.1.2-2m0sfme0.mjs +0 -2
- package/dist/chunks/extra-usage-1.1.2-akf4qvp0.mjs +0 -1
- package/dist/chunks/extra-usage-noninteractive-1.1.2-ysbmggsv.mjs +0 -1
- package/dist/chunks/fast-1.1.2-43wzezv3.mjs +0 -1
- package/dist/chunks/feedback-1.1.2-92k099e0.mjs +0 -14
- package/dist/chunks/firstPartyEventLogger-1.1.2-ksq42qwt.mjs +0 -1
- package/dist/chunks/git-1.1.2-fgm2kpjd.mjs +0 -1
- package/dist/chunks/githubModelsCredentials-1.1.2-vj6dwy2c.mjs +0 -1
- package/dist/chunks/goal-1.1.2-hnd6dfnz.mjs +0 -4
- package/dist/chunks/grove-1.1.2-74zq9th4.mjs +0 -1
- package/dist/chunks/growthbook-1.1.2-x4pfbgm2.mjs +0 -1
- package/dist/chunks/headless-1.1.2-rhab73x2.mjs +0 -2
- package/dist/chunks/heapdump-1.1.2-a698r5c6.mjs +0 -6
- package/dist/chunks/help-1.1.2-er6xvvy0.mjs +0 -1
- package/dist/chunks/hookChains-1.1.2-yh3dmw0j.mjs +0 -3
- package/dist/chunks/hooks-1.1.2-63zxxjj9.mjs +0 -79
- package/dist/chunks/hooks-1.1.2-ez3kc0p2.mjs +0 -1
- package/dist/chunks/ide-1.1.2-je812srr.mjs +0 -3
- package/dist/chunks/image-processor-napi-1.1.2-xe8n5srr.mjs +0 -1
- package/dist/chunks/inboundAttachments-1.1.2-qywwkc7m.mjs +0 -1
- package/dist/chunks/index-1.1.2-3evh58r7.mjs +0 -1
- package/dist/chunks/index-1.1.2-69bhefzj.mjs +0 -1
- package/dist/chunks/index-1.1.2-7kya3jrk.mjs +0 -1
- package/dist/chunks/index-1.1.2-7sphewt0.mjs +0 -5
- package/dist/chunks/index-1.1.2-947wna4y.mjs +0 -1
- package/dist/chunks/index-1.1.2-95c20hmc.mjs +0 -1
- package/dist/chunks/index-1.1.2-9xdx0kw2.mjs +0 -1
- package/dist/chunks/index-1.1.2-bvpaf73z.mjs +0 -2
- package/dist/chunks/index-1.1.2-dkvq5y5c.mjs +0 -1
- package/dist/chunks/index-1.1.2-ebc3q9cn.mjs +0 -9
- package/dist/chunks/index-1.1.2-htmnqkfh.mjs +0 -1
- package/dist/chunks/index-1.1.2-kdaazhrb.mjs +0 -1
- package/dist/chunks/index-1.1.2-kzzb5289.mjs +0 -1
- package/dist/chunks/index-1.1.2-madt9yt1.mjs +0 -1
- package/dist/chunks/index-1.1.2-mvhaw48f.mjs +0 -2
- package/dist/chunks/index-1.1.2-pzx0977r.mjs +0 -1
- package/dist/chunks/index-1.1.2-r1zg7fm1.mjs +0 -1
- package/dist/chunks/index-1.1.2-s1rqf88d.mjs +0 -1
- package/dist/chunks/index-1.1.2-t2gvqgcr.mjs +0 -1
- package/dist/chunks/index-1.1.2-thaazk19.mjs +0 -17
- package/dist/chunks/index-1.1.2-wey7e6ag.mjs +0 -30
- package/dist/chunks/index-1.1.2-y8ab1zbc.mjs +0 -1
- package/dist/chunks/index-1.1.2-zzrwyq5p.mjs +0 -9
- package/dist/chunks/init-1.1.2-85zbvgkj.mjs +0 -1
- package/dist/chunks/initReplBridge-1.1.2-de5jg8xg.mjs +0 -1
- package/dist/chunks/ink-1.1.2-dqpj9964.mjs +0 -1
- package/dist/chunks/insights-1.1.2-y73zf53m.mjs +0 -870
- package/dist/chunks/install-1.1.2-89hhj53e.mjs +0 -1
- package/dist/chunks/install-github-app-1.1.2-qvppzny7.mjs +0 -149
- package/dist/chunks/install-slack-app-1.1.2-3h092m6m.mjs +0 -1
- package/dist/chunks/instrumentation-1.1.2-knbaf11q.mjs +0 -1
- package/dist/chunks/interactiveHelpers-1.1.2-1ef73k1d.mjs +0 -1
- package/dist/chunks/keybindings-1.1.2-k2t8cv4v.mjs +0 -2
- package/dist/chunks/knowledge-1.1.2-ssv0qdb3.mjs +0 -2
- package/dist/chunks/latestVersionCache-1.1.2-hjg7gvvk.mjs +0 -1
- package/dist/chunks/loadAgentsDir-1.1.2-s1ff144v.mjs +0 -1
- package/dist/chunks/loadPluginHooks-1.1.2-byf6cjm1.mjs +0 -1
- package/dist/chunks/loadPluginHooks-1.1.2-yvdv9pjd.mjs +0 -1
- package/dist/chunks/log-1.1.2-8cc3djq5.mjs +0 -1
- package/dist/chunks/main-1.1.2-th8b6kt4.mjs +0 -1
- package/dist/chunks/managedEnv-1.1.2-z470j86z.mjs +0 -1
- package/dist/chunks/mcp-1.1.2-86tk8ay8.mjs +0 -1
- package/dist/chunks/mcp-1.1.2-g64z89y6.mjs +0 -17
- package/dist/chunks/mcp-1.1.2-snaa1cjv.mjs +0 -4
- package/dist/chunks/mcpb-1.1.2-4mdrmbnx.mjs +0 -1
- package/dist/chunks/memory-1.1.2-habj4cwz.mjs +0 -72
- package/dist/chunks/model-1.1.2-vdjmatpe.mjs +0 -1
- package/dist/chunks/model-1.1.2-y4qnzr5d.mjs +0 -2
- package/dist/chunks/node-1.1.2-msn09mvf.mjs +0 -12
- package/dist/chunks/oauth-1.1.2-95md8es8.mjs +0 -1
- package/dist/chunks/openaiShim-1.1.2-swxk5w2d.mjs +0 -14
- package/dist/chunks/output-style-1.1.2-gk5rwyf3.mjs +0 -1
- package/dist/chunks/package-2VNCXFNY-1.1.2-t2qeqjq8.mjs +0 -1
- package/dist/chunks/parseConnectUrl-1.1.2-kh0kdj72.mjs +0 -1
- package/dist/chunks/parser-1.1.2-bq2yyqcn.mjs +0 -1
- package/dist/chunks/passes-1.1.2-z98me43k.mjs +0 -1
- package/dist/chunks/permissions-1.1.2-4q31d83k.mjs +0 -3
- package/dist/chunks/permissions-1.1.2-yj6ep04t.mjs +0 -1
- package/dist/chunks/plan-1.1.2-aq6tkcvx.mjs +0 -1
- package/dist/chunks/plist-1.1.2-wtdpfgrq.mjs +0 -1
- package/dist/chunks/plugin-1.1.2-9h7564kc.mjs +0 -29
- package/dist/chunks/pluginStartupCheck-1.1.2-xs7cvmve.mjs +0 -1
- package/dist/chunks/plugins-1.1.2-gktqysmr.mjs +0 -9
- package/dist/chunks/preActionHook-1.1.2-zbm0ahc2.mjs +0 -2
- package/dist/chunks/print-1.1.2-9xz8kk84.mjs +0 -57
- package/dist/chunks/privacy-settings-1.1.2-9w8bvgmp.mjs +0 -1
- package/dist/chunks/process-1.1.2-4ha9kngp.mjs +0 -1
- package/dist/chunks/processBashCommand-1.1.2-t1abzpg8.mjs +0 -1
- package/dist/chunks/processSlashCommand-1.1.2-krgryjdy.mjs +0 -9
- package/dist/chunks/prompt-1.1.2-exabd70s.mjs +0 -1
- package/dist/chunks/prompt-1.1.2-qbhgy60q.mjs +0 -1
- package/dist/chunks/prompts-1.1.2-z5xqs93q.mjs +0 -1
- package/dist/chunks/protocolHandler-1.1.2-jzdef7t2.mjs +0 -13
- package/dist/chunks/provider-1.1.2-q784s7t1.mjs +0 -2
- package/dist/chunks/providerProfiles-1.1.2-hgq6ezmt.mjs +0 -1
- package/dist/chunks/providerValidation-1.1.2-6svgbwp4.mjs +0 -6
- package/dist/chunks/rate-limit-options-1.1.2-pdk8r710.mjs +0 -1
- package/dist/chunks/registerSubcommands-1.1.2-ja3famgz.mjs +0 -34
- package/dist/chunks/registry-1.1.2-bteqae43.mjs +0 -1
- package/dist/chunks/release-notes-1.1.2-m864etmn.mjs +0 -5
- package/dist/chunks/reload-plugins-1.1.2-xgc8eghm.mjs +0 -2
- package/dist/chunks/remote-env-1.1.2-jy20nnyn.mjs +0 -1
- package/dist/chunks/remoteBridgeCore-1.1.2-wrzz2zme.mjs +0 -1
- package/dist/chunks/remoteSession-1.1.2-2ms5x1xn.mjs +0 -1
- package/dist/chunks/rename-1.1.2-99a39m1m.mjs +0 -1
- package/dist/chunks/replBridgeHandle-1.1.2-6qx7my8a.mjs +0 -1
- package/dist/chunks/replLauncher-1.1.2-8aq6b75y.mjs +0 -1
- package/dist/chunks/resume-1.1.2-n0d6rgp7.mjs +0 -2
- package/dist/chunks/rewind-1.1.2-4mrqvf42.mjs +0 -1
- package/dist/chunks/rootOptions-1.1.2-3vma1kzy.mjs +0 -1
- package/dist/chunks/runWorkflowHeadless-1.1.2-qpb0brgp.mjs +0 -10
- package/dist/chunks/sandbox-adapter-1.1.2-985g3rtd.mjs +0 -1
- package/dist/chunks/sandbox-toggle-1.1.2-h5bx372x.mjs +0 -1
- package/dist/chunks/session-1.1.2-q3ahqvyx.mjs +0 -2
- package/dist/chunks/sessionDiscovery-1.1.2-qcyr8b8w.mjs +0 -1
- package/dist/chunks/sessionFileAccessHooks-1.1.2-2y6b014f.mjs +0 -1
- package/dist/chunks/sessionStorage-1.1.2-6vk4ryr3.mjs +0 -1
- package/dist/chunks/settings-1.1.2-nf07eg97.mjs +0 -1
- package/dist/chunks/setup-1.1.2-5f344krn.mjs +0 -5
- package/dist/chunks/sinks-1.1.2-xq2d5k0p.mjs +0 -1
- package/dist/chunks/skills-1.1.2-2e8x03xz.mjs +0 -1
- package/dist/chunks/startupProfiler-1.1.2-vbw0t7zn.mjs +0 -1
- package/dist/chunks/startupUpdateCheck-1.1.2-7xtv2jhz.mjs +0 -1
- package/dist/chunks/state-1.1.2-4stfxgxw.mjs +0 -1
- package/dist/chunks/stats-1.1.2-x2men93c.mjs +0 -6
- package/dist/chunks/status-1.1.2-k6342tq7.mjs +0 -1
- package/dist/chunks/stickers-1.1.2-m2ee29wd.mjs +0 -1
- package/dist/chunks/subprocessEnv-1.1.2-gfsm4m3z.mjs +0 -1
- package/dist/chunks/tasks-1.1.2-52bgwvvk.mjs +0 -1
- package/dist/chunks/teamHelpers-1.1.2-fcfqve0r.mjs +0 -1
- package/dist/chunks/teammateModeSnapshot-1.1.2-s2qw8rtp.mjs +0 -1
- package/dist/chunks/teleport-1.1.2-mxjmy1bj.mjs +0 -1
- package/dist/chunks/terminalSetup-1.1.2-376p31n2.mjs +0 -1
- package/dist/chunks/theme-1.1.2-vhrm8pkz.mjs +0 -1
- package/dist/chunks/thinkback-1.1.2-2k5azpda.mjs +0 -1
- package/dist/chunks/thinkback-play-1.1.2-w3xe66qy.mjs +0 -1
- package/dist/chunks/toolPool-1.1.2-th0e7c3p.mjs +0 -1
- package/dist/chunks/toolSearch-1.1.2-5vbh7tfs.mjs +0 -1
- package/dist/chunks/tools-1.1.2-0tdzn87s.mjs +0 -1
- package/dist/chunks/trustedDevice-1.1.2-s31a3mdh.mjs +0 -1
- package/dist/chunks/turndown.cjs-1.1.2-aj5hafxn.mjs +0 -69
- package/dist/chunks/types-1.1.2-vst16v9y.mjs +0 -1
- package/dist/chunks/ultrareviewCommand-1.1.2-3tcemmrp.mjs +0 -4
- package/dist/chunks/update-1.1.2-7daxbkja.mjs +0 -72
- package/dist/chunks/upgrade-1.1.2-paz816ha.mjs +0 -1
- package/dist/chunks/upload-1.1.2-tb2wafs2.mjs +0 -7
- package/dist/chunks/upstreamproxy-1.1.2-k3w1snzk.mjs +0 -14
- package/dist/chunks/url-handler-napi-1.1.2-2w62pdbp.mjs +0 -1
- package/dist/chunks/usage-1.1.2-xa0p51ga.mjs +0 -1
- package/dist/chunks/util-1.1.2-790z163z.mjs +0 -1
- package/dist/chunks/utils-1.1.2-vs0h9jny.mjs +0 -1
- package/dist/chunks/vim-1.1.2-c8e520z8.mjs +0 -1
- package/dist/chunks/watchLoop-1.1.2-e4ehn07s.mjs +0 -13
- package/dist/chunks/watcher-1.1.2-731rkpjz.mjs +0 -1
- package/dist/chunks/wiki-1.1.2-zbc6h2h9.mjs +0 -132
- package/dist/chunks/workflows-1.1.2-g3w76nrf.mjs +0 -1
- package/dist/chunks/worktree-1.1.2-7nptnzv3.mjs +0 -1
- package/dist/chunks/worktreeModeEnabled-1.1.2-kgnb2ck1.mjs +0 -1
- package/dist/chunks/wrapper-1.1.2-3pstqzgw.mjs +0 -7
- /package/dist/chunks/{cli-1.1.2-10g0wy7w.mjs → cli-1.1.3-atjv82jv.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.2-r4rfggdk.mjs → cli-1.1.3-bhvdy7a7.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.2-pgz05ddc.mjs → cli-1.1.3-ddqw4d0f.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.2-8t8veykp.mjs → cli-1.1.3-k333nezw.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.2-btgmqahb.mjs → cli-1.1.3-kftm6an7.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.2-6d3jf0sj.mjs → cli-1.1.3-n8e1g4ez.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.2-3vyt3jw9.mjs → cli-1.1.3-nh0p50e1.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.2-6jbsqbdw.mjs → cli-1.1.3-z6nmkfhs.mjs} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Esa as b}from"./cli-1.1.3-atjv82jv.mjs";var j=86400000,k="Remote Control is only available with claude.ai subscriptions. Run `/provider` and sign in with your claude.ai account.",q="Error: You must be logged in to use Remote Control.\n\nRemote Control is only available with claude.ai subscriptions. Run `/provider` and sign in with your claude.ai account.",w="Remote Control disconnected.";var g=()=>{};
|
|
2
|
+
export{j as if,k as jf,q as kf,w as lf,g as mf};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import{cc as DY}from"./cli-1.1.3-kftm6an7.mjs";import{$c as iQ,Yc as LY}from"./cli-1.1.3-794cnnf6.mjs";import{gi as V0,hi as p6}from"./cli-1.1.3-xvbcvemx.mjs";import{$i as A6,_i as pY}from"./cli-1.1.3-spxtmdrr.mjs";import{AQ as aY,AS as zY,BK as dY,CQ as nY,Ct as b0,DS as qY,Dq as iZ,Dt as fZ,Ep as j9,Eq as AY,Fp as i6,Fq as FZ,GD as HY,GQ as w6,Gq as _Y,HD as aQ,HR as kZ,Ht as r9,IO as BY,KO as rQ,LR as xZ,SD as NY,Sm as yZ,TD as nQ,UL as P9,Vm as $Z,WL as F9,Wm as e0,XA as uY,YD as RY,ZA as v6,_D as z6,_L as M9,aS as wZ,bC as cY,cC as _6,cE as n,dB as CY,eB as TY,eE as U6,ew as h0,fB as L6,fM as o6,fl as L9,fw as uZ,gC as mY,gk as KZ,gl as u6,gw as k0,hC as O6,hl as z9,hw as x0,il as q9,iw as u0,iy as I0,jk as E0,jl as bZ,jw as p0,kI as T0,kL as PY,kl as Y0,kw as pZ,lI as s9,ll as D9,lw as cZ,ly as i9,ml as XZ,mw as c0,nL as J6,nS as rY,nl as Q0,nw as m0,oK as s,ok as hY,ol as v9,ow as g0,pl as A9,pw as d0,ql as sY,qw as l0,rQ as lY,rw as a0,su as ZY,sw as n0,tu as xQ,tw as r0,uK as gY,uu as JY,uw as i0,vG as C0,vu as lQ,vw as GQ,vz as xY,wG as o9,wS as iY,wu as kY,yz as D6,zt as M0}from"./cli-1.1.3-hs9ck03n.mjs";import{EX as Q9,IX as R6}from"./cli-1.1.3-7b34969p.mjs";import{CY as P0,DY as a9,JY as F0,KY as n9,jY as y0,kY as d9,xY as $0,yY as j0,zY as l9}from"./cli-1.1.3-ezvsqkxt.mjs";import{D1 as g9,Y0 as p,_0 as M,zZ as m9}from"./cli-1.1.3-kh7s1ptn.mjs";import{j4 as a,k4 as E,l4 as b,m4 as J0}from"./cli-1.1.3-ckgtccms.mjs";import{n4 as c9}from"./cli-1.1.3-5zveqbgr.mjs";import{$7 as jY,Y8 as G6,t6 as $Y,x6 as K6}from"./cli-1.1.3-zg0yshsb.mjs";import{A_ as k9,Cca as $9,Fga as U0,Iga as p9,Jca as r6,L_ as GY,Mga as e,N_ as dQ,O$ as a6,Tda as yY,Uca as wY,Uga as w0,Vaa as n6,Vca as EY,Xca as V6,Zaa as Y9,aea as W6,cba as T6,m$ as E9,taa as TZ,vaa as x9,yaa as y9,z_ as _Z}from"./cli-1.1.3-c06t4mva.mjs";import{dha as B0,lha as L0,pha as h9}from"./cli-1.1.3-1krr9n6p.mjs";import{Vha as oY,eia as $6}from"./cli-1.1.3-grr7gey9.mjs";import{Aia as q,Bia as EZ,xia as Y,yia as h,zia as JZ}from"./cli-1.1.3-s1ttygbf.mjs";import{Eia as UY,Gia as X6,Iia as RZ,Lia as z0,Mia as q0,Nia as D0,Oia as v0,Qia as A0,Ria as _0,bja as O0,hja as u9}from"./cli-1.1.3-6kse36ke.mjs";import{sja as g,vja as UZ}from"./cli-1.1.3-wnmbr0xp.mjs";import{$ja as WY,Aja as C6,_ja as ZZ,dka as PZ,vka as I,yja as Z9,yka as HZ}from"./cli-1.1.3-v5ceeb5d.mjs";import{Aka as KY,Eka as gQ}from"./cli-1.1.3-skvx9y6v.mjs";import{Hka as VY,Vka as w9,Wka as tZ,ala as lZ}from"./cli-1.1.3-3ck9nde3.mjs";import{Dpa as J9,Epa as DZ,Fpa as H9,Hpa as N9,Ipa as X0,Kpa as B9,Sqa as IY,Vqa as BZ,Wma as NZ,ana as W0,bna as eY,loa as OY}from"./cli-1.1.3-9cvgj0zc.mjs";import{Asa as N0,Dsa as hZ,Esa as OZ,Fsa as rZ}from"./cli-1.1.3-atjv82jv.mjs";var WQ={};hZ(WQ,{selectableUserMessagesFilter:()=>S0,messagesAfterAreOnlySynthetic:()=>VQ,MessageSelector:()=>e9});import{randomUUID as t9}from"crypto";import*as QZ from"path";function R0(Q){return Q.type==="text"}function SZ(Q){return Q==="summarize"||Q==="summarize_up_to"}function e9({messages:Q,onPreRestore:Z,onRestoreMessage:X,onRestoreCode:V,onSummarize:W,onClose:H,preselectedMessage:G}){let K=I0((U)=>U.fileHistory),[B,z]=T.useState(void 0),J=M0(),L=T.useMemo(t9,[]),_=T.useMemo(()=>[...Q.filter(S0),{...s({content:""}),uuid:L}],[Q,L]),[w,v]=T.useState(_.length-1),P=Math.max(0,Math.min(w-Math.floor(CZ/2),_.length-CZ)),f=_.length>1,[D,F]=T.useState(G),[y,S]=T.useState(void 0);T.useEffect(()=>{if(!G||!J)return;let U=!1;return fZ(K,G.uuid).then((R)=>{if(!U)S(R)}),()=>{U=!0}},[G,J,K]);let[O,$]=T.useState(!1),[d,i]=T.useState(null),[o,C]=T.useState("both"),[k,x]=T.useState(""),[A,j]=T.useState("");function N(U){let R=U?[{value:"both",label:"Restore code and conversation"},{value:"conversation",label:"Restore conversation"},{value:"code",label:"Restore code"}]:[{value:"conversation",label:"Restore conversation"}],c={type:"input",placeholder:"add context (optional)",initialValue:"",allowEmptySubmitToCancel:!0,showLabelWithValue:!0,labelValueSeparator:": "};return R.push({value:"summarize",label:"Summarize from here",...c,onChange:x}),R.push({value:"nevermind",label:"Never mind"}),R}T.useEffect(()=>{g("tengu_message_selector_opened",{})},[]);async function u(U){Z(),$(!0);try{await X(U),$(!1),H()}catch(R){e(R),$(!1),z(`Failed to restore the conversation:
|
|
2
|
+
${R}`)}}async function l(U){let R=Q.indexOf(U),c=Q.length-1-R;if(g("tengu_message_selector_selected",{index_from_end:c,message_type:U.type,is_current_prompt:!1}),!Q.includes(U)){H();return}if(!J){await u(U);return}let m=await fZ(K,U.uuid);F(U),S(m)}async function VZ(U){if(g("tengu_message_selector_restore_option_selected",{option:U}),!D){z("Message not found.");return}if(U==="nevermind"){if(G)H();else F(void 0);return}if(SZ(U)){Z(),$(!0),i(U),z(void 0);try{let m=U==="summarize_up_to"?"up_to":"from",YZ=(m==="up_to"?A:k).trim()||void 0;await W(D,YZ,m),$(!1),i(null),F(void 0),H()}catch(m){e(m),$(!1),i(null),F(void 0),z(`Failed to summarize:
|
|
3
|
+
${m}`)}return}Z(),$(!0),z(void 0);let R=null,c=null;if(U==="code"||U==="both")try{await V(D)}catch(m){R=m,e(R)}if(U==="conversation"||U==="both")try{await X(D)}catch(m){c=m,e(c)}if($(!1),F(void 0),c&&R)z(`Failed to restore the conversation and code:
|
|
4
|
+
${c}
|
|
5
|
+
${R}`);else if(c)z(`Failed to restore the conversation:
|
|
6
|
+
${c}`);else if(R)z(`Failed to restore the code:
|
|
7
|
+
${R}`);else H()}let WZ=P0(),t=T.useCallback(()=>{if(D&&!G){F(void 0);return}g("tengu_message_selector_cancelled",{}),H()},[H,D,G]),I9=T.useCallback(()=>v((U)=>Math.max(0,U-1)),[]),C9=T.useCallback(()=>v((U)=>Math.min(_.length-1,U+1)),[_.length]),T9=T.useCallback(()=>v(0),[]),R9=T.useCallback(()=>v(_.length-1),[_.length]),f9=T.useCallback(()=>{let U=_[w];if(U)l(U)},[_,w,l]);$0("confirm:no",t,{context:"Confirmation",isActive:!D}),j0({"messageSelector:up":I9,"messageSelector:down":C9,"messageSelector:top":T9,"messageSelector:bottom":R9,"messageSelector:select":f9},{context:"MessageSelector",isActive:!O&&!B&&!D&&f});let[K0,G0]=T.useState({});T.useEffect(()=>{async function U(){if(!J)return;Promise.all(_.map(async(R,c)=>{if(R.uuid!==L){let m=b0(K,R.uuid),YZ=_.at(c+1),AZ=m?XQ(Q,R.uuid,YZ?.uuid!==L?YZ?.uuid:void 0):void 0;if(AZ!==void 0)G0((r)=>({...r,[c]:AZ}));else G0((r)=>({...r,[c]:void 0}))}}))}U()},[_,Q,L,K,J]);let vZ=J&&y?.filesChanged&&y.filesChanged.length>0,S9=!B&&!D&&!G&&f;return b(p,{flexDirection:"column",width:"100%",children:[E(F0,{color:"suggestion"}),b(p,{flexDirection:"column",marginX:1,gap:1,children:[E(M,{bold:!0,color:"suggestion",children:"Rewind"}),B&&E(a,{children:b(M,{color:"error",children:["Error: ",B]})}),!f&&E(a,{children:E(M,{children:"Nothing to rewind to yet."})}),!B&&D&&f&&b(a,{children:[b(M,{children:["Confirm you want to restore"," ",!y&&"the conversation ","to the point before you sent this message:"]}),b(p,{flexDirection:"column",paddingLeft:1,borderStyle:"single",borderRight:!1,borderTop:!1,borderBottom:!1,borderLeft:!0,borderLeftDimColor:!0,children:[E(H0,{userMessage:D,color:"text",isCurrent:!1}),b(M,{dimColor:!0,children:["(",L0(new Date(D.timestamp)),")"]})]}),E(YQ,{selectedRestoreOption:o,canRestoreCode:!!vZ,diffStatsForRestore:y}),O&&SZ(d)?b(p,{flexDirection:"row",gap:1,children:[E(T0,{}),E(M,{children:"Summarizing…"})]}):E(C0,{isDisabled:O,options:N(!!vZ),defaultFocusValue:vZ?"both":"conversation",onFocus:(U)=>C(U),onChange:(U)=>VZ(U),onCancel:()=>G?H():F(void 0)}),vZ&&E(p,{marginBottom:1,children:b(M,{dimColor:!0,children:[_Z.warning," Rewinding does not affect files edited manually or via bash."]})})]}),S9&&b(a,{children:[J?E(M,{children:"Restore the code and/or conversation to the point before…"}):E(M,{children:"Restore and fork the conversation to the point before…"}),E(p,{width:"100%",flexDirection:"column",children:_.slice(P,P+CZ).map((U,R)=>{let c=P+R,m=c===w,YZ=U.uuid===L,AZ=c in K0,r=K0[c],IZ=r?.filesChanged&&r.filesChanged.length;return b(p,{height:J?3:2,overflow:"hidden",width:"100%",flexDirection:"row",children:[E(p,{width:2,minWidth:2,children:m?b(M,{color:"permission",bold:!0,children:[_Z.pointer," "]}):E(M,{children:" "})}),b(p,{flexDirection:"column",children:[E(p,{flexShrink:1,height:1,overflow:"hidden",children:E(H0,{userMessage:U,color:m?"suggestion":void 0,isCurrent:YZ,paddingRight:10})}),J&&AZ&&E(p,{height:1,flexDirection:"row",children:r?E(a,{children:E(M,{dimColor:!m,color:"inactive",children:IZ?b(a,{children:[IZ===1&&r.filesChanged[0]?`${QZ.basename(r.filesChanged[0])} `:`${IZ} files changed `,E(f0,{diffStats:r})]}):E(a,{children:"No code changes"})})}):b(M,{dimColor:!0,color:"warning",children:[_Z.warning," No code restore"]})})]})]},U.uuid)})})]}),!D&&E(M,{dimColor:!0,italic:!0,children:WZ.pending?b(a,{children:["Press ",WZ.keyName," again to exit"]}):b(a,{children:[!B&&f&&"Enter to continue · ","Esc to exit"]})})]})]})}function ZQ(Q){switch(Q){case"summarize":return"Messages after this point will be summarized.";case"summarize_up_to":return"Preceding messages will be summarized. This and subsequent messages will remain unchanged — you will stay at the end of the conversation.";case"both":case"conversation":return"The conversation will be forked.";case"code":case"nevermind":return"The conversation will be unchanged."}}function YQ(Q){let Z=GZ.c(11),{selectedRestoreOption:X,canRestoreCode:V,diffStatsForRestore:W}=Q,H=V&&(X==="both"||X==="code"),G;if(Z[0]!==X)G=ZQ(X),Z[0]=X,Z[1]=G;else G=Z[1];let K;if(Z[2]!==G)K=E(M,{dimColor:!0,children:G}),Z[2]=G,Z[3]=K;else K=Z[3];let B;if(Z[4]!==W||Z[5]!==X||Z[6]!==H)B=!SZ(X)&&(H?E(QQ,{diffStatsForRestore:W}):E(M,{dimColor:!0,children:"The code will be unchanged."})),Z[4]=W,Z[5]=X,Z[6]=H,Z[7]=B;else B=Z[7];let z;if(Z[8]!==K||Z[9]!==B)z=b(p,{flexDirection:"column",children:[K,B]}),Z[8]=K,Z[9]=B,Z[10]=z;else z=Z[10];return z}function QQ(Q){let Z=GZ.c(14),{diffStatsForRestore:X}=Q;if(X===void 0)return;if(!X.filesChanged||!X.filesChanged[0]){let K;if(Z[0]===Symbol.for("react.memo_cache_sentinel"))K=E(M,{dimColor:!0,children:"The code has not changed (nothing will be restored)."}),Z[0]=K;else K=Z[0];return K}let V=X.filesChanged.length,W;if(V===1){let K;if(Z[1]!==X.filesChanged[0])K=QZ.basename(X.filesChanged[0]||""),Z[1]=X.filesChanged[0],Z[2]=K;else K=Z[2];W=K}else if(V===2){let K;if(Z[3]!==X.filesChanged[0])K=QZ.basename(X.filesChanged[0]||""),Z[3]=X.filesChanged[0],Z[4]=K;else K=Z[4];let B=K,z;if(Z[5]!==X.filesChanged[1])z=QZ.basename(X.filesChanged[1]||""),Z[5]=X.filesChanged[1],Z[6]=z;else z=Z[6];W=`${B} and ${z}`}else{let K;if(Z[7]!==X.filesChanged[0])K=QZ.basename(X.filesChanged[0]||""),Z[7]=X.filesChanged[0],Z[8]=K;else K=Z[8];W=`${K} and ${X.filesChanged.length-1} other files`}let H;if(Z[9]!==X)H=E(f0,{diffStats:X}),Z[9]=X,Z[10]=H;else H=Z[10];let G;if(Z[11]!==W||Z[12]!==H)G=E(a,{children:b(M,{dimColor:!0,children:["The code will be restored"," ",H," in ",W,"."]})}),Z[11]=W,Z[12]=H,Z[13]=G;else G=Z[13];return G}function f0(Q){let Z=GZ.c(7),{diffStats:X}=Q;if(!X||!X.filesChanged)return;let V;if(Z[0]!==X.insertions)V=b(M,{color:"diffAddedWord",children:["+",X.insertions," "]}),Z[0]=X.insertions,Z[1]=V;else V=Z[1];let W;if(Z[2]!==X.deletions)W=b(M,{color:"diffRemovedWord",children:["-",X.deletions]}),Z[2]=X.deletions,Z[3]=W;else W=Z[3];let H;if(Z[4]!==V||Z[5]!==W)H=b(a,{children:[V,W]}),Z[4]=V,Z[5]=W,Z[6]=H;else H=Z[6];return H}function H0(Q){let Z=GZ.c(31),{userMessage:X,color:V,dimColor:W,isCurrent:H,paddingRight:G}=Q,{columns:K}=y0();if(H){let S;if(Z[0]!==V||Z[1]!==W)S=E(p,{width:"100%",children:E(M,{italic:!0,color:V,dimColor:W,children:"(current)"})}),Z[0]=V,Z[1]=W,Z[2]=S;else S=Z[2];return S}let B=X.message.content,z=typeof B==="string"?null:B[B.length-1],J,L,_,w,v,P,f,D;if(Z[3]!==V||Z[4]!==K||Z[5]!==B||Z[6]!==W||Z[7]!==z||Z[8]!==G){D=Symbol.for("react.early_return_sentinel");Z:{let S=typeof B==="string"?B.trim():z&&R0(z)?z.text.trim():"(no prompt)",O=U0(S);if(E0(O)){let $;if(Z[17]!==V||Z[18]!==W)$=E(p,{flexDirection:"row",width:"100%",children:E(M,{italic:!0,color:V,dimColor:W,children:"((empty message))"})}),Z[17]=V,Z[18]=W,Z[19]=$;else $=Z[19];D=$;break Z}if(O.includes("<bash-input>")){let $=KZ(O,"bash-input");if($){let d;if(Z[20]===Symbol.for("react.memo_cache_sentinel"))d=E(M,{color:"bashBorder",children:"!"}),Z[20]=d;else d=Z[20];D=b(p,{flexDirection:"row",width:"100%",children:[d,b(M,{color:V,dimColor:W,children:[" ",$]})]});break Z}}if(O.includes(`<${RZ}>`)){let $=KZ(O,RZ),d=KZ(O,"command-args"),i=KZ(O,"skill-format")==="true";if($)if(i){D=E(p,{flexDirection:"row",width:"100%",children:b(M,{color:V,dimColor:W,children:["Skill(",$,")"]})});break Z}else{D=E(p,{flexDirection:"row",width:"100%",children:b(M,{color:V,dimColor:W,children:["/",$," ",d]})});break Z}}L=p,P="row",f="100%",J=M,_=V,w=W,v=G?B0(O,K-G,!0):O.slice(0,500).split(`
|
|
8
|
+
`).slice(0,4).join(`
|
|
9
|
+
`)}Z[3]=V,Z[4]=K,Z[5]=B,Z[6]=W,Z[7]=z,Z[8]=G,Z[9]=J,Z[10]=L,Z[11]=_,Z[12]=w,Z[13]=v,Z[14]=P,Z[15]=f,Z[16]=D}else J=Z[9],L=Z[10],_=Z[11],w=Z[12],v=Z[13],P=Z[14],f=Z[15],D=Z[16];if(D!==Symbol.for("react.early_return_sentinel"))return D;let F;if(Z[21]!==J||Z[22]!==_||Z[23]!==w||Z[24]!==v)F=E(J,{color:_,dimColor:w,children:v}),Z[21]=J,Z[22]=_,Z[23]=w,Z[24]=v,Z[25]=F;else F=Z[25];let y;if(Z[26]!==L||Z[27]!==P||Z[28]!==f||Z[29]!==F)y=E(L,{flexDirection:P,width:f,children:F}),Z[26]=L,Z[27]=P,Z[28]=f,Z[29]=F,Z[30]=y;else y=Z[30];return y}function XQ(Q,Z,X){let V=Q.findIndex((B)=>B.uuid===Z);if(V===-1)return;let W=X?Q.findIndex((B)=>B.uuid===X):Q.length;if(W===-1)W=Q.length;let H=[],G=0,K=0;for(let B=V+1;B<W;B++){let z=Q[B];if(!z||!xZ(z))continue;let J=z.toolUseResult;if(!J||!J.filePath||!J.structuredPatch)continue;if(!H.includes(J.filePath))H.push(J.filePath);try{if("type"in J&&J.type==="create")G+=J.content.split(/\r?\n/).length;else for(let L of J.structuredPatch){let _=TZ(L.lines,(v)=>v.startsWith("+")),w=TZ(L.lines,(v)=>v.startsWith("-"));G+=_,K+=w}}catch{continue}}return{filesChanged:H,insertions:G,deletions:K}}function S0(Q){if(Q.type!=="user")return!1;if(Array.isArray(Q.message.content)&&Q.message.content[0]?.type==="tool_result")return!1;if(kZ(Q))return!1;if(Q.isMeta)return!1;if(Q.isCompactSummary||Q.isVisibleInTranscriptOnly)return!1;let Z=Q.message.content,X=typeof Z==="string"?null:Z[Z.length-1],V=typeof Z==="string"?Z.trim():X&&R0(X)?X.text.trim():"";if(V.indexOf(`<${D0}>`)!==-1||V.indexOf(`<${v0}>`)!==-1||V.indexOf(`<${z0}>`)!==-1||V.indexOf(`<${q0}>`)!==-1||V.indexOf(`<${_0}>`)!==-1||V.indexOf(`<${A0}>`)!==-1||V.indexOf(`<${O0}`)!==-1)return!1;return!0}function VQ(Q,Z){for(let X=Z+1;X<Q.length;X++){let V=Q[X];if(!V)continue;if(kZ(V))continue;if(xZ(V))continue;if(V.type==="progress")continue;if(V.type==="system")continue;if(V.type==="attachment")continue;if(V.type==="user"&&V.isMeta)continue;if(V.type==="assistant"){let W=V.message.content;if(Array.isArray(W)){if(W.some((G)=>G.type==="text"&&G.text.trim()||G.type==="tool_use"))return!1}continue}if(V.type==="user")return!1}return!0}var GZ,T,CZ=7;var KQ=OZ(()=>{k9();UZ();i9();r9();w0();a9();g9();l9();p9();wZ();o9();s9();d9();u9();x9();h9();n9();J0();GZ=N0(m9(),1),T=N0(c9(),1)});var b6={};hZ(b6,{getCronJitterConfig:()=>M6});function M6(){let Q=oY("tengu_kairos_cron_config",XZ,j6),Z=F6().safeParse(Q);return Z.success?Z.data:XZ}var j6=60000,oZ=1800000,P6=2592000000,F6;var I6=OZ(()=>{JZ();$6();sY();EZ();F6=q(()=>Y.object({recurringFrac:Y.number().min(0).max(1),recurringCapMs:Y.number().int().min(0).max(oZ),oneShotMaxMs:Y.number().int().min(0).max(oZ),oneShotFloorMs:Y.number().int().min(0).max(oZ),oneShotMinuteMod:Y.number().int().min(1).max(60),recurringMaxAgeMs:Y.number().int().min(0).max(P6).default(XZ.recurringMaxAgeMs)}).refine((Q)=>Q.oneShotFloorMs<=Q.oneShotMaxMs))});import{mkdir as f6,readFile as S6,unlink as X9,writeFile as eZ}from"fs/promises";import{dirname as h6,join as V9}from"path";function zZ(Q){return V9(Q??eY(),k6)}async function W9(Q){let Z;try{Z=await S6(zZ(Q),"utf8")}catch{return}let X=x6().safeParse(Y9(Z,!1));return X.success?X.data:void 0}async function tY(Q,Z){let X=zZ(Z),V=ZZ(Q);try{return await eZ(X,V,{flag:"wx"}),!0}catch(W){let H=tZ(W);if(H==="EEXIST")return!1;if(H==="ENOENT"){await f6(h6(X),{recursive:!0});try{return await eZ(X,V,{flag:"wx"}),!0}catch(G){if(tZ(G)==="EEXIST")return!1;throw G}}throw W}}function sZ(Q){MZ?.(),MZ=Z9(async()=>{await qZ(Q)})}async function Z0(Q){let Z=Q?.dir,X=Q?.lockIdentity??NZ(),V={sessionId:X,pid:process.pid,acquiredAt:Date.now()};if(await tY(V,Z))return LZ=void 0,sZ(Q),I(`[ScheduledTasks] acquired scheduler lock (PID ${process.pid})`),!0;let W=await W9(Z);if(W?.sessionId===X){if(W.pid!==process.pid)await eZ(zZ(Z),ZZ(V)),sZ(Q);return!0}if(W&&Q9(W.pid)){if(LZ!==W.sessionId)LZ=W.sessionId,I(`[ScheduledTasks] scheduler lock held by session ${W.sessionId} (PID ${W.pid})`);return!1}if(W)I(`[ScheduledTasks] recovering stale scheduler lock from PID ${W.pid}`);if(await X9(zZ(Z)).catch(()=>{}),await tY(V,Z))return LZ=void 0,sZ(Q),!0;return!1}async function qZ(Q){MZ?.(),MZ=void 0,LZ=void 0;let Z=Q?.dir,X=Q?.lockIdentity??NZ(),V=await W9(Z);if(!V||V.sessionId!==X)return;try{await X9(zZ(Z)),I("[ScheduledTasks] released scheduler lock")}catch{}}var k6,x6,MZ,LZ;var K9=OZ(()=>{JZ();BZ();C6();HZ();lZ();R6();T6();EZ();PZ();k6=V9(".claudin","scheduled_tasks.lock"),x6=q(()=>Y.object({sessionId:Y.string(),pid:Y.number(),acquiredAt:Y.number()}))});var d6={};hZ(d6,{takeDueSessionWakeup:()=>O9,isRecurringTaskAged:()=>_9,createCronScheduler:()=>g6,buildMissedTaskNotification:()=>U9});function _9(Q,Z,X){if(X===0)return!1;return Boolean(Q.recurring&&!Q.permanent&&Z-Q.createdAt>=X)}function O9(Q){let Z=X0();if(!Z||Q<Z.fireAtMs)return null;return B9(),{prompt:V0(Z.prompt),reason:Z.reason}}function g6(Q){let{onFire:Z,isLoading:X,assistantMode:V=!1,onFireTask:W,onMissed:H,onWakeupFire:G,dir:K,lockIdentity:B,getJitterConfig:z,isKilled:J,filter:L}=Q,_=K||B?{dir:K,lockIdentity:B}:void 0,w=[],v=new Map,P=new Set,f=new Set,D=null,F=null,y=null,S=null,O=!1,$=!1;async function d(C){let k=await q9(K);if(O)return;if(w=k,!C)return;let x=Date.now(),A=A9(k,x).filter((j)=>!j.recurring&&!P.has(j.id)&&(!L||L(j)));if(A.length>0){for(let j of A)P.add(j.id),v.set(j.id,1/0);if(g("tengu_scheduled_task_missed",{count:A.length,taskIds:A.map((j)=>j.id).join(",")}),H)H(A);else Z(U9(A));Y0(A.map((j)=>j.id),K).catch((j)=>I(`[ScheduledTasks] failed to remove missed tasks: ${j}`)),I(`[ScheduledTasks] surfaced ${A.length} missed one-shot task(s)`)}}function i(){if(J?.())return;if(X()&&!V)return;let C=Date.now(),k=new Set,x=[],A=z?.()??XZ;function j(N,u){if(L&&!L(N))return;if(k.add(N.id),f.has(N.id))return;let l=v.get(N.id);if(l===void 0)l=N.recurring?Q0(N.cron,N.lastFiredAt??N.createdAt,N.id,A)??1/0:v9(N.cron,N.createdAt,N.id,A)??1/0,v.set(N.id,l),I(`[ScheduledTasks] scheduled ${N.id} for ${l===1/0?"never":new Date(l).toISOString()}`);if(C<l)return;I(`[ScheduledTasks] firing ${N.id}${N.recurring?" (recurring)":""}`),g("tengu_scheduled_task_fire",{recurring:N.recurring??!1,taskId:N.id});let VZ=K===void 0?V0(N.prompt,void 0,N.agentId):N.prompt;if(W)W(VZ===N.prompt?N:{...N,prompt:VZ});else Z(VZ);let WZ=_9(N,C,A.recurringMaxAgeMs);if(WZ){let t=Math.floor((C-N.createdAt)/1000/60/60);I(`[ScheduledTasks] recurring task ${N.id} aged out (${t}h since creation), deleting after final fire`),g("tengu_scheduled_task_expired",{taskId:N.id,ageHours:t})}if(N.recurring&&!WZ){let t=Q0(N.cron,C,N.id,A)??1/0;if(v.set(N.id,t),!u)x.push(N.id)}else if(u)N9([N.id]),v.delete(N.id);else f.add(N.id),Y0([N.id],K).catch((t)=>I(`[ScheduledTasks] failed to remove task ${N.id}: ${t}`)).finally(()=>f.delete(N.id)),v.delete(N.id)}if($){for(let N of w)j(N,!1);if(x.length>0){for(let N of x)f.add(N);D9(x,C,K).catch((N)=>I(`[ScheduledTasks] failed to persist lastFiredAt: ${N}`)).finally(()=>{for(let N of x)f.delete(N)})}}if(K===void 0){for(let u of H9())j(u,!0);let N=O9(C);if(N!==null)if(I("[ScheduledTasks] firing pending ScheduleWakeup"),g("tengu_schedule_wakeup_fire",{}),G)G(N.prompt,N.reason);else Z(N.prompt)}if(k.size===0){v.clear();return}for(let N of v.keys())if(!k.has(N))v.delete(N)}async function o(){if(O)return;if(D)clearInterval(D),D=null;let{default:C}=await import("./index-1.1.3-vzk1g7qa.mjs");if(O)return;if($=await Z0(_).catch(()=>!1),O){if($)$=!1,qZ(_);return}if(!$)y=setInterval(()=>{Z0(_).then((x)=>{if(O){if(x)qZ(_);return}if(x){if($=!0,y)clearInterval(y),y=null}}).catch((x)=>I(String(x),{level:"error"}))},m6),y.unref?.();d(!0);let k=z9(K);S=C.watch(k,{persistent:!1,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:c6},ignorePermissionErrors:!0}),S.on("add",()=>void d(!1)),S.on("change",()=>void d(!1)),S.on("unlink",()=>{if(!O)w=[],v.clear()}),F=setInterval(i,G9),F.unref?.()}return{start(){if(O=!1,K!==void 0){I(`[ScheduledTasks] scheduler start() — dir=${K}, hasTasks=${bZ(K)}`),o();return}if(I(`[ScheduledTasks] scheduler start() — enabled=${DZ()}, hasTasks=${bZ()}`),!DZ()&&(V||bZ()))J9(!0);if(DZ()){o();return}D=setInterval((C)=>{if(DZ())C()},G9,o),D.unref?.()},stop(){if(O=!0,D)clearInterval(D),D=null;if(F)clearInterval(F),F=null;if(y)clearInterval(y),y=null;if(S?.close(),S=null,$)$=!1,qZ(_)},getNextFireTime(){let C=1/0;for(let k of v.values())if(k<C)C=k;if(K===void 0){let k=X0();if(k&&k.fireAtMs<C)C=k.fireAtMs}return C===1/0?null:C}}}function U9(Q){let Z=Q.length>1,X=`The following one-shot scheduled task${Z?"s were":" was"} missed while Claude was not running. ${Z?"They have":"It has"} already been removed from .claudin/scheduled_tasks.json.
|
|
10
|
+
|
|
11
|
+
Do NOT execute ${Z?"these prompts":"this prompt"} yet. First use the AskUserQuestion tool to ask whether to run ${Z?"each one":"it"} now. Only execute if the user confirms.`,V=Q.map((W)=>{let H=`[${L9(W.cron)}, created ${new Date(W.createdAt).toLocaleString()}]`,G=(W.prompt.match(/`+/g)??[]).reduce((B,z)=>Math.max(B,z.length),0),K="`".repeat(Math.max(3,G+1));return`${H}
|
|
12
|
+
${K}
|
|
13
|
+
${W.prompt}
|
|
14
|
+
${K}`});return`${X}
|
|
15
|
+
|
|
16
|
+
${V.join(`
|
|
17
|
+
|
|
18
|
+
`)}`}var G9=1000,c6=300,m6=5000;var l6=OZ(()=>{BZ();UZ();u6();sY();K9();HZ();p6()});import{randomUUID as dZ}from"crypto";JZ();EZ();GQ();var JQ=q(()=>Y.unknown()),HQ=q(()=>Y.object({matcher:Y.string().optional(),hookCallbackIds:Y.array(Y.string()),timeout:Y.number().optional()}).describe("Configuration for matching and routing hook callbacks.")),NQ=q(()=>Y.object({subtype:Y.literal("initialize"),hooks:Y.record(u0(),Y.array(HQ())).optional(),sdkMcpServers:Y.array(Y.string()).optional(),jsonSchema:Y.record(Y.string(),Y.unknown()).optional(),systemPrompt:Y.string().optional(),appendSystemPrompt:Y.string().optional(),agents:Y.record(Y.string(),g0()).optional(),promptSuggestions:Y.boolean().optional(),agentProgressSummaries:Y.boolean().optional()}).describe("Initializes the SDK session with hooks, MCP servers, and agent configuration.")),EX=q(()=>Y.object({commands:Y.array(pZ()),agents:Y.array(cZ()),output_style:Y.string(),available_output_styles:Y.array(Y.string()),models:Y.array(c0()),account:m0(),pid:Y.number().optional().describe("@internal CLI process PID for tmux socket isolation"),fast_mode_state:i0().optional()}).describe("Response from session initialization with available commands, models, and account info.")),BQ=q(()=>Y.object({subtype:Y.literal("interrupt")}).describe("Interrupts the currently running conversation turn.")),LQ=q(()=>Y.object({subtype:Y.literal("can_use_tool"),tool_name:Y.string(),input:Y.record(Y.string(),Y.unknown()),permission_suggestions:Y.array(k0()).optional(),blocked_path:Y.string().optional(),decision_reason:Y.string().optional(),title:Y.string().optional(),display_name:Y.string().optional(),tool_use_id:Y.string(),agent_id:Y.string().optional(),description:Y.string().optional()}).describe("Requests permission to use a tool with the given input.")),zQ=q(()=>Y.object({subtype:Y.literal("set_permission_mode"),mode:x0(),ultraplan:Y.boolean().optional().describe("@internal CCR ultraplan session marker.")}).describe("Sets the permission mode for tool execution handling.")),qQ=q(()=>Y.object({subtype:Y.literal("set_model"),model:Y.string().optional()}).describe("Sets the model to use for subsequent conversation turns.")),DQ=q(()=>Y.object({subtype:Y.literal("set_max_thinking_tokens"),max_thinking_tokens:Y.number().nullable()}).describe("Sets the maximum number of thinking tokens for extended thinking.")),vQ=q(()=>Y.object({subtype:Y.literal("mcp_status")}).describe("Requests the current status of all MCP server connections.")),yX=q(()=>Y.object({mcpServers:Y.array(uZ())}).describe("Response containing the current status of all MCP server connections.")),AQ=q(()=>Y.object({subtype:Y.literal("get_context_usage")}).describe("Requests a breakdown of current context window usage by category.")),_Q=q(()=>Y.object({name:Y.string(),tokens:Y.number(),color:Y.string(),isDeferred:Y.boolean().optional()})),OQ=q(()=>Y.object({color:Y.string(),isFilled:Y.boolean(),categoryName:Y.string(),tokens:Y.number(),percentage:Y.number(),squareFullness:Y.number()})),$X=q(()=>Y.object({categories:Y.array(_Q()),totalTokens:Y.number(),maxTokens:Y.number(),rawMaxTokens:Y.number(),percentage:Y.number(),gridRows:Y.array(Y.array(OQ())),model:Y.string(),memoryFiles:Y.array(Y.object({path:Y.string(),type:Y.string(),tokens:Y.number()})),mcpTools:Y.array(Y.object({name:Y.string(),serverName:Y.string(),tokens:Y.number(),isLoaded:Y.boolean().optional()})),deferredBuiltinTools:Y.array(Y.object({name:Y.string(),tokens:Y.number(),isLoaded:Y.boolean()})).optional(),systemTools:Y.array(Y.object({name:Y.string(),tokens:Y.number()})).optional(),systemPromptSections:Y.array(Y.object({name:Y.string(),tokens:Y.number()})).optional(),agents:Y.array(Y.object({agentType:Y.string(),source:Y.string(),tokens:Y.number()})),slashCommands:Y.object({totalCommands:Y.number(),includedCommands:Y.number(),tokens:Y.number()}).optional(),skills:Y.object({totalSkills:Y.number(),includedSkills:Y.number(),tokens:Y.number(),skillFrontmatter:Y.array(Y.object({name:Y.string(),source:Y.string(),tokens:Y.number()}))}).optional(),autoCompactThreshold:Y.number().optional(),isAutoCompactEnabled:Y.boolean(),messageBreakdown:Y.object({toolCallTokens:Y.number(),toolResultTokens:Y.number(),attachmentTokens:Y.number(),assistantMessageTokens:Y.number(),userMessageTokens:Y.number(),toolCallsByType:Y.array(Y.object({name:Y.string(),callTokens:Y.number(),resultTokens:Y.number()})),attachmentsByType:Y.array(Y.object({name:Y.string(),tokens:Y.number()}))}).optional(),apiUsage:Y.object({input_tokens:Y.number(),output_tokens:Y.number(),cache_creation_input_tokens:Y.number(),cache_read_input_tokens:Y.number()}).nullable()}).describe("Breakdown of current context window usage by category (system prompt, tools, messages, etc.).")),UQ=q(()=>Y.object({subtype:Y.literal("rewind_files"),user_message_id:Y.string(),dry_run:Y.boolean().optional()}).describe("Rewinds file changes made since a specific user message.")),jX=q(()=>Y.object({canRewind:Y.boolean(),error:Y.string().optional(),filesChanged:Y.array(Y.string()).optional(),insertions:Y.number().optional(),deletions:Y.number().optional()}).describe("Result of a rewindFiles operation.")),wQ=q(()=>Y.object({subtype:Y.literal("cancel_async_message"),message_uuid:Y.string()}).describe("Drops a pending async user message from the command queue by uuid. No-op if already dequeued for execution.")),PX=q(()=>Y.object({cancelled:Y.boolean()}).describe("Result of a cancel_async_message operation. cancelled=false means the message was not in the queue (already dequeued or never enqueued).")),EQ=q(()=>Y.object({subtype:Y.literal("seed_read_state"),path:Y.string(),mtime:Y.number()}).describe("Seeds the readFileState cache with a path+mtime entry. Use when a prior Read was removed from context (e.g. by snip) so Edit validation would fail despite the client having observed the Read. The mtime lets the CLI detect if the file changed since the seeded Read — same staleness check as the normal path.")),yQ=q(()=>Y.object({subtype:Y.literal("hook_callback"),callback_id:Y.string(),input:p0(),tool_use_id:Y.string().optional()}).describe("Delivers a hook callback with its input data.")),$Q=q(()=>Y.object({subtype:Y.literal("mcp_message"),server_name:Y.string(),message:JQ()}).describe("Sends a JSON-RPC message to a specific MCP server.")),jQ=q(()=>Y.object({subtype:Y.literal("mcp_set_servers"),servers:Y.record(Y.string(),h0())}).describe("Replaces the set of dynamically managed MCP servers.")),FX=q(()=>Y.object({added:Y.array(Y.string()),removed:Y.array(Y.string()),errors:Y.record(Y.string(),Y.string())}).describe("Result of replacing the set of dynamically managed MCP servers.")),PQ=q(()=>Y.object({subtype:Y.literal("reload_plugins")}).describe("Reloads plugins from disk and returns the refreshed session components.")),MX=q(()=>Y.object({commands:Y.array(pZ()),agents:Y.array(cZ()),plugins:Y.array(Y.object({name:Y.string(),path:Y.string(),source:Y.string().optional()})),mcpServers:Y.array(uZ()),error_count:Y.number()}).describe("Refreshed commands, agents, plugins, and MCP server status after reload.")),FQ=q(()=>Y.object({subtype:Y.literal("mcp_reconnect"),serverName:Y.string()}).describe("Reconnects a disconnected or failed MCP server.")),MQ=q(()=>Y.object({subtype:Y.literal("mcp_toggle"),serverName:Y.string(),enabled:Y.boolean()}).describe("Enables or disables an MCP server.")),bQ=q(()=>Y.object({subtype:Y.literal("stop_task"),task_id:Y.string()}).describe("Stops a running task.")),IQ=q(()=>Y.object({subtype:Y.literal("apply_flag_settings"),settings:Y.record(Y.string(),Y.unknown())}).describe("Merges the provided settings into the flag settings layer, updating the active configuration.")),CQ=q(()=>Y.object({subtype:Y.literal("get_settings")}).describe("Returns the effective merged settings and the raw per-source settings.")),bX=q(()=>Y.object({effective:Y.record(Y.string(),Y.unknown()),sources:Y.array(Y.object({source:Y.enum(["userSettings","projectSettings","localSettings","flagSettings","policySettings"]),settings:Y.record(Y.string(),Y.unknown())})).describe("Ordered low-to-high priority — later entries override earlier ones."),applied:Y.object({model:Y.string(),effort:Y.enum(["low","medium","high","max"]).nullable()}).optional().describe("Runtime-resolved values after env overrides, session state, and model-specific defaults are applied. Unlike `effective` (disk merge), these reflect what will actually be sent to the API.")}).describe("Effective merged settings plus raw per-source settings in merge order.")),TQ=q(()=>Y.object({subtype:Y.literal("elicitation"),mcp_server_name:Y.string(),message:Y.string(),mode:Y.enum(["form","url"]).optional(),url:Y.string().optional(),elicitation_id:Y.string().optional(),requested_schema:Y.record(Y.string(),Y.unknown()).optional()}).describe("Requests the SDK consumer to handle an MCP elicitation (user input request).")),o0=q(()=>Y.object({action:Y.enum(["accept","decline","cancel"]),content:Y.record(Y.string(),Y.unknown()).optional()}).describe("Response from the SDK consumer for an elicitation request.")),RQ=q(()=>Y.union([BQ(),LQ(),NQ(),zQ(),qQ(),DQ(),vQ(),AQ(),yQ(),$Q(),UQ(),wQ(),EQ(),jQ(),PQ(),FQ(),MQ(),bQ(),IQ(),CQ(),TQ()])),mZ=q(()=>Y.object({type:Y.literal("control_request"),request_id:Y.string(),request:RQ()})),fQ=q(()=>Y.object({subtype:Y.literal("success"),request_id:Y.string(),response:Y.record(Y.string(),Y.unknown()).optional()})),SQ=q(()=>Y.object({subtype:Y.literal("error"),request_id:Y.string(),error:Y.string(),pending_permission_requests:Y.array(Y.lazy(()=>mZ())).optional()})),s0=q(()=>Y.object({type:Y.literal("control_response"),response:Y.union([fQ(),SQ()])})),hQ=q(()=>Y.object({type:Y.literal("control_cancel_request"),request_id:Y.string()}).describe("Cancels a currently open control request.")),t0=q(()=>Y.object({type:Y.literal("keep_alive")}).describe("Keep-alive message to maintain WebSocket connection.")),kQ=q(()=>Y.object({type:Y.literal("update_environment_variables"),variables:Y.record(Y.string(),Y.string())}).describe("Updates environment variables at runtime.")),IX=q(()=>Y.union([r0(),l0(),a0(),n0(),s0(),mZ(),hQ(),t0()])),CX=q(()=>Y.union([d0(),mZ(),s0(),t0(),kQ()]));lQ();HZ();dQ();lZ();JZ();HZ();EZ();e0();xQ();var xX=q(()=>h.object({tool_name:h.string().describe("The name of the tool requesting permission"),input:h.record(h.string(),h.unknown()).describe("The input for the tool"),tool_use_id:h.string().optional().describe("The unique tool use request ID")})),YY=q(()=>h.enum(["user_temporary","user_permanent","user_reject"]).optional().catch(void 0)),uQ=q(()=>h.object({behavior:h.literal("allow"),updatedInput:h.record(h.string(),h.unknown()),updatedPermissions:h.array(ZY()).optional().catch((Q)=>{I(`Malformed updatedPermissions from SDK host ignored: ${Q.error.issues[0]?.message??"unknown"}`,{level:"warn"});return}),toolUseID:h.string().optional(),decisionClassification:YY()})),pQ=q(()=>h.object({behavior:h.literal("deny"),message:h.string(),interrupt:h.boolean().optional(),toolUseID:h.string().optional(),decisionClassification:YY()})),gZ=q(()=>h.union([uQ(),pQ()]));function jZ(Q,Z,X,V){let W={type:"permissionPromptTool",permissionPromptToolName:Z.name,toolResult:Q};if(Q.behavior==="allow"){let H=Q.updatedPermissions;if(H)V.setAppState((K)=>({...K,toolPermissionContext:yZ(K.toolPermissionContext,H)})),$Z(H);let G=Object.keys(Q.updatedInput).length>0?Q.updatedInput:X;return{...Q,updatedInput:G,decisionReason:W}}else if(Q.behavior==="deny"&&Q.interrupt)I(`SDK permission prompt deny+interrupt: tool=${Z.name} message=${Q.message}`),V.abortController.abort();return{...Q,decisionReason:W}}rQ();gQ();PZ();JZ();aQ();qY();e0();iQ();PZ();nQ();PZ();var cQ=/\u2028|\u2029/g;function mQ(Q){return Q.replace(cQ,(Z)=>Z==="\u2028"?"\\u2028":"\\u2029")}function QY(Q){return mQ(ZZ(Q))}var oQ="SandboxNetworkAccess";function sQ(Q){if(!Q)return;if(Q.type==="classifier")return Q.reason;switch(Q.type){case"rule":case"mode":case"subcommandResults":case"permissionPromptTool":return;case"hook":case"asyncAgent":case"sandboxOverride":case"workingDir":case"safetyCheck":case"other":return Q.reason}}function tQ(Q,Z,X,V){let W;try{W=Q.getActivityDescription?.(Z)??Q.getToolUseSummary?.(Z)??Q.userFacingName(Z)}catch{W=Q.name}return{tool_name:Q.name,action_description:W,tool_use_id:X,request_id:V,input:Z}}var eQ=1000;class Z6{input;replayUserMessages;structuredInput;pendingRequests=new Map;restoredWorkerState=Promise.resolve(null);inputClosed=!1;unexpectedResponseCallback;resolvedToolUseIds=new Set;prependedLines=[];onControlRequestSent;onControlRequestResolved;outbound=new NY;constructor(Q,Z){this.input=Q;this.replayUserMessages=Z;this.input=Q,this.structuredInput=this.read()}trackResolvedToolUseId(Q){if(Q.request.subtype==="can_use_tool"){if(this.resolvedToolUseIds.add(Q.request.tool_use_id),this.resolvedToolUseIds.size>eQ){let Z=this.resolvedToolUseIds.values().next().value;if(Z!==void 0)this.resolvedToolUseIds.delete(Z)}}}flushInternalEvents(){return Promise.resolve()}get internalEventsPending(){return 0}prependUserMessage(Q){this.prependedLines.push(ZZ({type:"user",session_id:"",message:{role:"user",content:Q},parent_tool_use_id:null})+`
|
|
19
|
+
`)}async*read(){let Q="",Z=async function*(){for(;;){if(this.prependedLines.length>0)Q=this.prependedLines.join("")+Q,this.prependedLines=[];let X=Q.indexOf(`
|
|
20
|
+
`);if(X===-1)break;let V=Q.slice(0,X);Q=Q.slice(X+1);let W=await this.processLine(V);if(W)GY("info","cli_stdin_message_parsed",{type:W.type}),yield W}}.bind(this);yield*Z();for await(let X of this.input)Q+=X,yield*Z();if(Q){let X=await this.processLine(Q);if(X)yield X}this.inputClosed=!0;for(let X of this.pendingRequests.values())X.reject(Error("Tool permission stream closed before response received"))}getPendingPermissionRequests(){return Array.from(this.pendingRequests.values()).map((Q)=>Q.request).filter((Q)=>Q.request.subtype==="can_use_tool")}setUnexpectedResponseCallback(Q){this.unexpectedResponseCallback=Q}injectControlResponse(Q){let Z=Q.response?.request_id;if(!Z)return;let X=this.pendingRequests.get(Z);if(!X)return;if(this.trackResolvedToolUseId(X.request),this.pendingRequests.delete(Z),this.write({type:"control_cancel_request",request_id:Z}),Q.response.subtype==="error")X.reject(Error(Q.response.error));else{let V=Q.response.response;if(X.schema)try{X.resolve(X.schema.parse(V))}catch(W){X.reject(W)}else X.resolve({})}}setOnControlRequestSent(Q){this.onControlRequestSent=Q}setOnControlRequestResolved(Q){this.onControlRequestResolved=Q}async processLine(Q){if(!Q)return;try{let Z=DY(WY(Q));if(Z.type==="keep_alive")return;if(Z.type==="update_environment_variables"){let X=Object.keys(Z.variables);for(let[V,W]of Object.entries(Z.variables))process.env[V]=W;I(`[structuredIO] applied update_environment_variables: ${X.join(", ")}`);return}if(Z.type==="control_response"){let X="uuid"in Z&&typeof Z.uuid==="string"?Z.uuid:void 0;if(X)HY(X,"completed");let V=this.pendingRequests.get(Z.response.request_id);if(!V){let G=(Z.response.subtype==="success"?Z.response.response:void 0)?.toolUseID;if(typeof G==="string"&&this.resolvedToolUseIds.has(G)){I(`Ignoring duplicate control_response for already-resolved toolUseID=${G} request_id=${Z.response.request_id}`);return}if(this.unexpectedResponseCallback)await this.unexpectedResponseCallback(Z);return}if(this.trackResolvedToolUseId(V.request),this.pendingRequests.delete(Z.response.request_id),V.request.request.subtype==="can_use_tool"&&this.onControlRequestResolved)this.onControlRequestResolved(Z.response.request_id);if(Z.response.subtype==="error"){V.reject(Error(Z.response.error));return}let W=Z.response.response;if(V.schema)try{V.resolve(V.schema.parse(W))}catch(H){V.reject(H)}else V.resolve({});if(this.replayUserMessages)return Z;return}if(Z.type!=="user"&&Z.type!=="control_request"&&Z.type!=="assistant"&&Z.type!=="system"){I(`Ignoring unknown message type: ${Z.type}`,{level:"warn"});return}if(Z.type==="control_request"){if(!Z.request)XY("Error: Missing request on control_request");return Z}if(Z.type==="assistant"||Z.type==="system")return Z;if(Z.message.role!=="user")XY(`Error: Expected message role 'user', got '${Z.message.role}'`);return Z}catch(Z){console.error(`Error parsing streaming input line: ${Q}: ${Z}`),process.exit(1)}}async write(Q){KY(QY(Q)+`
|
|
21
|
+
`)}async sendRequest(Q,Z,X,V=dZ()){let W={type:"control_request",request_id:V,request:Q};if(this.inputClosed)throw Error("Stream closed");if(X?.aborted)throw Error("Request aborted");if(this.outbound.enqueue(W),Q.subtype==="can_use_tool"&&this.onControlRequestSent)this.onControlRequestSent(W);let H=()=>{this.outbound.enqueue({type:"control_cancel_request",request_id:V});let G=this.pendingRequests.get(V);if(G)this.trackResolvedToolUseId(G.request),G.reject(new VY)};if(X)X.addEventListener("abort",H,{once:!0});try{return await new Promise((G,K)=>{this.pendingRequests.set(V,{request:{type:"control_request",request_id:V,request:Q},resolve:(B)=>{G(B)},reject:K,schema:Z})})}finally{if(X)X.removeEventListener("abort",H);this.pendingRequests.delete(V)}}createCanUseTool(Q){return async(Z,X,V,W,H,G)=>{let K=G??await BY(Z,X,V,W,H);if(K.behavior==="allow"||K.behavior==="deny")return K;let B=new AbortController,z=V.abortController.signal,J=()=>B.abort();z.addEventListener("abort",J,{once:!0});try{let L=Y6(Z.name,H,X,V,K.suggestions).then((P)=>({source:"hook",decision:P})),_=dZ();Q?.(tQ(Z,X,H,_));let w=this.sendRequest({subtype:"can_use_tool",tool_name:Z.name,input:X,permission_suggestions:K.suggestions,blocked_path:K.blockedPath,decision_reason:sQ(K.decisionReason),tool_use_id:H,agent_id:V.agentId},gZ(),B.signal,_).then((P)=>({source:"sdk",result:P})),v=await Promise.race([L,w]);if(v.source==="hook"){if(v.decision)return w.catch(()=>{}),B.abort(),v.decision;let P=await w;return jZ(P.result,Z,X,V)}return jZ(v.result,Z,X,V)}catch(L){return jZ({behavior:"deny",message:`Tool permission request failed: ${L}`,toolUseID:H},Z,X,V)}finally{if(this.getPendingPermissionRequests().length===0)LY("running");z.removeEventListener("abort",J)}}}createHookCallback(Q,Z){return{type:"callback",timeout:Z,callback:async(X,V,W)=>{try{return await this.sendRequest({subtype:"hook_callback",callback_id:Q,input:X,tool_use_id:V||void 0},JY(),W)}catch(H){return console.error(`Error in hook callback ${Q}:`,H),{}}}}}async handleElicitation(Q,Z,X,V,W,H,G){try{return await this.sendRequest({subtype:"elicitation",mcp_server_name:Q,message:Z,mode:W,url:H,elicitation_id:G,requested_schema:X},o0(),V)}catch{return{action:"cancel"}}}createSandboxAskCallback(){return async(Q)=>{try{return(await this.sendRequest({subtype:"can_use_tool",tool_name:oQ,input:{host:Q.host},tool_use_id:dZ(),description:`Allow network connection to ${Q.host}?`},gZ())).behavior==="allow"}catch{return!1}}}async sendMcpMessage(Q,Z){return(await this.sendRequest({subtype:"mcp_message",server_name:Q,message:Z},Y.object({mcp_response:Y.any()}))).mcp_response}}function XY(Q){console.error(Q),process.exit(1)}async function Y6(Q,Z,X,V,W){let G=V.getAppState().toolPermissionContext.mode,K=zY(Q,Z,X,V,G,W,V.abortController.signal);for await(let B of K)if(B.permissionRequestResult&&(B.permissionRequestResult.behavior==="allow"||B.permissionRequestResult.behavior==="deny")){let z=B.permissionRequestResult;if(z.behavior==="allow"){let J=z.updatedInput||X,L=z.updatedPermissions??[];if(L.length>0){$Z(L);let _=V.getAppState(),w=yZ(_.toolPermissionContext,L);V.setAppState((v)=>{if(v.toolPermissionContext===w)return v;return{...v,toolPermissionContext:w}})}return{behavior:"allow",updatedInput:J,userModified:!1,decisionReason:{type:"hook",hookName:"PermissionRequest"}}}else return{behavior:"deny",message:z.message||"Permission denied by PermissionRequest hook",decisionReason:{type:"hook",hookName:"PermissionRequest"}}}return}_Y();function HV(Q){if(Q.type!=="user")return;let Z=Q.message?.content;if(!Z)return;if(Array.isArray(Z)&&Z.length===0)return;let X="uuid"in Q&&typeof Q.uuid==="string"?Q.uuid:void 0;return{content:Array.isArray(Z)?Q6(Z):Z,uuid:X}}function Q6(Q){if(!Q.some(vY))return Q;return Q.map((Z)=>{if(!vY(Z))return Z;let X=Z.source,V=typeof X.mediaType==="string"&&X.mediaType?X.mediaType:AY(Z.source.data);return{...Z,source:{type:"base64",media_type:V,data:Z.source.data}}})}function vY(Q){if(Q.type!=="image"||Q.source?.type!=="base64")return!1;return!Q.source.media_type}BZ();J6();V6();G6();X6();K6();W6();import{randomUUID as H6}from"crypto";function N6(Q){return Q===wY?EY:Q}function OV(Q){let X=yY()?.outputStyle??PY,V={type:"system",subtype:"init",cwd:UY(),session_id:NZ(),tools:Q.tools.map((W)=>N6(W.name)),mcp_servers:Q.mcpClients.map((W)=>({name:W.name,status:W.type})),model:Q.model,permissionMode:Q.permissionMode,slash_commands:Q.commands.filter((W)=>W.userInvocable!==!1).map((W)=>W.name),apiKeySource:jY().source,betas:OY(),claude_code_version:"99.0.0",output_style:X,agents:Q.agents.map((W)=>W.agentType),skills:Q.skills.filter((W)=>W.userInvocable!==!1).map((W)=>W.name),plugins:Q.plugins.map((W)=>({name:W.name,path:W.path,source:W.source})),uuid:H6()};return V.fast_mode_state=$Y(Q.model,Q.fastMode),V}var FY={"`":"`",'"':'"',"<":">","{":"}","[":"]","(":")","'":"'"};function B6(Q,Z){if(!new RegExp(Z,"i").test(Q))return[];if(Q.startsWith("/"))return[];let V=[],W=null,H=0,G=(J)=>!!J&&/[\p{L}\p{N}_]/u.test(J);for(let J=0;J<Q.length;J++){let L=Q[J];if(W){if(W==="["&&L==="["){H=J;continue}if(L!==FY[W])continue;if(W==="'"&&G(Q[J+1]))continue;V.push({start:H,end:J+1}),W=null}else if(L==="<"&&J+1<Q.length&&/[a-zA-Z/]/.test(Q[J+1])||L==="'"&&!G(Q[J-1])||L!=="<"&&L!=="'"&&L in FY)W=L,H=J}let K=[],B=new RegExp(`\\b${Z}\\b`,"gi"),z=Q.matchAll(B);for(let J of z){if(J.index===void 0)continue;let L=J.index,_=L+J[0].length;if(V.some((P)=>L>=P.start&&L<P.end))continue;let w=Q[L-1],v=Q[_];if(w==="/"||w==="\\"||w==="-")continue;if(v==="/"||v==="\\"||v==="-"||v==="?")continue;if(v==="."&&G(Q[_+1]))continue;K.push({word:J[0],start:L,end:_})}return K}function wV(Q){return B6(Q,"ultrareview")}UZ();wZ();w6();_6();O6();v6();qY();_Y();D6();wZ();U6();A6();import{randomUUID as E6}from"crypto";BZ();UZ();wZ();L6();z6();import{randomUUID as q6}from"crypto";function MY(Q){let Z=Q.toLowerCase();return/\b(wtf|wth|ffs|omfg|shit(ty|tiest)?|dumbass|horrible|awful|piss(ed|ing)? off|piece of (shit|crap|junk)|what the (fuck|hell)|fucking? (broken|useless|terrible|awful|horrible)|fuck you|screw (this|you)|so frustrating|this sucks|damn it)\b/.test(Z)}function bY(Q){let Z=Q.toLowerCase().trim();if(Z==="continue")return!0;return/\b(keep going|go on)\b/.test(Z)}function fY(Q,Z,X,V,W,H,G){let K=q6();IY(K);let B=typeof Q==="string"?Q:Q.find((w)=>w.type==="text")?.text||"";RY(B);let z=typeof Q==="string"?Q:Q.findLast((w)=>w.type==="text")?.text||"";if(z)TY("user_prompt",{prompt_length:String(z.length),prompt:CY(z),"prompt.id":K});let J=MY(B),L=bY(B);if(g("tengu_input_prompt",{is_negative:J,is_keep_going:L}),Z.length>0){let w=typeof Q==="string"?Q.trim()?[{type:"text",text:Q}]:[]:Q;return{messages:[s({content:[...w,...Z],uuid:W,imagePasteIds:X.length>0?X:void 0,permissionMode:H,isMeta:G||void 0}),...V],shouldQuery:!0}}return{messages:[s({content:Q,uuid:W,permissionMode:H,isMeta:G||void 0}),...V],shouldQuery:!0}}async function iV({input:Q,preExpansionInput:Z,mode:X,setToolJSX:V,context:W,pastedContents:H,ideSelection:G,messages:K,setUserInputOnProcessing:B,uuid:z,isAlreadyProcessing:J,querySource:L,canUseTool:_,skipSlashCommands:w,bridgeOrigin:v,isMeta:P,skipAttachments:f}){let D=typeof Q==="string"?Q:null;if(X==="prompt"&&D!==null&&!P)B?.(D);n("query_process_user_input_base_start");let F=W.getAppState(),y=await y6(Q,X,V,W,H,G,K,z,J,L,_,F.toolPermissionContext.mode,w,v,P,f,Z);if(n("query_process_user_input_base_end"),!y.shouldQuery)return y;n("query_hooks_start");let S=hY(Q)||"";for await(let O of iY(S,F.toolPermissionContext.mode,W,W.requestPrompt)){if(O.message?.type==="progress")continue;if(O.blockingError){let $=rY(O.blockingError);return{messages:[gY(`${$}
|
|
22
|
+
|
|
23
|
+
Original prompt: ${Q}`,"warning")],shouldQuery:!1,allowedTools:y.allowedTools}}if(O.preventContinuation){let $=O.stopReason?`Operation stopped by hook: ${O.stopReason}`:"Operation stopped by hook";return y.messages.push(s({content:$})),y.shouldQuery=!1,y}if(O.additionalContexts&&O.additionalContexts.length>0)y.messages.push(kY({type:"hook_additional_context",content:O.additionalContexts.map(SY),hookName:"UserPromptSubmit",toolUseID:`hook-${E6()}`,hookEvent:"UserPromptSubmit"}));if(O.message)switch(O.message.attachment.type){case"hook_success":if(!O.message.attachment.content)break;y.messages.push({...O.message,attachment:{...O.message.attachment,content:SY(O.message.attachment.content)}});break;default:y.messages.push(O.message);break}}return n("query_hooks_end"),y}var aZ=1e4;function SY(Q){if(Q.length>aZ)return`${Q.substring(0,aZ)}… [output truncated - exceeded ${aZ} characters]`;return Q}async function y6(Q,Z,X,V,W,H,G,K,B,z,J,L,_,w,v,P,f){let D=null,F=[],y=[],S=Q;if(typeof Q==="string")D=Q;else if(Q.length>0){n("query_image_processing_start");let A=[];for(let N of Q)if(N.type==="image"){let u=await iZ(N);if(u.dimensions){let l=FZ(u.dimensions);if(l)y.push(l)}A.push(u.block)}else A.push(N);S=A,n("query_image_processing_end");let j=A[A.length-1];if(j?.type==="text")D=j.text,F=A.slice(0,-1);else F=A}if(D===null&&Z!=="prompt")throw Error(`Mode: ${Z} requires a string input.`);let O=W?Object.values(W).filter(cY):[],$=O.map((A)=>A.id),d=W?await xY(W):new Map;n("query_pasted_image_processing_start");let i=await Promise.all(O.map(async(A)=>{let j={type:"image",source:{type:"base64",media_type:A.mediaType||"image/png",data:A.content}};return g("tengu_pasted_image_resize_attempt",{original_size_bytes:A.content.length}),{resized:await iZ(j),originalDimensions:A.dimensions,sourcePath:A.sourcePath??d.get(A.id)}})),o=[];for(let{resized:A,originalDimensions:j,sourcePath:N}of i){if(A.dimensions){let u=FZ(A.dimensions,N);if(u)y.push(u)}else if(j){let u=FZ(j,N);if(u)y.push(u)}else if(N)y.push(`[Image source: ${N}]`);o.push(A.block)}n("query_pasted_image_processing_end");let C=_;if(w&&D!==null&&D.startsWith("/")){let A=pY(D),j=A?nY(A.commandName,V.options.commands):void 0;if(j)if(aY(j))C=!1;else{let N=`/${lY(j)} isn't available over Remote Control.`;return{messages:[s({content:D,uuid:K}),dY(`<local-command-stdout>${N}</local-command-stdout>`)],shouldQuery:!1,resultText:N}}}let k=!P&&D!==null&&(Z!=="prompt"||C||!D.startsWith("/"));n("query_attachment_loading_start");let x=k?await uY(mY(D,V,H??null,[],G,z)):[];if(n("query_attachment_loading_end"),D!==null&&Z==="bash"){let{processBashCommand:A}=await import("./processBashCommand-1.1.3-qatq374q.mjs");return nZ(await A(D,F,x,V,X),y)}if(D!==null&&!C&&D.startsWith("/")){let{processSlashCommand:A}=await import("./processSlashCommand-1.1.3-g45j16m5.mjs"),j=await A(D,F,o,x,V,X,K,B,J);return nZ(j,y)}if(D!==null&&Z==="prompt"){let A=D.trim(),j=x.find((N)=>N.attachment.type==="agent_mention");if(j){let N=`@agent-${j.attachment.agentType}`,u=A===N,l=A.startsWith(N)&&!u;g("tengu_subagent_at_mention",{is_subagent_only:u,is_prefix:l})}}return nZ(fY(S,o,$,x,K,L,v),y)}function nZ(Q,Z){if(Z.length>0)Q.messages.push(s({content:Z.map((X)=>({type:"text",text:X})),isMeta:!0}));return Q}i6();BZ();HZ();lZ();n6();a6();w0();o6();r6();import{isAbsolute as s6,resolve as t6}from"path";function e6(Q,Z,X){let V=[],W=[],H=[];for(let[G,K]of Object.entries(Q)){let B=Z[G],z=b9(K.source,X?.projectRoot);if(!B)V.push(G);else if(K.sourceIsFallback)H.push(G);else if(!j9(z,B.source))W.push({name:G,declaredSource:z,materializedSource:B.source});else H.push(G)}return{missing:V,sourceChanged:W,upToDate:H}}async function IW(Q){let Z=P9();if(Object.keys(Z).length===0)return{installed:[],updated:[],failed:[],upToDate:[],skipped:[]};let X;try{X=await F9()}catch(J){e(J),X={}}let V=e6(Z,X,{projectRoot:W0()}),W=[...V.missing.map((J)=>({name:J,source:b9(Z[J].source),action:"install"})),...V.sourceChanged.map(({name:J,declaredSource:L})=>({name:J,source:L,action:"update"}))],H=[],G=[];for(let J of W){if(Q?.skip?.(J.name,J.source)){H.push(J.name);continue}if(J.action==="update"&&$9(J.source)&&!await y9(J.source.path)){I(`[reconcile] '${J.name}' declared path does not exist; keeping materialized entry`),H.push(J.name);continue}G.push(J)}if(G.length===0)return{installed:[],updated:[],failed:[],upToDate:V.upToDate,skipped:H};I(`[reconcile] ${G.length} marketplace(s): ${G.map((J)=>`${J.name}(${J.action})`).join(", ")}`);let K=[],B=[],z=[];for(let J=0;J<G.length;J++){let{name:L,source:_,action:w}=G[J];Q?.onProgress?.({type:"installing",name:L,action:w,index:J+1,total:G.length});try{let v=await M9(_);if(w==="install")K.push(L);else B.push(L);Q?.onProgress?.({type:"installed",name:L,alreadyMaterialized:v.alreadyMaterialized})}catch(v){let P=w9(v);z.push({name:L,error:P}),Q?.onProgress?.({type:"failed",name:L,error:P}),e(v)}}return{installed:K,updated:B,failed:z,upToDate:V.upToDate,skipped:H}}function b9(Q,Z){if((Q.source==="directory"||Q.source==="file")&&!s6(Q.path)){let X=Z??W0(),V=E9(X);return{...Q,path:t6(V??X,Q.path)}}return Q}
|
|
24
|
+
export{HV as la,N6 as ma,OV as na,e9 as oa,S0 as pa,VQ as qa,WQ as ra,KQ as sa,wV as ta,iV as ua,gZ as va,jZ as wa,QY as xa,oQ as ya,Z6 as za,e6 as Aa,IW as Ba,M6 as Ca,b6 as Da,I6 as Ea,g6 as Fa,d6 as Ga,l6 as Ha};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import{Fc as zc,Gc as on}from"./cli-1.1.3-3n4z9x5v.mjs";import{Hc as Vh,Ic as jt,Jc as Vt,Kc as Oc,Mc as jn}from"./cli-1.1.3-cfbvqt93.mjs";import{Nc as ft,Qc as Dn}from"./cli-1.1.3-neffpndz.mjs";import{$p as Ln,MG as bu,NG as ln,OG as Ou,PG as zu,QG as Ru,RG as rn,Sp as Mu,Tp as Tu,Up as Uu,Vp as Eu,Wp as nc,Xp as Ct,Yp as Xh,Zp as Pu,_p as Bu,aq as Nh,cq as ou,dq as ac,fq as pu,iq as ku,jq as An,jy as bc,kI as eh,kq as Lu,lG as Xt,lI as jc,lq as Qu,ly as Pn,mG as sh,mq as Nu,nI as In,nq as Ju,oI as xn,oq as at,pq as Ah,qq as gn,rq as Jh,sx as Cc,tq as Gu,tx as lc,uq as mc,ux as rc,vG as S,vr as yc,vx as wc,wG as Dc,wq as Su,wr as Un,wx as En,xG as Bn}from"./cli-1.1.3-hs9ck03n.mjs";import{LY as uc,MY as Tn,xY as D,zY as Mn}from"./cli-1.1.3-ezvsqkxt.mjs";import{D1 as Eh,Y0 as F,_0 as y}from"./cli-1.1.3-kh7s1ptn.mjs";import{G2 as Ph,H2 as Bh,I2 as Ih,J2 as xh,K2 as Dh,L2 as xc,O2 as jh,S2 as oh,T2 as cc,U2 as ph}from"./cli-1.1.3-vy745mt9.mjs";import{j4 as yt,k4 as n,l4 as z,m4 as Tt}from"./cli-1.1.3-ckgtccms.mjs";import{n4 as Qt}from"./cli-1.1.3-5zveqbgr.mjs";import{K4 as Pt,L4 as qu}from"./cli-1.1.3-35pxqjkd.mjs";import{$4 as Uh,W6 as Dt,b5 as Ic,n7 as Wn}from"./cli-1.1.3-zg0yshsb.mjs";import{$fa as Qh,A_ as Sn,Dfa as nt,Efa as _h,Gfa as kh,Kfa as Th,Pfa as Oh,Qfa as yu,Rfa as Cu,Sfa as Ut,Tfa as zh,Ufa as lu,Vfa as bh,Wfa as ru,Xfa as wu,Yfa as Cn,Zfa as Lh,_fa as gu,bga as Xu,dga as hc,ega as pt,nfa as tc,ofa as $t,pfa as Hn,qfa as ot,rfa as x,tfa as B,ufa as xt,uga as Kn,wfa as Jt,xfa as Fh,yfa as ut,z_ as qt,zfa as ct}from"./cli-1.1.3-c06t4mva.mjs";import{ila as o,qla as Et}from"./cli-1.1.3-6jpsfc7q.mjs";import{Asa as Lt,Bsa as Gn,Esa as I}from"./cli-1.1.3-atjv82jv.mjs";function pc(t,h=Ch,u){let a=x().find((w)=>w.provider==="openai"&&w.extras?.githubToken!==void 0);if(a){if(!ct(a.id,{provider:"openai",name:a.name,baseUrl:u||a.baseUrl,model:a.model||h,apiKey:t,extras:{...a.extras,githubToken:t}}))return{mode:"failed"};return nt(a.id),{mode:"updated"}}if(!ut({provider:"openai",name:"GitHub Copilot",baseUrl:u||oc,model:h,apiKey:t,extras:{githubToken:t}},{makeActive:!0}))return{mode:"failed"};return{mode:"created"}}function vh({onDone:t,onBack:h,onChangeAPIKey:u}){let a=jh()?.trim()?"already-authed":"menu",[C,w]=j.useState(a),[f,A]=j.useState(null),[$,R]=j.useState(""),[X,J]=j.useState(0),[Q,H]=j.useState(null),V=j.useCallback(async(i,Z=Ch,mt,N)=>{let P=oh(i,mt,N?.enterpriseDomain);if(!P.success){A(P.warning??"Could not save token to secure storage."),w("error");return}if(pc(i,Z,N?.baseUrl).mode==="failed"){A("Could not save the GitHub Copilot provider profile."),w("error");return}Uh(),u?.(),t("GitHub Copilot onboard complete. Copilot token stored in secure storage and as the active /provider profile.",{display:"user"})},[u,t]),O=j.useCallback(async(i)=>{w("device-busy"),A(null),H(null);try{let Z=await Bh({domain:i});H({user_code:Z.user_code,verification_uri:Z.verification_uri}),await xh(Z.verification_uri);let mt=await Ih(Z.device_code,{initialInterval:Z.interval,timeoutSeconds:Z.expires_in,domain:i}),N=await Dh(mt,{domain:i});await V(N.token,Ch,mt,{baseUrl:N.endpoints.api?.replace(/\/+$/,"")||void 0,enterpriseDomain:i})}catch(Z){A(Z instanceof Error?Z.message:String(Z)),w("error")}},[V]);if(C==="already-authed")return z(F,{flexDirection:"column",gap:1,children:[n(y,{bold:!0,children:"GitHub Copilot"}),n(y,{children:"You are already signed in to GitHub Copilot."}),n(y,{dimColor:!0,children:'Choose "Sign in again" to refresh your token, or go back to the provider menu.'}),n(S,{options:[{label:"Sign in again",value:"sign-in-again"},{label:"Sign in with GitHub Enterprise",value:"enterprise"},{label:h?"Back to /provider menu":"Cancel",value:"back"}],onChange:(Z)=>{if(Z==="sign-in-again"){O();return}if(Z==="enterprise"){w("enterprise-domain");return}if(h){h();return}t("GitHub onboard cancelled",{display:"system"})}})]});if(C==="enterprise-domain")return z(F,{flexDirection:"column",gap:1,children:[n(y,{bold:!0,children:"GitHub Enterprise sign-in"}),n(y,{dimColor:!0,children:"Enter your GitHub Enterprise domain (e.g. github.acme.com). Leave empty for github.com."}),z(F,{flexDirection:"row",gap:1,children:[n(y,{children:">"}),n(Xt,{value:$,onChange:R,onSubmit:()=>{let Z=Ph($);if(!Z){O();return}O(Z)},onExit:()=>w(a),focus:!0,showCursor:!0,placeholder:"github.acme.com",columns:80,cursorOffset:X,onChangeCursorOffset:J})]}),n(y,{dimColor:!0,children:"Press Enter to continue. Press Esc to go back."})]});if(C==="error"&&f)return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"red",children:f}),n(S,{options:[{label:h?"Back to /provider menu":"Back to menu",value:"back"},{label:"Exit",value:"exit"}],onChange:(Z)=>{if(Z==="back"){if(h){h();return}w("menu"),A(null);return}t("GitHub onboard cancelled",{display:"system"})}})]});if(C==="device-busy")return z(F,{flexDirection:"column",gap:1,children:[n(y,{children:"GitHub Copilot sign-in"}),Q?z(yt,{children:[z(y,{children:["Enter code ",n(y,{bold:!0,children:Q.user_code})," at"," ",Q.verification_uri]}),n(y,{dimColor:!0,children:"A browser window may have opened. Waiting for authorization..."})]}):n(y,{dimColor:!0,children:"Requesting device code from GitHub..."}),n(eh,{})]});return z(F,{flexDirection:"column",gap:1,children:[n(y,{bold:!0,children:"GitHub Copilot setup"}),n(y,{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."}),n(S,{options:[{label:"Sign in with browser",value:"device"},{label:"Sign in with GitHub Enterprise",value:"enterprise"},{label:h?"Back to /provider menu":"Cancel",value:"cancel"}],onChange:(i)=>{if(i==="cancel"){if(h){h();return}t("GitHub onboard cancelled",{display:"system"});return}if(i==="enterprise"){w("enterprise-domain");return}O()}})]})}var j,Ch="github:copilot",oc="https://api.githubcopilot.com";var tu=I(()=>{Dc();jc();sh();Eh();xc();ph();Ic();Th();Tt();j=Lt(Qt(),1)});function uu(t){return[t.name,t.family??"",...t.families??[],t.parameterSize??"",t.quantizationLevel??""].join(" ").toLowerCase()}function Nt(t,h){return h.some((u)=>t.includes(u))}function tn(t){return!Nt(uu(t),hu)}function hn(t){return t.find(tn)??null}function lh(t){let u=`${t.parameterSize??""} ${t.name}`.toLowerCase().match(/(\d+(?:\.\d+)?)\s*b\b/);if(u?.[1])return Number(u[1]);if(typeof t.sizeBytes==="number"&&t.sizeBytes>0)return Number((t.sizeBytes/1e9).toFixed(1));return null}function un(t){return(t.quantizationLevel??t.name).toLowerCase()}function cn(t,h,u){if(t===null)return u.push("unknown size"),0;if(h==="latency"){if(t<=4)return u.push("tiny model for low latency"),32;if(t<=8)return u.push("small model for fast responses"),26;if(t<=14)return u.push("mid-sized model with acceptable latency"),16;if(t<=24)return u.push("larger model may be slower"),8;return u.push("large model likely slower locally"),t<=40?0:-8}if(h==="coding"){if(t>=7&&t<=14)return u.push("strong coding size tier"),24;if(t>14&&t<=34)return u.push("large coding-capable size tier"),28;if(t>34)return u.push("very large model with higher quality potential"),18;return u.push("compact model may trade off coding depth"),12}if(t>=7&&t<=14)return u.push("great balanced size tier"),26;if(t>=3&&t<7)return u.push("compact balanced size tier"),18;if(t>14&&t<=24)return u.push("high quality balanced size tier"),20;if(t>24)return u.push("large model for quality-first usage"),10;return u.push("very small model for general usage"),8}function nn(t,h,u){let a=un(t);if(a.includes("q4"))return u.push("efficient Q4 quantization"),h==="latency"?8:4;if(a.includes("q5"))return u.push("balanced Q5 quantization"),h==="latency"?6:5;if(a.includes("q8"))return u.push("higher quality Q8 quantization"),h==="latency"?2:5;return 0}function an(t,h,u){if(h.score!==t.score)return h.score-t.score;let a=lh(t)??Number.POSITIVE_INFINITY,C=lh(h)??Number.POSITIVE_INFINITY;if(u==="latency")return a-C;if(u==="coding")return C-a;let w=14;return Math.abs(a-w)-Math.abs(C-w)}function rh(t,h){return t.map((u)=>{let a=uu(u),C=[],w=0;if(Nt(a,hu))w-=40,C.push("not a chat-first model");if(Nt(a,sc))w+=h==="coding"?24:h==="balanced"?10:4,C.push("coding-oriented model family");if(Nt(a,ec))w+=h==="latency"?4:h==="coding"?6:8,C.push("strong general-purpose model family");if(Nt(a,vc))w+=h==="latency"?2:6,C.push("chat/instruct tuned");if(a.includes("vision")||a.includes("vl"))w-=2,C.push("vision model adds extra overhead");w+=cn(lh(u),h,C),w+=nn(u,h,C);let f=C.slice(0,3).join(", ");return{...u,score:w,reasons:C,summary:f}}).sort((u,a)=>an(u,a,h))}function cu(t,h){return hn(rh(t,h))}var sc,ec,vc,hu;var nu=I(()=>{sc=["coder","codellama","codegemma","codestral","devstral","starcoder","deepseek-coder","qwen2.5-coder","qwen-coder"],ec=["llama","qwen","mistral","gemma","phi","deepseek"],vc=["instruct","chat","assistant"],hu=["embed","embedding","rerank","bge","whisper"]});function yn(t){let h=t.toLowerCase();return mn.some((u)=>h.includes(u))}function wh(t){try{let h=new URL(t);if(h.username)h.username="redacted";if(h.password)h.password="redacted";for(let u of h.searchParams.keys())if(yn(u))h.searchParams.set(u,"redacted");return h.toString()}catch{return t.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 mn;var au=I(()=>{mn=["api_key","apikey","key","token","access_token","refresh_token","signature","sig","secret","password","passwd","pwd","auth","authorization"]});function wn(t){let h=`http://localhost:${t.port}/auth/callback`,u=new URL(`${Oh}/oauth/authorize`);return u.searchParams.append("response_type","code"),u.searchParams.append("client_id",zh()),u.searchParams.append("redirect_uri",h),u.searchParams.append("scope",yu),u.searchParams.append("code_challenge",t.codeChallenge),u.searchParams.append("code_challenge_method","S256"),u.searchParams.append("id_token_add_organizations","true"),u.searchParams.append("codex_cli_simplified_flow","true"),u.searchParams.append("state",t.state),u.searchParams.append("originator",Cu),u.toString()}function bn(){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 On(t){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>${ru(t)}</p>
|
|
31
|
+
<p>You can close this window and try again in Claudin.</p>
|
|
32
|
+
</body>
|
|
33
|
+
</html>`}function mu(){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 zn(t){let h=`http://localhost:${t.port}/auth/callback`,u=new URLSearchParams({grant_type:"authorization_code",code:t.authorizationCode,redirect_uri:h,client_id:zh(),code_verifier:t.codeVerifier}),a=await fetch(`${Oh}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:u,signal:t.signal?AbortSignal.any([t.signal,AbortSignal.timeout(15000)]):AbortSignal.timeout(15000)});if(!a.ok){let R=await a.text().catch(()=>"");throw Error(R.trim()?`Codex OAuth token exchange failed (${a.status}): ${R.trim()}`:`Codex OAuth token exchange failed with status ${a.status}.`)}let C=await a.json(),w=Ut(C.access_token),f=Ut(C.refresh_token);if(!w||!f)throw Error("Codex OAuth completed, but the token response was missing credentials.");let A=Ut(C.id_token);return{apiKey:A?await wu(A).catch(()=>{return}):void 0,accessToken:w,refreshToken:f,idToken:A,accountId:bh(A)??bh(w)}}class Rh{authCodeListener=null;port=null;tokenExchangeAbortController=null;buildCancellationError(){return Error("Codex OAuth flow was cancelled.")}async startOAuthFlow(t){let h=Ou(),u=lu(),a=new bu("/auth/callback");this.authCodeListener=a,this.port=null;try{let C=await a.start(u);this.port=C;let w=Ru(),f=await zu(h),A=wn({port:C,codeChallenge:f,state:w});try{let $=await a.waitForAuthorization(w,async()=>{await t(A)}),R=new AbortController;this.tokenExchangeAbortController=R;let X;try{X=await zn({authorizationCode:$,codeVerifier:h,port:C,signal:R.signal})}finally{if(this.tokenExchangeAbortController===R)this.tokenExchangeAbortController=null}if(this.authCodeListener!==a)throw this.buildCancellationError();return a.handleSuccessRedirect([],(J)=>{J.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),J.end(bn())}),X}catch($){let R=this.authCodeListener===a?$:this.buildCancellationError();if(a.hasPendingResponse()){let X=R instanceof Error&&R.message==="Codex OAuth flow was cancelled.";a.handleErrorRedirect((J)=>{J.writeHead(X?200:400,{"Content-Type":"text/html; charset=utf-8"}),J.end(X?mu():On(R instanceof Error?R.message:String(R)))})}throw R}finally{this.cleanup()}}catch(C){let w=C instanceof Error?C.message:String(C);if(w.includes("EADDRINUSE")||w.includes(String(u)))throw Error(`Codex OAuth needs localhost:${u} for its callback. Close any app already using that port and try again.`);throw C}}cleanup(){let t=this.buildCancellationError();if(this.tokenExchangeAbortController?.abort(t),this.tokenExchangeAbortController=null,this.authCodeListener?.hasPendingResponse())this.authCodeListener.handleErrorRedirect((h)=>{h.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),h.end(mu())});this.authCodeListener?.cancelPendingAuthorization(t),this.authCodeListener=null,this.port=null}}var Au=I(()=>{ln();rn();Cn()});function Rn(){return new Rh}function $u(t){let{onAuthenticated:h}=t,u=t.deps?.createOAuthService??Rn,a=t.deps?.openBrowser??Pt,C=t.deps?.saveCodexCredentials??gu,w=t.deps?.isBareMode??o,[f,A]=Bt.useState({state:"starting"});return Bt.useEffect(()=>{if(w()){A({state:"error",message:"Codex OAuth is unavailable in --bare because secure storage is disabled."});return}let $=!1,R=u();return R.startOAuthFlow(async(X)=>{if($)return;A({state:"waiting",authUrl:X,browserOpened:null});let J=await a(X);if($)return;A({state:"waiting",authUrl:X,browserOpened:J})}).then(async(X)=>{if($)return;await h(X,(Q)=>{let H=C({apiKey:X.apiKey,accessToken:X.accessToken,refreshToken:X.refreshToken,idToken:X.idToken,accountId:X.accountId,profileId:Q?.profileId});if(!H.success)throw Error(H.warning??"Codex OAuth succeeded, but credentials could not be saved securely.")})}).catch((X)=>{if($)return;A({state:"error",message:X instanceof Error?X.message:String(X)})}),()=>{$=!0,R.cleanup()}},[u,w,h,a,C]),f}var Bt;var fu=I(()=>{Au();qu();Xu();Et();Bt=Lt(Qt(),1)});function du(){return{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":ku()}}function _u(t,h){let u=Number(t);return Number.isFinite(u)&&u>0?u*1000:h}function fn(t,h){if(h?.aborted)return Promise.resolve();return new Promise((u)=>{let a=setTimeout(()=>{h?.removeEventListener("abort",C),u()},t),C=()=>{clearTimeout(a),u()};h?.addEventListener("abort",C,{once:!0})})}async function Fn(t){let h=t?.fetchImpl??fetch,u=t?.signal?AbortSignal.any([t.signal,AbortSignal.timeout(15000)]):AbortSignal.timeout(15000),a=await h(Qu,{method:"POST",headers:du(),body:new URLSearchParams({client_id:Ah(),scope:Ju}).toString(),signal:u});if(!a.ok){let $=await a.text().catch(()=>"");throw Error(`xAI device code request failed (${a.status})${$?`: ${$.trim()}`:""}`)}let C=await a.json(),w=at(C.device_code),f=at(C.user_code),A=at(C.verification_uri);if(!w||!f||!A)throw Error("xAI device code response is missing device_code / user_code / verification_uri.");return{device_code:w,user_code:f,verification_uri:A,verification_uri_complete:at(C.verification_uri_complete),expires_in:typeof C.expires_in==="number"&&C.expires_in>0?C.expires_in:Zu/1000,interval:typeof C.interval==="number"&&C.interval>0?C.interval:Vu/1000}}async function _n(t,h){let u=h?.fetchImpl??fetch,a=h?.sleep??fn,C=h?.now??(()=>Date.now()),w=_u(t.expires_in,Zu),f=C()+w,A=Math.max(_u(t.interval,Vu),Xn);while(C()<f){if(h?.signal?.aborted)throw Error("xAI device authorization was cancelled.");let $=await u(Lu,{method:"POST",headers:du(),body:new URLSearchParams({grant_type:Nu,client_id:Ah(),device_code:t.device_code}).toString(),signal:h?.signal});if($.ok){let Q=await $.json(),H=at(Q.access_token),V=at(Q.refresh_token);if(!H||!V)throw Error("xAI OAuth completed, but the token response was missing credentials.");let O=typeof Q.expires_in==="number"&&Number.isFinite(Q.expires_in)&&Q.expires_in>0?Q.expires_in:3600;return{accessToken:H,refreshToken:V,idToken:at(Q.id_token),expiresAt:C()+O*1000}}let R=await $.json().catch(()=>({})),X=Math.max(0,f-C());if(R.error==="authorization_pending"){await a(Math.min(A+Fu,X),h?.signal);continue}if(R.error==="slow_down"){A=Math.min(A+qn,$n),await a(Math.min(A+Fu,X),h?.signal);continue}if(R.error==="access_denied"||R.error==="authorization_denied")throw Error("xAI device authorization was denied.");if(R.error==="expired_token")throw Error("xAI device code expired - please re-run login.");let J=R.error_description??R.error??"";throw Error(`xAI device token exchange failed (${$.status})${J?`: ${J}`:""}`)}throw Error("xAI device authorization timed out.")}class gh{abortController=null;async startDeviceFlow(t){let h=new AbortController;this.abortController=h;try{let u=await Fn({signal:h.signal});return await t(u),await _n(u,{signal:h.signal})}finally{if(this.abortController===h)this.abortController=null}}cleanup(){this.abortController?.abort(Error("xAI device authorization was cancelled.")),this.abortController=null}}var Vu=5000,Xn=1000,qn=5000,$n=60000,Zu=300000,Fu=3000;var Yu=I(()=>{An();gn()});function kn(){return new gh}function Hu(t){let{onAuthenticated:h}=t,u=t.deps?.createOAuthService??kn,a=t.deps?.saveXaiCredentials??Gu,C=t.deps?.isBareMode??o,[w,f]=It.useState({state:"starting"});return It.useEffect(()=>{if(C()){f({state:"error",message:"xAI OAuth is unavailable in --bare because secure storage is disabled."});return}let A=!1,$=u();return $.startDeviceFlow(async(R)=>{if(A)return;f({state:"waiting",userCode:R.user_code,verificationUri:R.verification_uri,verificationUriComplete:R.verification_uri_complete})}).then(async(R)=>{if(A)return;await h(R,(J)=>{let Q=a({accessToken:R.accessToken,refreshToken:R.refreshToken,idToken:R.idToken,expiresAt:R.expiresAt,profileId:J?.profileId});if(!Q.success)throw Error(Q.warning??"xAI OAuth succeeded, but credentials could not be saved securely.")})}).catch((R)=>{if(A)return;f({state:"error",message:R instanceof Error?R.message:String(R)})}),()=>{A=!0,$.cleanup()}},[u,C,h,a]),w}var It;var Ku=I(()=>{Yu();Et();Su();It=Lt(Qt(),1)});async function Du(){return{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":Eu,...await Bu()}}function iu(t,h){let u=Number(t);return Number.isFinite(u)&&u>0?u*1000:h}function Vn(t,h){if(h?.aborted)return Promise.resolve();return new Promise((u)=>{let a=setTimeout(()=>{h?.removeEventListener("abort",C),u()},t),C=()=>{clearTimeout(a),u()};h?.addEventListener("abort",C,{once:!0})})}async function Zn(t){let h=t?.fetchImpl??fetch,u=t?.signal?AbortSignal.any([t.signal,AbortSignal.timeout(15000)]):AbortSignal.timeout(15000),a=await h(Mu,{method:"POST",headers:await Du(),body:new URLSearchParams({client_id:Xh()}).toString(),signal:u});if(!a.ok){let $=await a.text().catch(()=>"");throw Error(`Kimi device code request failed (${a.status})${$?`: ${$.trim()}`:""}`)}let C=await a.json(),w=Ct(C.device_code),f=Ct(C.user_code),A=Ct(C.verification_uri);if(!w||!f||!A)throw Error("Kimi device code response is missing device_code / user_code / verification_uri.");return{device_code:w,user_code:f,verification_uri:A,verification_uri_complete:Ct(C.verification_uri_complete),expires_in:typeof C.expires_in==="number"&&C.expires_in>0?C.expires_in:xu/1000,interval:typeof C.interval==="number"&&C.interval>0?C.interval:Iu/1000}}async function dn(t,h){let u=h?.fetchImpl??fetch,a=h?.sleep??Vn,C=h?.now??(()=>Date.now()),w=iu(t.expires_in,xu),f=C()+w,A=Math.max(iu(t.interval,Iu),Qn);while(C()<f){if(h?.signal?.aborted)throw Error("Kimi device authorization was cancelled.");let $=await u(Tu,{method:"POST",headers:await Du(),body:new URLSearchParams({grant_type:Uu,client_id:Xh(),device_code:t.device_code}).toString(),signal:h?.signal});if($.ok){let Q=await $.json(),H=Ct(Q.access_token),V=Ct(Q.refresh_token);if(!H||!V)throw Error("Kimi OAuth completed, but the token response was missing credentials.");let O=typeof Q.expires_in==="number"&&Number.isFinite(Q.expires_in)&&Q.expires_in>0?Q.expires_in:900;return{accessToken:H,refreshToken:V,expiresAt:C()+O*1000}}let R=await $.json().catch(()=>({})),X=Math.max(0,f-C());if(R.error==="authorization_pending"){await a(Math.min(A+Wu,X),h?.signal);continue}if(R.error==="slow_down"){A=Math.min(A+Nn,Jn),await a(Math.min(A+Wu,X),h?.signal);continue}if(R.error==="access_denied"||R.error==="authorization_denied")throw Error("Kimi device authorization was denied.");if(R.error==="expired_token")throw Error("Kimi device code expired - please re-run login.");let J=R.error_description??R.error??"";throw Error(`Kimi device token exchange failed (${$.status})${J?`: ${J}`:""}`)}throw Error("Kimi device authorization timed out.")}class qh{abortController=null;async startDeviceFlow(t){let h=new AbortController;this.abortController=h;try{let u=await Zn({signal:h.signal});return await t(u),await dn(u,{signal:h.signal})}finally{if(this.abortController===h)this.abortController=null}}cleanup(){this.abortController?.abort(Error("Kimi device authorization was cancelled.")),this.abortController=null}}var Iu=5000,Qn=1000,Nn=5000,Jn=60000,xu=1800000,Wu=3000;var ju=I(()=>{Ln();Pu()});function Yn(){return new qh}function su(t){let{onAuthenticated:h}=t,u=t.deps?.createOAuthService??Yn,a=t.deps?.saveKimiCredentials??ou,C=t.deps?.isBareMode??o,[w,f]=lt.useState({state:"starting"}),A=lt.useRef(!1);return lt.useEffect(()=>{if(C()){f({state:"error",message:"Kimi Code OAuth is unavailable in --bare because secure storage is disabled."});return}let $=!1,R=u();return R.startDeviceFlow(async(X)=>{if($)return;f({state:"waiting",userCode:X.user_code,verificationUri:X.verification_uri,verificationUriComplete:X.verification_uri_complete})}).then(async(X)=>{if($)return;await h(X,(Q)=>{let H=a({accessToken:X.accessToken,refreshToken:X.refreshToken,expiresAt:X.expiresAt,profileId:Q?.profileId});if(!H.success)throw Error(H.warning??"Kimi Code OAuth succeeded, but credentials could not be saved securely.")})}).catch((X)=>{if($)return;f({state:"error",message:X instanceof Error?X.message:String(X)})}),()=>{$=!0,R.cleanup()}},[u,C,h,a]),lt.useEffect(()=>{if(w.state!=="waiting")return;if(A.current)return;let $=w.verificationUriComplete??w.verificationUri;if(!$)return;A.current=!0,Pt($).catch(()=>{})},[w]),w}var lt;var eu=I(()=>{ju();qu();Et();pu();lt=Lt(Qt(),1)});function ca(t){return{name:t.name,baseUrl:t.baseUrl,model:t.model,apiKey:t.apiKey??""}}function na(t){let h=ot(t);return{name:h.name,baseUrl:h.baseUrl,model:h.model,apiKey:h.apiKey??""}}function aa(t){let h={};for(let u of t.split(/\r?\n/)){let a=u.trim();if(!a)continue;let C=a.indexOf(":");if(C<=0)continue;let w=a.slice(0,C).trim(),f=a.slice(C+1).trim();if(w&&f)h[w]=f}return h}function ma(t){if(!t)return"";return Object.entries(t).map(([h,u])=>`${h}: ${u}`).join(`
|
|
49
|
+
`)}function ya(t,h){let u={},a=t.awsRegion?.trim();if(a)u.awsRegion=a;let C=t.gcpProject?.trim();if(C)u.gcpProject=C;let w=t.gcpRegion?.trim();if(w)u.gcpRegion=w;let f=t.azureResource?.trim();if(f)u.azureResource=f;let A=aa(h);if(Object.keys(A).length>0)u.customHeaders=A;return Object.keys(u).length>0?u:void 0}function la(t,h){let u=h?" (active)":"",a=t.apiKey?"key set":"no key",C=t.provider==="anthropic"?"anthropic":"openai-compatible",w=tc(t.model),f=w.length<=3?w.join(", "):`${w[0]}, ${w[1]} + ${w.length-2} more`;return`${C} · ${t.baseUrl} · ${f} · ${a}${u}`}function ra(t,h){if(t.state==="unreachable")return`Could not reach Atomic Chat at ${wh(h)}. Start the Atomic Chat app first, or enter the endpoint manually.`;if(t.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 wa(t,h){if(t.state==="unreachable")return`Could not reach Ollama at ${wh(h)}. Start Ollama first, or enter the endpoint manually.`;if(t.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(t.state==="generation_failed"){let u=t.probeModel??"the selected model",a=t.detail?` Details: ${t.detail}.`:"";return`Ollama is reachable and models are installed, but a generation probe failed for ${u}.${a} Run "ollama run ${u}" once and retry, or enter details manually.`}return""}function fh(t,h){if(!h)return;return t.find((u)=>u.id===h)}function vu(t,h){return Boolean(t&&h&&t.id===h)}function ba(t,h){if(h){let u=t.find((a)=>a.id===h);if(u)return u}return t.find((u)=>u.provider==="openai"&&u.baseUrl===Zh&&!u.apiKey)}function Oa(t,h){if(h){let u=t.find((a)=>a.id===h);if(u)return u}return t.find((u)=>u.provider==="openai"&&u.baseUrl===pt&&!u.apiKey)}function za(t,h){return t.find((u)=>u.provider==="anthropic"&&u.baseUrl===h&&!u.apiKey)}function Ra({onBack:t,onConfigured:h}){let u=g.useCallback(async(C,w)=>{await h(C,w)},[h]);D("confirm:no",t,[t]);let a=$u({onAuthenticated:u});if(a.state==="error")return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"error",bold:!0,children:"Codex OAuth failed"}),n(y,{children:a.message}),n(y,{dimColor:!0,children:"Press Enter or Esc to go back."}),n(S,{options:[{value:"back",label:"Back",description:"Return to provider presets"}],onChange:t,onCancel:t,visibleOptionCount:1})]});return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Codex OAuth"}),n(y,{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."}),a.state==="starting"?n(y,{dimColor:!0,children:"Starting local callback and preparing your browser..."}):a.browserOpened===!1?z(yt,{children:[n(y,{color:"warning",children:"Browser did not open automatically. Visit this URL to continue:"}),n(y,{children:a.authUrl})]}):a.browserOpened===!0?z(yt,{children:[n(y,{dimColor:!0,children:"Browser opened. Finish the ChatGPT sign-in there and this setup will complete automatically."}),n(y,{children:a.authUrl})]}):n(y,{dimColor:!0,children:"Opening your browser..."}),n(y,{dimColor:!0,children:"Press Esc to cancel and go back."})]})}function Aa({onBack:t,onConfigured:h}){let u=g.useCallback(async(C,w)=>{await h(C,w)},[h]);D("confirm:no",t,[t]);let a=Hu({onAuthenticated:u});if(a.state==="error")return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"error",bold:!0,children:"xAI OAuth failed"}),n(y,{children:a.message}),n(y,{dimColor:!0,children:"Press Enter or Esc to go back."}),n(S,{options:[{value:"back",label:"Back",description:"Return to provider presets"}],onChange:t,onCancel:t,visibleOptionCount:1})]});return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"xAI / Grok OAuth"}),a.state==="starting"?n(y,{dimColor:!0,children:"Requesting a device code from xAI..."}):z(yt,{children:[z(y,{children:["Open this URL on any device:"," ",n(y,{bold:!0,children:a.verificationUri})]}),z(y,{children:["Enter code ",n(y,{bold:!0,children:a.userCode})]}),a.verificationUriComplete&&a.verificationUriComplete!==a.verificationUri?z(y,{dimColor:!0,children:["Or open this prefilled URL: ",a.verificationUriComplete]}):null,n(y,{dimColor:!0,children:"Waiting for you to authorize in the browser..."})]}),n(y,{dimColor:!0,children:"Press Esc to cancel and go back."})]})}function ga({onBack:t,onConfigured:h}){let u=g.useCallback(async(C,w)=>{await h(C,w)},[h]);D("confirm:no",t);let a=su({onAuthenticated:u});if(a.state==="error")return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"error",bold:!0,children:"Kimi Code OAuth failed"}),n(y,{children:a.message}),n(y,{dimColor:!0,children:"Press Enter or Esc to go back."}),n(S,{options:[{value:"back",label:"Back",description:"Return to Moonshot AI authentication choices"}],onChange:t,onCancel:t,visibleOptionCount:1})]});return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Moonshot AI · Kimi Code"}),a.state==="starting"?n(y,{dimColor:!0,children:"Requesting a device code from Kimi..."}):z(yt,{children:[z(y,{children:["Open this URL on any device:"," ",n(y,{bold:!0,children:a.verificationUri})]}),z(y,{children:["Enter code ",n(y,{bold:!0,children:a.userCode})]}),a.verificationUriComplete&&a.verificationUriComplete!==a.verificationUri?z(y,{dimColor:!0,children:["Or open this prefilled URL: ",a.verificationUriComplete]}):null,n(y,{dimColor:!0,children:"Waiting for you to authorize in the browser..."})]}),n(y,{dimColor:!0,children:"Press Esc to cancel and go back."})]})}function Vm({mode:t,onDone:h}){let u=bc(),[a,C]=g.useState([]),[w,f]=g.useState(),[A,$]=g.useState(),[R,X]=g.useState(!1),[J,Q]=g.useState(),H=g.useRef(0),[V,O]=g.useState(t==="first-run"?"select-preset":"menu"),[wt,i]=g.useState(null),[Z,mt]=g.useState("openai"),[N,P]=g.useState(()=>na("ollama")),[Zt,dt]=g.useState({}),[dh,st]=g.useState(""),[Rc,Ac]=g.useState(0),[gc,Xc]=g.useState(0),[et,Yh]=g.useState(null),[bt,Ft]=g.useState(0),[Ot,p]=g.useState(0),[qc,s]=g.useState(0),[Gh,Y]=g.useState(),[zt,_]=g.useState(),[$c,fc]=g.useState(),[Sh,Yt]=g.useState(!1),[_t,kt]=g.useState(),[e,Gt]=g.useState({state:"idle"}),[v,St]=g.useState({state:"idle"}),[tt,vt]=g.useState({state:"idle"}),[Fc,_c]=g.useState(!0),[kc,E]=g.useState(!1),th=g.useRef(!1),[hh,uh]=g.useState(()=>Vt()),[Hh,Lc]=g.useState(()=>Oc());g.useEffect(()=>{queueMicrotask(()=>{let c=x(),m=B()?.id;C(c),f(m),$(xt()),Q(Fh()),X(Jt()),_c(!1)})},[]);let Rt=rt[Ot]??rt[0],Ht=Rt.key,Qc=N[Ht],ch=a.length>0,Kt=ch,Kh=g.useMemo(()=>[{value:"add",label:"Add provider",description:"Create a new provider profile"},...hh?[{value:"import-legacy",label:"Import from Claude Code",description:"Copy ~/.claude/ tokens, settings, skills, agents, plugins."}]:[],{value:"activate",label:"Set active provider (Global)",description:J?`Currently: ${a.find((c)=>c.id===J)?.name??"unknown"}`:"Default profile for projects without an override",disabled:!Kt},{value:"activate-project",label:"Set active provider (Project)",description:A?`Currently: ${a.find((c)=>c.id===A)?.name??"unknown"} (this project)`:"Override the global default for this project only",disabled:!Kt},...R?[{value:"clear-project-override",label:"Clear project provider override",description:A?"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:!ch},{value:"delete",label:"Delete provider",description:"Remove a provider profile",disabled:!Kt},...Sh?[{value:"logout-codex-oauth",label:"Log out Codex OAuth",description:"Clear securely stored Codex OAuth credentials"}]:[],{value:"done",label:"Done",description:"Return to chat"}],[Kt,ch,Sh,hh,J,A,a]),nh=g.useCallback(()=>{if(o()){H.current+=1,Yt(!1),kt(void 0);return}let c=++H.current;(async()=>{let m=await Lh();if(c!==H.current)return;Yt(Boolean(m?.apiKey||m?.accessToken||m?.refreshToken||m?.idToken)),kt(m?.profileId)})()},[]);g.useEffect(()=>{return nh(),()=>{H.current+=1}},[nh]),g.useEffect(()=>{if(V!=="select-ollama-model")return;let c=!1;return Gt({state:"loading"}),(async()=>{let m=await wc({baseUrl:N.baseUrl});if(m.state!=="ready"){if(!c)Gt({state:"unavailable",message:wa(m,N.baseUrl)});return}let l=rh(m.models,"balanced"),r=cu(m.models,"balanced");if(!c)Gt({state:"ready",defaultValue:r?.name??l[0]?.name,options:l.map((b)=>({label:b.name,value:b.name,description:b.summary}))})})(),()=>{c=!0}},[N.baseUrl,V]),g.useEffect(()=>{if(V!=="select-atomic-chat-model")return;let c=!1;return St({state:"loading"}),(async()=>{let m=await rc({baseUrl:N.baseUrl});if(m.state!=="ready"){if(!c)St({state:"unavailable",message:ra(m,N.baseUrl)});return}if(!c)St({state:"ready",defaultValue:m.models[0],options:m.models.map((l)=>({label:l,value:l}))})})(),()=>{c=!0}},[N.baseUrl,V]),g.useEffect(()=>{if(V!=="select-openai-model")return;let c=!1;return vt({state:"loading"}),(async()=>{let m=await Cc({baseUrl:N.baseUrl,apiKey:N.apiKey||void 0});if(c)return;if(!m||m.length===0){vt({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:l,defaultValue:r}=lc(m,N.model);vt({state:"ready",options:l,defaultValue:r})})(),()=>{c=!0}},[N.baseUrl,N.apiKey,V]);function K(){if(th.current)return;th.current=!0,queueMicrotask(()=>{let c=x();C(c),f(B()?.id),$(xt()),Q(Fh()),X(Jt()),nh(),th.current=!1})}function At(){return null}function ah(c){if(c.activationWarning)return`${c.prefix}. Saved for next startup. Warning: ${c.warnings.join("; ")}.`;if(c.warnings.length>0)return`${c.prefix}. Claudin switched to it for this session with warnings: ${c.warnings.join("; ")}.`;return`${c.prefix}. Claudin switched to it for this session.`}async function mh(c){if(c?.accessToken&&c.accountId)return null;let m=await Lh();if(!m)return"stored Codex OAuth credentials could not be loaded";if(!m.accountId)return"stored Codex OAuth credentials are missing a ChatGPT account id";return null}function Wh(){yc()}async function Nc(c){let m="provider";E(!0),Y("Activating provider...");try{await new Promise((ht)=>queueMicrotask(ht));let l=Jt(),r=nt(c);if(!r){_("Could not change active provider."),E(!1),L();return}let b=l?B()??r:r,q=$t(b.model)||Dt();if(!l)u((ht)=>({...ht,mainLoopModel:q,mainLoopModelForSession:null}));m=r.name;let k=At(),d=vu(r,_t),T=d?await mh():null;K();let U=l&&b.id!==r.id?` (project override still active — this project keeps using ${b.name}; use "Clear project provider override" to apply the new default here)`:"",W=d?ah({prefix:`Active provider: ${r.name}${U}`,activationWarning:T,warnings:[T,k?`could not clear startup provider override (${k})`:null].filter((ht)=>Boolean(ht))}):k?`Active provider: ${r.name}${U}. Warning: could not clear startup provider override (${k}).`:`Active provider: ${r.name}${U}`;Y(W),E(!1),h({action:"activated",activeProfileId:r.id,activeProviderName:r.name,activeProviderModel:q,message:`Provider switched to ${r.name} (${q})`}),L()}catch(l){K(),Y(void 0),E(!1);let r=l instanceof Error?l.message:String(l);_(`Could not finish activating ${m}: ${r}`),L()}}async function Jc(){E(!0),Y("Clearing project provider override...");try{await new Promise((m)=>queueMicrotask(m)),_h(null),K();let c=B();if(c){let m=$t(c.model)||Dt();ft(),u((l)=>({...l,mainLoopModel:m,mainLoopModelForSession:null})),Y(`Project override cleared. Using global default: ${c.name}.`),E(!1),h({action:"activated",activeProfileId:c.id,activeProviderName:c.name,activeProviderModel:m,message:`Project override cleared — using ${c.name} (${m})`}),L()}else Y("Project provider override cleared. No global default set."),E(!1),h({action:"saved",message:"Project provider override cleared. No global default set."}),L()}catch(c){K(),Y(void 0),E(!1);let m=c instanceof Error?c.message:String(c);_(`Could not clear project provider override: ${m}`),L()}}async function Vc(c){let m="provider";E(!0),Y("Setting provider for this project...");try{await new Promise((W)=>queueMicrotask(W));let l=xt(),r=_h(c);if(!r){_("Could not set project provider override."),E(!1),L();return}let b=$t(r.model)||Dt();if(l===r.id)ft();u((W)=>({...W,mainLoopModel:b,mainLoopModelForSession:null})),m=r.name;let q=At(),k=vu(r,_t),d=k?await mh():null;K();let T=`Active provider for this project: ${r.name}. Other projects keep the global default.`,U=k?ah({prefix:T,activationWarning:d,warnings:[d,q?`could not clear startup provider override (${q})`:null].filter((W)=>Boolean(W))}):q?`${T} Warning: could not clear startup provider override (${q}).`:T;Y(U),E(!1),h({action:"activated",activeProfileId:r.id,activeProviderName:r.name,activeProviderModel:b,message:`Provider switched to ${r.name} (${b}) for this project`}),L()}catch(l){K(),Y(void 0),E(!1);let r=l instanceof Error?l.message:String(l);_(`Could not finish setting ${m} for this project: ${r}`),L()}}function L(){fc("done"),O("menu")}function Wt(c){h({action:"cancelled",message:c})}function ih(c){let m=ot(c),l={name:m.name,baseUrl:m.baseUrl,model:m.model,apiKey:m.apiKey??""};if(i(null),mt(m.provider??"openai"),P(l),dt({}),st(""),Yh(c),p(0),Ft(0),s(l.name.length),_(void 0),c==="ollama"){Gt({state:"loading"}),O("select-ollama-model");return}if(c==="atomic-chat"){St({state:"loading"}),O("select-atomic-chat-model");return}if(c==="anthropic"){O("anthropic-auth-choice");return}if(c==="bedrock"||c==="vertex"||c==="foundry"){O("cloud-extras");return}O("form")}function Zc(c){let m=a.find((r)=>r.id===c);if(!m)return;let l=ca(m);i(c),mt(m.provider??"openai"),P(l),dt({awsRegion:m.extras?.awsRegion,gcpProject:m.extras?.gcpProject,gcpRegion:m.extras?.gcpRegion,azureResource:m.extras?.azureResource}),st(ma(m.extras?.customHeaders)),Yh(null),p(0),Ft(0),s(l.name.length),_(void 0),O("form")}function it(c=N){let m=ya(Zt,dh),l={provider:Z,name:c.name,baseUrl:c.baseUrl,model:c.model,apiKey:c.apiKey,extras:m},r=wt?ct(wt,l):ut(l,{makeActive:!0});if(!r){_("Could not save provider. Fill all required fields.");return}let b=B()?.id===r.id;if(b)ft(),u((U)=>({...U,mainLoopModel:$t(r.model),mainLoopModelForSession:null}));let q=b?At():null;K();let k=!wt&&Jt()&&!b,d=k?B()?.name??"override target":null,T=wt?`Updated provider: ${r.name}`:k?`Added provider: ${r.name} (now global default — project keeps using ${d}; use "Clear project provider override" to apply here)`:`Added provider: ${r.name} (now active)`;if(Y(q?`${T}. Warning: could not clear startup provider override (${q}).`:T),t==="first-run"){h({action:"saved",activeProfileId:r.id,message:`Provider configured: ${r.name}`});return}i(null),p(0),_(void 0),L()}function dc(){if(v.state==="loading"||v.state==="idle")return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Checking Atomic Chat"}),n(y,{dimColor:!0,children:"Looking for loaded Atomic Chat models..."})]});if(v.state==="unavailable")return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Atomic Chat setup"}),n(y,{dimColor:!0,children:v.message}),n(S,{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:(c)=>{if(c==="manual"){p(0),s(N.name.length),O("form");return}O("select-preset")},onCancel:()=>O("select-preset"),visibleOptionCount:2})]});return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Choose an Atomic Chat model"}),n(y,{dimColor:!0,children:"Pick one of the models loaded in Atomic Chat to save into a local provider profile."}),n(S,{options:v.options,defaultValue:v.defaultValue,defaultFocusValue:v.defaultValue,inlineDescriptions:!0,visibleOptionCount:Math.min(8,v.options.length),onChange:(c)=>{let m={...N,model:c};P(m),it(m)},onCancel:()=>O("select-preset")})]})}function Yc(){if(e.state==="loading"||e.state==="idle")return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Checking Ollama"}),n(y,{dimColor:!0,children:"Looking for installed Ollama models..."})]});if(e.state==="unavailable")return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Ollama setup"}),n(y,{dimColor:!0,children:e.message}),n(S,{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:(c)=>{if(c==="manual"){p(0),s(N.name.length),O("form");return}O("select-preset")},onCancel:()=>O("select-preset"),visibleOptionCount:2})]});return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Choose an Ollama model"}),n(y,{dimColor:!0,children:"Pick one of the installed Ollama models to save into a local provider profile."}),n(S,{options:e.options,defaultValue:e.defaultValue,defaultFocusValue:e.defaultValue,inlineDescriptions:!0,visibleOptionCount:Math.min(8,e.options.length),onChange:(c)=>{let m={...N,model:c};P(m),it(m)},onCancel:()=>O("select-preset")})]})}function gt(c){let m=rt.findIndex((l)=>l.key===c);p(m<0?0:m),s(N[c].length),_(void 0),O("form")}function Gc(){if(tt.state==="loading"||tt.state==="idle")return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Fetching models"}),n(y,{dimColor:!0,children:"Looking for models on your OpenAI-compatible provider…"}),n(y,{dimColor:!0,children:"Press Esc to enter the model manually."})]});if(tt.state==="unavailable")return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Choose a model"}),n(y,{dimColor:!0,children:tt.message}),n(S,{options:[{value:"manual",label:"Enter manually",description:"Type the model id yourself"},{value:"back",label:"Back",description:"Return to the API key step"}],onChange:(l)=>{if(l==="manual"){gt("model");return}gt("apiKey")},onCancel:()=>gt("apiKey"),visibleOptionCount:2})]});let c=[...tt.options,{value:$h,label:"Enter a model id manually",description:"Type an id the provider did not list"}],m=tt.defaultValue??$h;return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Choose a model"}),n(y,{dimColor:!0,children:"Models from your OpenAI-compatible provider."}),n(S,{options:c,defaultValue:m,defaultFocusValue:m,inlineDescriptions:!0,visibleOptionCount:Math.min(8,c.length),onChange:(l)=>{if(l===$h){gt("model");return}let r={...N,model:l};P(r),Mh(r)},onCancel:()=>gt("apiKey")}),n(y,{dimColor:!0,children:"Enter to select · Esc to go back"})]})}function Mh(c){if(et==="anthropic"||et==="custom"){P(c),O("custom-headers");return}it(c)}function Sc(c){let m=c.trim();if(!Rt.optional&&m.length===0){_(`${Rt.label} is required.`);return}let l={...N,[Ht]:m};if(P(l),_(void 0),Ot<rt.length-1){let r=Ot+1,b=rt[r]?.key??"name";if(b==="model"&&!pn.has(Z)&&l.baseUrl.trim().length>0){O("select-openai-model");return}p(r),s(l[b].length);return}Mh(l)}function Hc(){if(_(void 0),Ot>0){let c=Ot-1,m=rt[c]?.key??"name";p(c),s(N[m].length);return}if(t==="first-run"){O("select-preset");return}L()}D("confirm:no",Hc,{context:"Settings",isActive:V==="form"}),D("confirm:no",()=>gt("model"),{context:"Settings",isActive:V==="select-openai-model"&&(tt.state==="loading"||tt.state==="idle")});function Kc(){if(_(void 0),bt>0){Ft(bt-1);return}O("select-preset")}D("confirm:no",Kc,{context:"Settings",isActive:V==="cloud-extras"}),D("confirm:no",()=>O("form"),{context:"Settings",isActive:V==="custom-headers"}),D("confirm:no",()=>O("select-preset"),{context:"Settings",isActive:V==="anthropic-auth-choice"||V==="anthropic-oauth"||V==="kimi-auth-choice"}),D("confirm:no",()=>O("kimi-auth-choice"),{context:"Settings",isActive:V==="kimi-oauth"});function Wc(){let c=!o(),m=[...hh?[{value:"import-legacy",label:"Import from Claude Code",description:"Reuse ~/.claude/ tokens, settings, theme, MCP, skills, agents, plugins."}]:[],{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"},...c?[{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"},...t==="first-run"?[{value:"skip",label:"Skip for now",description:"Continue with current defaults"}]:[]];return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:t==="first-run"?"Set up provider":"Choose provider preset"}),n(y,{dimColor:!0,children:"Pick a preset, then confirm base URL, model, and API key."}),n(S,{options:m,onChange:(l)=>{if(l==="skip"){Wt("Provider setup skipped");return}if(l==="codex-oauth"){O("codex-oauth");return}if(l==="xai-oauth"){O("xai-oauth");return}if(l==="moonshotai"){O("kimi-auth-choice");return}if(l==="github-onboard"){O("github-onboard");return}if(l==="import-legacy"){(async()=>{let r=await Vh({force:!0});uh(Vt()),K();let b=jt(r);if(r.errors.length>0){_(b);return}let q=B();if(t==="first-run"&&q){h({action:"saved",activeProfileId:q.id,activeProviderName:q.name,activeProviderModel:q.model,message:b});return}if(Y(b),_(void 0),t==="manage")L()})();return}ih(l)},onCancel:()=>{if(t==="first-run"){Wt("Provider setup skipped");return}L()},visibleOptionCount:Math.min(13,m.length)})]})}function ic(){return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Anthropic — choose authentication"}),n(y,{dimColor:!0,children:"Sign in with your Anthropic account in the browser, or paste an API key."}),n(S,{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:(c)=>{if(c==="oauth"){O("anthropic-oauth");return}if(c==="apiKey"){O("form");return}O("select-preset")},onCancel:()=>O("select-preset"),visibleOptionCount:3})]})}function Mc(){return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Moonshot AI — choose authentication"}),n(y,{dimColor:!0,children:"Sign in with your Kimi Code subscription in the browser, or paste a Moonshot AI API key."}),n(S,{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:(c)=>{if(c==="oauth"){O("kimi-oauth");return}if(c==="apiKey"){ih("moonshotai");return}O("select-preset")},onCancel:()=>O("select-preset"),visibleOptionCount:3})]})}function Tc(){let c=(xn(),Gn(In)).ConsoleOAuthFlow;return n(F,{flexDirection:"column",gap:1,children:n(c,{mode:"login",onDone:()=>{let m=ot("anthropic"),l={provider:"anthropic",name:m.name,baseUrl:m.baseUrl,model:m.model},r=za(x(),m.baseUrl),b=r?ct(r.id,l):ut(l,{makeActive:!0});if(!b){_("OAuth completed, but the Anthropic profile could not be saved."),O("select-preset");return}let q=r&&w!==b.id?nt(b.id):b;if(!q){_("OAuth completed, but the Anthropic profile could not be set as the startup provider."),O("select-preset");return}let k=`Anthropic OAuth configured: ${q.name}`;if(K(),t==="first-run"){h({action:"saved",activeProfileId:q.id,message:k});return}Y(k),_(void 0),L()}})})}function Uc(){let c=et;if(c!=="bedrock"&&c!=="vertex"&&c!=="foundry")return null;let m=Ca[c],l=m[bt]??m[0],r=Zt[l.key]??"";function b(q){let k=q.trim();if(k.length===0){_(`${l.label} is required.`);return}let d={...Zt,[l.key]:k};if(dt(d),_(void 0),bt<m.length-1){Ft(bt+1);return}Ft(0),O("form")}return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:`${c==="bedrock"?"AWS Bedrock":c==="vertex"?"Google Vertex AI":"Azure AI Foundry"} setup`}),n(y,{dimColor:!0,children:l.helpText}),z(y,{dimColor:!0,children:["Step ",bt+1," of ",m.length,": ",l.label]}),z(F,{flexDirection:"row",gap:1,children:[n(y,{children:qt.pointer}),n(Xt,{value:r,onChange:(q)=>dt((k)=>({...k,[l.key]:q})),onSubmit:b,focus:!0,showCursor:!0,placeholder:`${l.placeholder}${qt.ellipsis}`,columns:80,cursorOffset:Rc,onChangeCursorOffset:Ac})]}),zt&&n(y,{color:"error",children:zt}),n(y,{dimColor:!0,children:"Press Enter to continue. Press Esc to go back."})]})}function Ec(){return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Custom headers (optional)"}),z(y,{dimColor:!0,children:["Add HTTP headers sent on every request. One header per line as"," ",n(y,{children:"Header: Value"}),". Leave empty to skip."]}),z(F,{flexDirection:"row",gap:1,children:[n(y,{children:qt.pointer}),n(Xt,{value:dh,onChange:st,onSubmit:()=>it(N),focus:!0,showCursor:!0,placeholder:"X-Header: value",columns:80,multiline:!0,cursorOffset:gc,onChangeCursorOffset:Xc})]}),zt&&n(y,{color:"error",children:zt}),n(y,{dimColor:!0,children:"Press Enter on a blank line to save. Press Esc to go back."})]})}function Pc(){return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:wt?"Edit provider profile":"Create provider profile"}),n(y,{dimColor:!0,children:Rt.helpText}),z(y,{dimColor:!0,children:["Provider type:"," ",Z==="anthropic"?"Anthropic native API":"OpenAI-compatible API"]}),z(y,{dimColor:!0,children:["Step ",Ot+1," of ",rt.length,": ",Rt.label]}),z(F,{flexDirection:"row",gap:1,children:[n(y,{children:qt.pointer}),n(Xt,{value:Qc,onChange:(c)=>P((m)=>({...m,[Ht]:c})),onSubmit:Sc,focus:!0,showCursor:!0,placeholder:`${Rt.placeholder}${qt.ellipsis}`,mask:Ht==="apiKey"?"*":void 0,columns:80,cursorOffset:qc,onChangeCursorOffset:s})]}),zt&&n(y,{color:"error",children:zt}),n(y,{dimColor:!0,children:"Press Enter to continue. Press Esc to go back."})]})}function Bc(){let c=a.length>0,m=c;return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Provider manager"}),n(y,{dimColor:!0,children:"Active profile controls base URL, model, and API key used by this session."}),Gh&&n(y,{children:Gh}),n(F,{flexDirection:"column",children:a.length===0?n(y,{dimColor:!0,children:"No provider profiles configured yet."}):a.map((l)=>z(y,{dimColor:!0,children:["- ",l.name,": ",la(l,l.id===w)]},l.id))}),n(S,{options:Kh,onChange:(l)=>{switch(_(void 0),l){case"add":O("select-preset");break;case"import-legacy":{(async()=>{let r=await Vh({force:!0});if(uh(Vt()),K(),r.errors.length>0)_(jt(r));else Y(jt(r))})();break}case"activate":if(m)O("select-active");break;case"activate-project":if(m)O("select-active-project");break;case"clear-project-override":Jc();break;case"edit":if(c)O("select-edit");break;case"delete":if(m)O("select-delete");break;case"logout-codex-oauth":{let r=Qh();if(!r.success){_(r.warning??"Could not clear Codex OAuth credentials.");break}Yt(!1),kt(void 0);let b=fh(x(),_t),q=null;if(b){let k=kh(b.id);if(!k.removed){_("Codex OAuth credentials were cleared, but the Codex profile could not be removed."),K();break}Wh(),q=k.activeProfileId?At():null}K(),Y(q?`Codex OAuth logged out. Warning: could not clear startup provider override (${q}).`:"Codex OAuth logged out.");break}default:Wt("Provider manager closed");break}},onCancel:()=>Wt("Provider manager closed"),defaultFocusValue:$c,visibleOptionCount:Kh.length})]})}function Mt(c,m,l){let r=a.map((b)=>{let q=[];if(b.id===w)q.push("active");if(A&&b.id===A)q.push("this project");if(J&&b.id===J)q.push("global default");let k=q.length>0?` (${q.join(", ")})`:"";return{value:b.id,label:`${b.name}${k}`,description:`${b.provider==="anthropic"?"anthropic":"openai-compatible"} · ${b.baseUrl} · ${b.model}`}});if(r.length===0)return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:c}),n(y,{dimColor:!0,children:m}),n(S,{options:[{value:"back",label:"Back",description:"Return to provider manager"}],onChange:()=>L(),onCancel:()=>L(),visibleOptionCount:1})]});return z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:c}),n(S,{options:r,onChange:l,onCancel:()=>L(),visibleOptionCount:Math.min(10,Math.max(2,r.length))})]})}let G;switch(V){case"select-preset":G=Wc();break;case"select-ollama-model":G=Yc();break;case"select-openai-model":G=Gc();break;case"select-atomic-chat-model":G=dc();break;case"codex-oauth":G=n(Ra,{onBack:()=>O("select-preset"),onConfigured:async(c,m)=>{let l={provider:"openai",name:sn,baseUrl:hc,model:en,apiKey:""},r=fh(x(),_t),b=r?ct(r.id,l):ut(l,{makeActive:!0});if(!b){_("Codex OAuth login finished, but the provider profile could not be saved."),L();return}let q=r&&w!==b.id?nt(b.id):b;if(!q){_("Codex OAuth login finished, but the provider could not be set as the startup provider."),L();return}m({profileId:b.id});let k=At(),d=await mh(c);Yt(!0),kt(b.id),K();let T=[d,k?`could not clear startup provider override (${k})`:null].filter((W)=>Boolean(W)),U=ah({prefix:"Codex OAuth configured",activationWarning:d,warnings:T});if(t==="first-run"){h({action:"saved",activeProfileId:q.id,message:U});return}Y(U),_(void 0),L()}});break;case"xai-oauth":G=n(Aa,{onBack:()=>O("select-preset"),onConfigured:async(c,m)=>{let l={provider:"openai",name:vn,baseUrl:pt,model:ta,apiKey:""},r=Oa(x(),Jh()?.profileId),b=r?ct(r.id,l):ut(l,{makeActive:!0});if(!b){_("xAI OAuth login finished, but the provider profile could not be saved."),L();return}let q=r&&w!==b.id?nt(b.id):b;if(!q){_("xAI OAuth login finished, but the provider could not be set as the startup provider."),L();return}try{m({profileId:b.id})}catch(d){_(d instanceof Error?d.message:String(d)),L();return}K();let k="xAI / Grok configured. Claudin switched to it for this session.";if(t==="first-run"){h({action:"saved",activeProfileId:q.id,message:k});return}Y(k),_(void 0),L()}});break;case"kimi-auth-choice":G=Mc();break;case"kimi-oauth":G=n(ga,{onBack:()=>O("kimi-auth-choice"),onConfigured:async(c,m)=>{let l={provider:"openai",name:ha,baseUrl:Zh,model:ua,apiKey:""},r=ba(x(),Nh()?.profileId),b=r?ct(r.id,l):ut(l,{makeActive:!0});if(!b){_("Kimi Code OAuth login finished, but the provider profile could not be saved."),L();return}let q=r&&w!==b.id?nt(b.id):b;if(!q){_("Kimi Code OAuth login finished, but the provider could not be set as the startup provider."),L();return}try{m({profileId:b.id})}catch(d){_(d instanceof Error?d.message:String(d)),L();return}K();let k="Kimi Code configured. Claudin switched to it for this session.";if(t==="first-run"){h({action:"saved",activeProfileId:q.id,message:k});return}Y(k),_(void 0),L()}});break;case"github-onboard":G=n(vh,{onDone:(c)=>{if(c)Y(c),_(void 0);K(),L()},onBack:()=>O("select-preset"),onChangeAPIKey:K});break;case"anthropic-auth-choice":G=ic();break;case"anthropic-oauth":G=Tc();break;case"cloud-extras":G=Uc();break;case"custom-headers":G=Ec();break;case"form":G=Pc();break;case"select-active":G=Mt("Set active provider (Global)","No providers available. Add one first.",(c)=>{Nc(c)});break;case"select-active-project":G=Mt("Set active provider (Project)","No providers available. Add one first.",(c)=>{Vc(c)});break;case"select-edit":G=Mt("Edit provider","No providers available. Add one first.",(c)=>{Zc(c)});break;case"select-delete":G=Mt("Delete provider","No providers available. Add one first.",(c)=>{let m=a.find((W)=>W.id===c),l=m?.provider==="openai"&&m?.extras?.githubToken!==void 0,r=fh(a,_t)?.id===c,b=Jh()?.profileId,q=m?.provider==="openai"&&m.baseUrl===pt&&!m.apiKey&&b===c,k=Nh()?.profileId,d=m?.provider==="openai"&&m.baseUrl===Zh&&!m.apiKey&&k===c,T=B()?.id===c,U=kh(c);if(!U.removed)_("Could not delete provider.");else{let W=[];if(r){let M=Qh();if(!M.success)W.push(M.warning??"could not clear Codex OAuth credentials");else kt(void 0);Wh()}if(l){let M=cc();if(!M.success)W.push(M.warning??"could not clear GitHub Copilot token")}if(q){let M=mc();if(!M.success)W.push(M.warning??"could not clear xAI OAuth credentials")}if(d){let M=ac();if(!M.success)W.push(M.warning??"could not clear Kimi Code OAuth credentials")}let ht=U.activeProfileId?At():null;if(ht)W.push(`could not clear startup provider override (${ht})`);if(K(),T){let M=B();if(M)ft(),u((yh)=>({...yh,mainLoopModel:$t(M.model),mainLoopModelForSession:null}));else ft(),u((yh)=>({...yh,mainLoopModel:null,mainLoopModelForSession:null}))}Y(W.length>0?`Provider deleted. Warning: ${W.join("; ")}.`:"Provider deleted")}L()});break;case"menu":default:G=Bc();break}return z(uc,{color:"permission",children:[n(zc,{enabled:Hh,onDismiss:(c)=>{uh(Vt()),Lc(!1),K();let m=B();if(c==="migrated"&&t==="first-run"&&m)h({action:"saved",activeProfileId:m.id,activeProviderName:m.name,activeProviderModel:m.model})}}),Hh?null:Fc?z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Loading providers..."}),n(y,{dimColor:!0,children:"Reading provider profiles from disk."})]}):kc?z(F,{flexDirection:"column",gap:1,children:[n(y,{color:"remember",bold:!0,children:"Activating provider..."}),n(y,{dimColor:!0,children:"Please wait while the provider is being configured."})]}):G]})}var g,rt,$h="\x00__manual__",pn,sn="Codex OAuth",en="codexplan",vn="xAI / Grok (OAuth)",ta="grok-4",ha="Moonshot AI",ua,Zh="https://api.kimi.com/coding/v1",Ca;var Xa=I(()=>{Sn();tu();Kn();Eh();Mn();Pn();Dn();Xu();Et();Hn();Wn();Un();Th();ph();En();nu();au();Bn();Tn();on();sh();fu();Ku();eu();Su();pu();Pu();jn();Tt();g=Lt(Qt(),1),rt=[{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.'}],pn=new Set(["anthropic","bedrock","vertex","foundry"]),ua=nc;Ca={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{wh as Ac,au as Bc,aa as Cc,Vm as Dc,Xa as Ec};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{$d as L,Xd as j,Yd as w,Zd as _,_d as D,ae as A,be as O}from"./cli-1.1.3-n94f70dw.mjs";import{HS as h,JS as y,gB as W,jB as V,lB as C,rM as X,sM as I,up as R,xp as b}from"./cli-1.1.3-hs9ck03n.mjs";import{A_ as N,Mga as U,Uga as S,z_ as Q}from"./cli-1.1.3-c06t4mva.mjs";import{sja as K,vja as v}from"./cli-1.1.3-wnmbr0xp.mjs";import{Aka as x,Eka as M}from"./cli-1.1.3-skvx9y6v.mjs";import{Vka as B,ala as F}from"./cli-1.1.3-3ck9nde3.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("tengu_plugin_command_failed",{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("tengu_plugin_installed_cli",{_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("tengu_plugin_uninstalled_cli",{_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("tengu_plugin_enabled_cli",{_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("tengu_plugin_disabled_cli",{_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("tengu_plugin_disabled_all_cli",{}),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("tengu_plugin_updated_cli",{_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};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Kfa as f,Qea as M,Tea as L,lfa as G,mfa as h,qfa as v,rfa as P,yfa as k}from"./cli-1.1.3-c06t4mva.mjs";import{ija as E,rja as x}from"./cli-1.1.3-2at6mxpr.mjs";import{dla as T,qla as u}from"./cli-1.1.3-6jpsfc7q.mjs";import{Esa as C}from"./cli-1.1.3-atjv82jv.mjs";import{chmodSync as K,cpSync as S,existsSync as V,mkdirSync as m,readFileSync as _,readdirSync as w,statSync as D,writeFileSync as O}from"fs";import{homedir as R}from"os";import{join as Y}from"path";function b(j){return Y(j,".claude")}function A(j){try{let q=_(j,"utf8"),B=JSON.parse(q);if(B&&typeof B==="object"&&!Array.isArray(B))return B;return null}catch{return null}}function F(j,q){O(j,JSON.stringify(q,null,2),{encoding:"utf8"})}function $(j){m(j,{recursive:!0})}function l(j,q,B,Q){let z=Y(j,".credentials.json"),I=Y(q,".credentials.json");if(!V(z))return 0;try{if(V(I)){let W=_(z),X=_(I);if(W.equals(X))return K(I,384),0;return Q.push(`${I} already exists with different content — kept new file untouched`),0}$(q);let N=_(z);return O(I,N),K(I,384),d(N)}catch(N){return B.push(`failed to copy .credentials.json: ${N instanceof Error?N.message:String(N)}`),0}}function d(j){try{let q=JSON.parse(j.toString("utf8"));if(q&&typeof q==="object")return Object.keys(q).length}catch{}return 1}function y(j,q,B){let Q=Y(j,"CLAUDE.md"),z=Y(q,"CLAUDE.md");if(!V(Q))return!1;if(V(z))return!1;try{$(q);let I=_(Q);return O(z,I),!0}catch(I){return B.push(`failed to copy CLAUDE.md: ${I instanceof Error?I.message:String(I)}`),!1}}function c(j,q,B){let Q=Y(j,"keybindings.json"),z=Y(q,"keybindings.json");if(!V(Q))return!1;if(V(z))return!1;try{$(q);let I=_(Q);return O(z,I),!0}catch(I){return B.push(`failed to copy keybindings.json: ${I instanceof Error?I.message:String(I)}`),!1}}function H(j,q,B,Q){let z=Y(j,B),I=Y(q,B);if(!V(z))return 0;let N=0;try{if(!D(z).isDirectory())return 0;$(q),S(z,I,{recursive:!0,force:!1,errorOnExist:!1}),N=p(I)}catch(W){Q.push(`failed to copy ${B}/: ${W instanceof Error?W.message:String(W)}`)}return N}function p(j){try{if(!V(j))return 0;return w(j).length}catch{return 0}}function a(j,q,B){let Q=Y(j,"settings.json");if(!V(Q))return 0;let z=A(Q);if(!z)return B.push("legacy settings.json could not be parsed; skipped"),0;let I=Y(q,"settings.json"),N=V(I)?A(I)??{}:{},W={...N},X=0;for(let U of g){if(!(U in z))continue;if(U in N)continue;W[U]=z[U],X+=1}if(X===0&&V(I))return 0;try{$(q),F(I,W)}catch(U){return B.push(`failed to write settings.json: ${U instanceof Error?U.message:String(U)}`),0}return X}function J(j){return Y(j,`.claude${E()}.json`)}function n(j){return Y(j,`config${E()}.json`)}function t(j,q,B){let Q=J(j);if(!V(Q))return 0;let z=A(Q);if(!z)return B.push(`legacy ${Q} could not be parsed; skipped`),0;let I=n(q),N=V(I)?A(I)??{}:{},W={...N},X=0;for(let U of Object.keys(z)){if(U in N)continue;W[U]=z[U],X+=1}if(X===0&&V(I))return 0;try{F(I,W)}catch(U){return B.push(`failed to write ${I}: ${U instanceof Error?U.message:String(U)}`),0}return G(null),X}function o(){let q=L().claudeToClaudinMigratedAt;if(typeof q==="string"&&q.length>0)return{migrated:!0,at:q};return{migrated:!1}}function s(j){M((q)=>({...q,claudeToClaudinMigratedAt:j}))}async function Vj(j={}){let q=j.homeDir??R(),B=b(q),Q=j.newDir??T(),z=[],I=[],N={tokens:0,settingsKeys:0,globalConfigKeys:0,claudeMd:!1,plugins:0,skills:0,agents:0,commands:0,keybindings:!1,anthropicProfileCreated:!1,errors:z,warnings:I,alreadyMigrated:!1,legacyDir:B,newDir:Q},W=V(J(q));if(!V(B)&&!W)return N;let X=o();if(X.migrated&&!j.force)return N.alreadyMigrated=!0,N.migratedAt=X.at,N;try{$(Q)}catch(U){return z.push(`failed to create ${Q}: ${U instanceof Error?U.message:String(U)}`),N}if(V(B))N.tokens=l(B,Q,z,I),N.settingsKeys=a(B,Q,z),N.claudeMd=y(B,Q,z),N.plugins=H(B,Q,"plugins",z),N.skills=H(B,Q,"skills",z),N.agents=H(B,Q,"agents",z),N.commands=H(B,Q,"commands",z),N.keybindings=c(B,Q,z);if(N.globalConfigKeys=t(q,Q,I),N.anthropicProfileCreated=i(Q,N.tokens,I),z.length===0){let U=new Date().toISOString();s(U),N.migratedAt=U}return N}function i(j,q,B){if(q<=0)return!1;let Q=Y(j,".credentials.json"),z;try{z=JSON.parse(_(Q,"utf8"))}catch(Z){return B.push(`failed to read migrated .credentials.json for profile bootstrap: ${Z instanceof Error?Z.message:String(Z)}`),!1}let N=z?.claudeAiOauth?.accessToken;if(typeof N!=="string"||N.length===0)return!1;let W=P();if(W.some((Z)=>Z.provider==="anthropic"))return!1;let X=v("anthropic"),U={provider:"anthropic",name:X.name,baseUrl:X.baseUrl,model:X.model};try{if(!k(U,{makeActive:W.length===0}))return B.push("anthropic profile could not be saved after migration"),!1;return!0}catch(Z){return B.push(`failed to create anthropic profile: ${Z instanceof Error?Z.message:String(Z)}`),!1}}function Wj(j){if(j.alreadyMigrated)return`nothing to do (last run: ${j.migratedAt??"unknown"}). Pass --force to re-run.`;let q=[];q.push(`${j.tokens} token${j.tokens===1?"":"s"}`),q.push(`${j.settingsKeys} settings key${j.settingsKeys===1?"":"s"}`),q.push(`${j.globalConfigKeys} global config key${j.globalConfigKeys===1?"":"s"}`),q.push(`${j.claudeMd?1:0} CLAUDE.md`),q.push(`${j.plugins} plugin${j.plugins===1?"":"s"}`),q.push(`${j.skills} skill${j.skills===1?"":"s"}`),q.push(`${j.agents} agent${j.agents===1?"":"s"}`),q.push(`${j.commands} command${j.commands===1?"":"s"}`),q.push(`${j.keybindings?"keybindings copied":"no keybindings"}`),q.push(j.anthropicProfileCreated?"anthropic profile created":"anthropic profile already present");let B=q.join(", "),Q=`. ${j.legacyDir} kept untouched.`,z=`${B}${Q}`;if(j.warnings.length>0)z+=` Warnings: ${j.warnings.join("; ")}`;if(j.errors.length>0)z+=` Errors: ${j.errors.join("; ")}`;return z}function e(j=R()){return V(b(j))}function r(j=R()){return V(J(j))}function Xj(j=R()){let q=L();if(q.claudeToClaudinMigratedAt)return!1;if(q.legacyMigrationSkipped===!0)return!1;return e(j)||r(j)}function Yj(){M((j)=>({...j,legacyMigrationSkipped:!0}))}var g;var jj=C(()=>{x();h();u();f();g=["theme","model","customApiKeyResponses","permissions","verbose","editorMode","mcpServers","providerProfiles","activeProviderProfileId"]});
|
|
2
|
+
export{Vj as Hc,Wj as Ic,e as Jc,Xj as Kc,Yj as Lc,jj as Mc};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Esa as l}from"./cli-1.1.3-atjv82jv.mjs";function o(i,e,r){var t=null;if(r!==void 0&&(t=""+r),e.key!==void 0&&(t=""+e.key),"key"in e){r={};for(var s in e)s!=="key"&&(r[s]=e[s])}else r=e;return e=r.ref,{$$typeof:n,type:i,key:t,ref:e!==void 0?e:null,props:r}}var n,d,u,E,a;var c=l(()=>{n=Symbol.for("react.transitional.element"),d=Symbol.for("react.fragment");u=d,E=o,a=o});
|
|
2
|
+
export{u as j4,E as k4,a as l4,c as m4};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{O$ as _,y$ as Q}from"./cli-1.1.3-c06t4mva.mjs";import{Eia as I,Gia as X}from"./cli-1.1.3-6kse36ke.mjs";import{vka as B,yka as V}from"./cli-1.1.3-v5ceeb5d.mjs";import{Esa as T}from"./cli-1.1.3-atjv82jv.mjs";function j(){A.clear()}async function P(){let f=await Y();if(!f)return null;if(f.host!=="github.com")return null;return`${f.owner}/${f.name}`}async function Y(){let f=I();if(A.has(f))return A.get(f)??null;try{let q=await Q();if(B(`Git remote URL: ${q}`),!q)return B("No git remote URL found"),A.set(f,null),null;let x=O(q);return B(`Parsed repository: ${x?`${x.host}/${x.owner}/${x.name}`:null} from URL: ${q}`),A.set(f,x),x}catch(q){return B(`Error detecting repository: ${q}`),A.set(f,null),null}}function S(){let f=A.get(I());if(!f||f.host!=="github.com")return null;return`${f.owner}/${f.name}`}function O(f){let q=f.trim(),x=q.match(/^git@([^:]+):([^/]+)\/([^/]+?)(?:\.git)?$/);if(x?.[1]&&x[2]&&x[3]){if(!N(x[1]))return null;return{host:x[1],owner:x[2],name:x[3]}}let z=q.match(/^(https?|ssh|git):\/\/(?:[^@]+@)?([^/:]+(?::\d+)?)\/([^/]+)\/([^/]+?)(?:\.git)?$/);if(z?.[1]&&z[2]&&z[3]&&z[4]){let E=z[1],J=z[2],K=J.split(":")[0]??"";if(!N(K))return null;return{host:E==="https"||E==="http"?J:K,owner:z[3],name:z[4]}}return null}function D(f){let q=f.trim(),x=O(q);if(x){if(x.host!=="github.com")return null;return`${x.owner}/${x.name}`}if(!q.includes("://")&&!q.includes("@")&&q.includes("/")){let z=q.split("/");if(z.length===2&&z[0]&&z[1]){let E=z[1].replace(/\.git$/,"");return`${z[0]}/${E}`}}return B(`Could not parse repository from: ${q}`),null}function N(f){if(!f.includes("."))return!1;let q=f.split(".").pop();if(!q)return!1;return/^[a-zA-Z]+$/.test(q)}var A;var Z=T(()=>{X();V();_();A=new Map});
|
|
2
|
+
export{j as k_,P as l_,Y as m_,S as n_,O as o_,D as p_,Z as q_};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{qsa as p,rsa as a}from"./cli-1.1.3-6f17b1wv.mjs";import{Csa as i}from"./cli-1.1.3-atjv82jv.mjs";var u=i((V)=>{var v=p(),T=a(),_="AWS_ACCESS_KEY_ID",N="AWS_SECRET_ACCESS_KEY",S="AWS_SESSION_TOKEN",C="AWS_CREDENTIAL_EXPIRATION",A="AWS_CREDENTIAL_SCOPE",I="AWS_ACCOUNT_ID",d=(e)=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");let r=process.env[_],s=process.env[N],E=process.env[S],o=process.env[C],n=process.env[A],t=process.env[I];if(r&&s){let c={accessKeyId:r,secretAccessKey:s,...E&&{sessionToken:E},...o&&{expiration:new Date(o)},...n&&{credentialScope:n},...t&&{accountId:t}};return v.setCredentialFeature(c,"CREDENTIALS_ENV_VARS","g"),c}throw new T.CredentialsProviderError("Unable to find environment variable credentials.",{logger:e?.logger})};V.ENV_ACCOUNT_ID=I;V.ENV_CREDENTIAL_SCOPE=A;V.ENV_EXPIRATION=C;V.ENV_KEY=_;V.ENV_SECRET=N;V.ENV_SESSION=S;V.fromEnv=d});
|
|
2
|
+
export{u as H9};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{OU as N,PU as p,QU as F,SU as U,TU as A}from"./cli-1.1.3-sjkaxzsp.mjs";import{Z8 as L,_8 as P,b9 as O,d9 as V,n9 as x,p9 as H,q9 as k}from"./cli-1.1.3-hw5kjqjr.mjs";import{Nda as X,Tda as Y,Tea as Z,aea as K,kba as I,mba as D,mfa as M}from"./cli-1.1.3-c06t4mva.mjs";import{gla as $,qla as b}from"./cli-1.1.3-6jpsfc7q.mjs";import{Esa as G}from"./cli-1.1.3-atjv82jv.mjs";function R(q){if(!q||!process.env.ANTHROPIC_UNIX_SOCKET)return q||{};let{ANTHROPIC_UNIX_SOCKET:z,ANTHROPIC_BASE_URL:B,ANTHROPIC_API_KEY:Q,ANTHROPIC_AUTH_TOKEN:T,CLAUDE_CODE_OAUTH_TOKEN:f,...m}=q;return m}function _(q){if(!q)return{};if(!$(process.env.CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST))return q;let z={};for(let[B,Q]of Object.entries(q))if(!F(B))z[B]=Q;return z}function h(q){if(!q||!W)return q||{};let z={};for(let[B,Q]of Object.entries(q))if(!W.has(B))z[B]=Q;return z}function J(q){return h(_(R(q)))}function r(){if(W===void 0)W=process.env.CLAUDE_CODE_ENTRYPOINT==="claude-desktop"?new Set(Object.keys(process.env)):null;Object.assign(process.env,J(Z().env));for(let z of w){if(z==="policySettings")continue;if(!I(z))continue;Object.assign(process.env,J(X(z)?.env))}N(),Object.assign(process.env,J(X("policySettings")?.env));let q=J(Y()?.env);for(let[z,B]of Object.entries(q))if(U.has(z.toUpperCase()))process.env[z]=B}function g(){Object.assign(process.env,J(Z().env)),Object.assign(process.env,J(Y()?.env)),L(),O(),H(),x()}var W,w;var j=G(()=>{p();P();M();b();A();V();k();D();K();w=["userSettings","flagSettings","policySettings"]});
|
|
2
|
+
export{r as Rc,g as Sc,j as Tc};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{AE as V,BE as $,aS as F,js as O,ks as Z,nk as L,oK as X}from"./cli-1.1.3-hs9ck03n.mjs";import{Esa as Y}from"./cli-1.1.3-atjv82jv.mjs";function W(G){let D=[],H=G.matchAll(v);for(let z of H)if(z.index!==void 0)D.push({word:z[0],start:z.index,end:z.index+z[0].length});return D}async function b({question:G,cacheSafeParams:D}){let H=`<system-reminder>This is a side question from the user. You must answer this question directly in a single response.
|
|
2
|
+
|
|
3
|
+
IMPORTANT CONTEXT:
|
|
4
|
+
- You are a separate, lightweight agent spawned to answer this one question
|
|
5
|
+
- The main agent is NOT interrupted - it continues working independently in the background
|
|
6
|
+
- You share the conversation context but are a completely separate instance
|
|
7
|
+
- Do NOT reference being interrupted or what you were "previously doing" - that framing is incorrect
|
|
8
|
+
|
|
9
|
+
CRITICAL CONSTRAINTS:
|
|
10
|
+
- You have NO tools available - you cannot read files, run commands, search, or take any actions
|
|
11
|
+
- This is a one-off response - there will be no follow-up turns
|
|
12
|
+
- You can ONLY provide information based on what you already know from the conversation context
|
|
13
|
+
- NEVER say things like "Let me try...", "I'll now...", "Let me check...", or promise to take any action
|
|
14
|
+
- If you don't know the answer, say so - do not offer to look it up or investigate
|
|
15
|
+
|
|
16
|
+
Simply answer the question with the information you have.</system-reminder>
|
|
17
|
+
|
|
18
|
+
${G}`,z=await V({promptMessages:[X({content:H})],cacheSafeParams:D,canUseTool:async()=>({behavior:"deny",message:"Side questions cannot use tools",decisionReason:{type:"other",reason:"side_question"}}),querySource:"side_question",forkLabel:"side_question",maxTurns:1,skipCacheWrite:!0});return{response:y(z.messages),usage:z.totalUsage}}function y(G){let D=G.flatMap((z)=>z.type==="assistant"?z.message.content:[]);if(D.length>0){let z=L(D,`
|
|
19
|
+
|
|
20
|
+
`).trim();if(z)return z;let J=D.find((K)=>K.type==="tool_use");if(J)return`(The model tried to call ${"name"in J?J.name:"a tool"} instead of answering directly. Try rephrasing or ask in the main conversation.)`}let H=G.find((z)=>z.type==="system"&&("subtype"in z)&&z.subtype==="api_error");if(H)return`(API error: ${O(H.error)})`;return null}var v;var C=Y(()=>{Z();$();F();v=/^\/btw\b/gi});
|
|
21
|
+
export{W as Sh,b as Th,C as Uh};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{A2 as VJ,x2 as qJ}from"./cli-1.1.3-v35td7vm.mjs";import{Bba as ZJ,Dba as jJ,Mga as q,Q$ as YJ,Qea as U,R$ as TJ,R_ as W,S_ as f,Sda as $J,Uga as u,aea as AJ,mfa as m,uba as y,wba as E}from"./cli-1.1.3-c06t4mva.mjs";import{sja as F,vja as NJ}from"./cli-1.1.3-wnmbr0xp.mjs";import{$ja as N,_ja as b,dka as P,hka as w,lka as D,vka as K,yka as xJ}from"./cli-1.1.3-v5ceeb5d.mjs";import{Fka as QJ,Wka as M,Xka as v,_ka as n,ala as j}from"./cli-1.1.3-3ck9nde3.mjs";import{dla as O,qla as k}from"./cli-1.1.3-6jpsfc7q.mjs";import{Esa as T}from"./cli-1.1.3-atjv82jv.mjs";import{access as d,chmod as vJ,writeFile as RJ}from"fs/promises";import{homedir as h}from"os";import{join as B}from"path";function A(){return B(O(),"local")}function _J(J=h()){return B(J,".claude","local")}function p(J){let Q=J?.homeDir??h(),Y=J?.configHomeDir??O();return Array.from(new Set([B(Y,"local"),_J(Q)]))}function c(J){return[B(J,"node_modules",".bin","claudin"),B(J,"node_modules",".bin","claude")]}function GJ(J){let Q=J.replace(/\\+/g,"/");return Q.includes("/.claudin/local/node_modules/")||Q.includes("/.claude/local/node_modules/")}function V(){return B(A(),"claudin")}function rJ(){return GJ(y())}async function I(J,Q,Y){try{return await RJ(J,Q,{encoding:"utf8",flag:"wx",mode:Y}),!0}catch(Z){if(M(Z)==="EEXIST")return!1;throw Z}}async function OJ(){try{let J=A();await w().mkdir(J),await I(B(J,"package.json"),b({name:"claudin-local",version:"0.0.1",private:!0},null,2));let Q=V();if(await I(Q,`#!/bin/sh
|
|
2
|
+
exec "${J}/node_modules/.bin/claudin" "$@"`,493))await vJ(Q,493);return!0}catch(J){return q(J),!1}}async function JQ(J,Q){try{if(!await OJ())return"install_failed";let Z=await W("npm",["install",`@claudiolabs/claudin@${Q?Q:J==="stable"?"stable":"latest"}`],{cwd:A(),maxBuffer:1e6});if(Z.code!==0){let $=Error(`Failed to install Claude CLI package: ${Z.stderr}`);return q($),Z.code===190?"in_progress":"install_failed"}return U(($)=>({...$,installMethod:"local"})),"success"}catch(Y){return q(Y),"install_failed"}}async function QQ(){for(let J of p())for(let Q of c(J))try{return await d(Q),!0}catch{}return!1}async function YQ(){for(let J of p())for(let Q of c(J))try{return await d(Q),J}catch{}return null}function ZQ(){let J=process.env.SHELL||"";if(J.includes("zsh"))return"zsh";if(J.includes("bash"))return"bash";if(J.includes("fish"))return"fish";return"unknown"}var g=T(()=>{E();m();k();j();f();D();u();P()});import{open as MJ,readFile as wJ,stat as yJ}from"fs/promises";import{homedir as t}from"os";import{join as C}from"path";function S(J){let Q=J?.homedir??t(),Z=(J?.env??process.env).ZDOTDIR||Q;return{zsh:C(Z,".zshrc"),bash:C(Q,".bashrc"),fish:C(Q,".config/fish/config.fish")}}function a(J){let Q=!1;return{filtered:J.filter((Z)=>{if(s.test(Z)){let $=Z.match(/alias\s+claude\s*=\s*["']([^"']+)["']/);if(!$)$=Z.match(/alias\s+claude\s*=\s*([^#\n]+)/);if($&&$[1]){if($[1].trim()===V())return Q=!0,!1}}return!0}),hadAlias:Q}}async function L(J){try{return(await wJ(J,{encoding:"utf8"})).split(`
|
|
3
|
+
`)}catch(Q){if(n(Q))return null;throw Q}}async function l(J,Q){let Y=await MJ(J,"w");try{await Y.writeFile(Q.join(`
|
|
4
|
+
`),{encoding:"utf8"}),await Y.datasync()}finally{await Y.close()}}async function UJ(J){let Q=S(J);for(let Y of Object.values(Q)){let Z=await L(Y);if(!Z)continue;for(let $ of Z)if(s.test($)){let X=$.match(/alias\s+claude=["']?([^"'\s]+)/);if(X&&X[1])return X[1]}}return null}async function HQ(J){let Q=await UJ(J);if(!Q)return null;let Y=J?.homedir??t(),Z=Q.startsWith("~")?Q.replace("~",Y):Q;try{let $=await yJ(Z);if($.isFile()||$.isSymbolicLink())return Q}catch{}return null}var s;var o=T(()=>{j();g();s=/^\s*alias\s+claude\s*=/});import{constants as KJ}from"fs";import{access as WJ,readFile as CJ,stat as SJ,writeFile as i}from"fs/promises";import{homedir as z}from"os";import{join as H}from"path";function LJ(){let J=y();if(J.includes("/.bun/install/global/"))return!0;let Q=process.env.BUN_INSTALL;if(Q&&J.startsWith(Q))return!0;return!1}function XJ(){return LJ()?"bun":"npm"}function zJ(){let J=process.env.BUN_INSTALL||H(z(),".bun");return H(J,"install","global","node_modules","@claudiolabs/claudin")}async function kJ(){let J=await W("npm",["-g","config","get","prefix"],{cwd:z()});if(J.code!==0)return null;let Q=J.stdout.trim();if(!Q)return null;return YJ()==="windows"?H(Q,"node_modules","@claudiolabs/claudin"):H(Q,"lib","node_modules","@claudiolabs/claudin")}async function e(J){try{let Q=await CJ(H(J,"package.json"),"utf8"),Y=N(Q);return typeof Y.version==="string"?Y.version:null}catch(Q){if(!v(Q))q(Q);return null}}function r(J){return J==="bun"?Promise.resolve(zJ()):kJ()}async function bJ(J,Q,Y){let Z=J==="npm"?"bun":"npm",$=await r(Z);if(!$)return;let X=await e($);if(!X)return;let _=await r(J),G=_?await e(_):null;if(G&&X===G)return;K(`update: repairing stale ${Z} install ${X} at ${$}`);let x=await W(Z,Z==="npm"?["install","-g","--force",Q]:["install","-g",Q],{cwd:z()});if(x.code!==0){q(new R(`Failed to refresh the ${Z} global install at ${$}: ${x.stdout} ${x.stderr}`));return}if(Z==="bun")await HJ();Y?.(`Repaired old version ${X} at ${$}`)}async function PJ(J,Q){let Y=await W("node",[J],{cwd:Q});if(Y.code===0)return!0;if(!IJ.test(Y.error??""))return q(new R(`Skipped postinstall failed under node: ${Y.stdout} ${Y.stderr}`)),!1;let Z=await W("bun",[J],{cwd:Q});if(Z.code===0)return!0;return q(new R(`Skipped postinstall failed under bun: ${Z.stdout} ${Z.stderr}`)),!1}async function HJ(){let J=zJ(),Q=H(J,"install.cjs"),Y=H(J,"bin","claudin.exe");try{await WJ(Q,KJ.F_OK)}catch(Z){if(!v(Z))q(Z);return!1}try{if((await SJ(Y)).size>FJ)return!1}catch(Z){if(!v(Z))return q(Z),!1}if(!await PJ(Q,J))return!1;return K("update: repaired Bun global launcher via install.cjs"),!0}async function IQ(){}async function kQ(){return}async function bQ(){return}function PQ(J){let Y=$J()?.minimumVersion;if(!Y)return!1;let Z=!qJ(J,Y);if(Z)K(`Skipping update to ${J} - below minimumVersion ${Y}`);return Z}function BJ(){return H(O(),".update.lock")}async function DJ(){let J=w(),Q=BJ();try{let Y=await J.stat(Q);if(Date.now()-Y.mtimeMs<JJ)return!1;try{let $=await J.stat(Q);if(Date.now()-$.mtimeMs<JJ)return!1;await J.unlink(Q)}catch($){if(!v($))return q($),!1}}catch(Y){if(!v(Y))return q(Y),!1}try{return await i(Q,`${process.pid}`,{encoding:"utf8",flag:"wx"}),!0}catch(Y){let Z=M(Y);if(Z==="EEXIST")return!1;if(Z==="ENOENT")try{return await J.mkdir(O()),await i(Q,`${process.pid}`,{encoding:"utf8",flag:"wx"}),!0}catch($){if(M($)==="EEXIST")return!1;return q($),!1}return q(Y),!1}}async function fJ(){let J=w(),Q=BJ();try{if(await J.readFile(Q,{encoding:"utf8"})===`${process.pid}`)await J.unlink(Q)}catch(Y){if(v(Y))return;q(Y)}}async function EJ(){let J=XJ()==="bun",Q=null;if(J)Q=await W("bun",["pm","bin","-g"],{cwd:z()});else Q=await W("npm",["-g","config","get","prefix"],{cwd:z()});if(Q.code!==0)return q(Error(`Failed to check ${J?"bun":"npm"} permissions`)),null;return Q.stdout.trim()}async function mJ(){try{let J=await EJ();if(!J)return{hasPermissions:!1,npmPrefix:null};try{return await WJ(J,KJ.W_OK),{hasPermissions:!0,npmPrefix:J}}catch{return q(new R("Insufficient permissions for global npm install.")),{hasPermissions:!1,npmPrefix:J}}}catch(J){return q(J),{hasPermissions:!1,npmPrefix:null}}}async function DQ(J,Q={}){let Y=J==="stable"?"stable":"latest",Z=Q.timeoutMs??5000,$=await W("npm",["view",`@claudiolabs/claudin@${Y}`,"version","--prefer-online"],{abortSignal:AbortSignal.timeout(Z),cwd:z()});if($.code!==0){if(K(`npm view failed with code ${$.code}`),$.stderr)K(`npm stderr: ${$.stderr.trim()}`);else K("npm stderr: (empty)");if($.stdout)K(`npm stdout: ${$.stdout.trim()}`);return null}return $.stdout.trim()}async function fQ(){let J=await W("npm",["view","@claudiolabs/claudin","dist-tags","--json","--prefer-online"],{abortSignal:AbortSignal.timeout(5000),cwd:z()});if(J.code!==0)return K(`npm view dist-tags failed with code ${J.code}`),{latest:null,stable:null};try{let Q=N(J.stdout.trim());return{latest:typeof Q.latest==="string"?Q.latest:null,stable:typeof Q.stable==="string"?Q.stable:null}}catch(Q){return K(`Failed to parse dist-tags: ${Q}`),{latest:null,stable:null}}}async function EQ(J){return null}async function mQ(){return{latest:null,stable:null}}async function uQ(J){let Y=await W("npm",["view","@claudiolabs/claudin","versions","--json","--prefer-online"],{abortSignal:AbortSignal.timeout(30000),cwd:z()});if(Y.code!==0){if(K(`npm view versions failed with code ${Y.code}`),Y.stderr)K(`npm stderr: ${Y.stderr.trim()}`);return[]}try{return N(Y.stdout.trim()).slice(-J).reverse()}catch(Z){return K(`Failed to parse version history: ${Z}`),[]}}async function dQ(J,Q){if(!await DJ())return q(new R("Another process is currently installing an update")),F("tengu_auto_updater_lock_contention",{pid:process.pid,currentVersion:"99.0.0"}),"in_progress";try{await uJ();let Y=XJ();if(Y==="npm"&&ZJ.isNpmFromWindowsPath())return q(Error("Windows NPM detected in WSL environment")),F("tengu_auto_updater_windows_npm_in_wsl",{currentVersion:"99.0.0"}),console.error(`
|
|
5
|
+
Error: Windows NPM detected in WSL
|
|
6
|
+
|
|
7
|
+
You're running Claude Code in WSL but using the Windows NPM installation from /mnt/c/.
|
|
8
|
+
This configuration is not supported for updates.
|
|
9
|
+
|
|
10
|
+
To fix this issue:
|
|
11
|
+
1. Install Node.js within your Linux distribution: e.g. sudo apt install nodejs npm
|
|
12
|
+
2. Make sure Linux NPM is in your PATH before the Windows version
|
|
13
|
+
3. Try updating again with 'claude update'
|
|
14
|
+
`),"install_failed";let{hasPermissions:Z}=await mJ();if(!Z)return"no_permissions";let $=J?`@claudiolabs/claudin@${J}`:"@claudiolabs/claudin",_=await W(Y,Y==="npm"?["install","-g","--force",$]:["install","-g",$],{cwd:z()});if(_.code!==0){let G=new R(`Failed to install new version of claude: ${_.stdout} ${_.stderr}`);return q(G),"install_failed"}return await HJ(),await bJ(Y,$,Q?.onProgress),U((G)=>({...G,installMethod:"global"})),"success"}finally{await fJ()}}async function uJ(){let J=S();for(let[,Q]of Object.entries(J))try{let Y=await L(Q);if(!Y)continue;let{filtered:Z,hadAlias:$}=a(Y);if($)await l(Q,Z),K(`Removed claude alias from ${Q}`)}catch(Y){K(`Failed to remove alias from ${Q}: ${Y}`,{level:"error"})}}var R,FJ=4096,IJ,JJ=300000;var dJ=T(()=>{NJ();E();m();xJ();jJ();k();j();f();D();u();TJ();VJ();AJ();o();P();R=class R extends QJ{};IJ=/ENOENT/i});
|
|
15
|
+
export{rJ as lU,JQ as mU,QQ as nU,YQ as oU,ZQ as pU,g as qU,S as rU,a as sU,L as tU,l as uU,UJ as vU,HQ as wU,o as xU,zJ as yU,HJ as zU,IQ as AU,kQ as BU,bQ as CU,PQ as DU,BJ as EU,mJ as FU,DQ as GU,fQ as HU,EQ as IU,mQ as JU,uQ as KU,dQ as LU,dJ as MU};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{$$ as f,Mga as U,Uga as m,X$ as F,b$ as K,c$ as E}from"./cli-1.1.3-c06t4mva.mjs";import{Eia as v,Gia as x}from"./cli-1.1.3-6kse36ke.mjs";import{hka as D,lka as g}from"./cli-1.1.3-v5ceeb5d.mjs";import{Esa as S}from"./cli-1.1.3-atjv82jv.mjs";import{basename as H,dirname as b,join as I,sep as O}from"path";function _(q,B){if(!q)return{directory:B||v(),prefix:""};let G=F(q,B);if(q.endsWith("/")||q.endsWith(O))return{directory:G,prefix:""};let N=b(G),J=H(q);return{directory:N,prefix:J}}async function k(q){let B=Z.get(q);if(B)return B;try{let J=(await D().readdir(q)).filter((M)=>M.isDirectory()&&!M.name.startsWith(".")).map((M)=>({name:M.name,path:I(q,M.name),type:"directory"})).slice(0,100);return Z.set(q,J),J}catch(G){return U(G),[]}}async function P(q,B={}){let{basePath:G=v(),maxResults:N=10}=B,{directory:J,prefix:M}=_(q,G),V=await k(J),z=M.toLowerCase();return V.filter((X)=>X.name.toLowerCase().startsWith(z)).slice(0,N).map((X)=>({id:X.path,displayText:X.name+"/",description:"directory",metadata:{type:"directory"}}))}function o(q){return q.startsWith("~/")||q.startsWith("/")||q.startsWith("./")||q.startsWith("../")||q==="~"||q==="."||q===".."}async function u(q,B=!1){let G=`${q}:${B}`,N=A.get(G);if(N)return N;try{let V=(await D().readdir(q)).filter((z)=>B||!z.name.startsWith(".")).map((z)=>({name:z.name,path:I(q,z.name),type:z.isDirectory()?"directory":"file"})).sort((z,W)=>{if(z.type==="directory"&&W.type!=="directory")return-1;if(z.type!=="directory"&&W.type==="directory")return 1;return z.name.localeCompare(W.name)}).slice(0,100);return A.set(G,V),V}catch(J){return U(J),[]}}async function h(q,B={}){let{basePath:G=v(),maxResults:N=10,includeFiles:J=!0,includeHidden:M=!1}=B,{directory:V,prefix:z}=_(q,G),W=await u(V,M),X=z.toLowerCase(),j=W.filter((Q)=>{if(!J&&Q.type==="file")return!1;return Q.name.toLowerCase().startsWith(X)}).slice(0,N),w=q.includes("/")||q.includes(O),Y="";if(w){let Q=q.lastIndexOf("/"),$=q.lastIndexOf(O),L=Math.max(Q,$);Y=q.substring(0,L+1)}if(Y.startsWith("./")||Y.startsWith("."+O))Y=Y.slice(2);return j.map((Q)=>{let $=Y+Q.name;return{id:$,displayText:Q.type==="directory"?$+"/":$,metadata:{type:Q.type}}})}var R=500,T=300000,Z,A;var C=S(()=>{E();x();g();m();f();Z=new K({max:R,ttl:T}),A=new K({max:R,ttl:T})});
|
|
2
|
+
export{P as Fh,o as Gh,h as Hh,C as Ih};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{gla as q,qla as U}from"./cli-1.1.3-6jpsfc7q.mjs";import{Dsa as L,Esa as X}from"./cli-1.1.3-atjv82jv.mjs";import{AsyncLocalStorage as F}from"async_hooks";function G(){return O.getStore()}function Y(z,B){return O.run(z,B)}function Z(){return O.getStore()!==void 0}function $(z){return{...z,isInProcess:!0}}var O;var Q=X(()=>{O=new F});var y={};L(y,{waitForTeammatesToBecomeIdle:()=>l,setDynamicTeamContext:()=>b,runWithTeammateContext:()=>Y,isTeammate:()=>u,isTeamLead:()=>S,isPlanModeRequired:()=>w,isInProcessTeammate:()=>Z,hasWorkingInProcessTeammates:()=>I,hasActiveInProcessTeammates:()=>P,getTeammateContext:()=>G,getTeammateColor:()=>f,getTeamName:()=>h,getParentSessionId:()=>_,getDynamicTeamContext:()=>v,getAgentName:()=>A,getAgentId:()=>E,createTeammateContext:()=>$,clearDynamicTeamContext:()=>j});function _(){let z=G();if(z)return z.parentSessionId;return D?.parentSessionId}function b(z){D=z}function j(){D=null}function v(){return D}function E(){let z=G();if(z)return z.agentId;return D?.agentId}function A(){let z=G();if(z)return z.agentName;return D?.agentName}function h(z){let B=G();if(B)return B.teamName;if(D?.teamName)return D.teamName;return z?.teamName}function u(){if(G())return!0;return!!(D?.agentId&&D?.teamName)}function f(){let z=G();if(z)return z.color;return D?.color}function w(){let z=G();if(z)return z.planModeRequired;if(D!==null)return D.planModeRequired;return q(process.env.CLAUDE_CODE_PLAN_MODE_REQUIRED)}function S(z){if(!z?.leadAgentId)return!1;let B=E(),H=z.leadAgentId;if(B===H)return!0;if(!B)return!0;return!1}function P(z){for(let B of Object.values(z.tasks))if(B.type==="in_process_teammate"&&B.status==="running")return!0;return!1}function I(z){for(let B of Object.values(z.tasks))if(B.type==="in_process_teammate"&&B.status==="running"&&!B.isIdle)return!0;return!1}function l(z,B){let H=[];for(let[M,J]of Object.entries(B.tasks))if(J.type==="in_process_teammate"&&J.status==="running"&&!J.isIdle)H.push(M);if(H.length===0)return Promise.resolve();return new Promise((M)=>{let J=H.length,R=()=>{if(J--,J===0)M()};z((V)=>{let N={...V.tasks};for(let W of H){let K=N[W];if(K&&K.type==="in_process_teammate")if(K.isIdle)R();else N[W]={...K,onIdleCallbacks:[...K.onIdleCallbacks??[],R]}}return{...V,tasks:N}})})}var D=null;var g=X(()=>{Q();U();Q()});
|
|
2
|
+
export{G as SX,Y as TX,Z as UX,$ as VX,Q as WX,_ as XX,v as YX,E as ZX,A as _X,h as $X,u as aY,f as bY,w as cY,S as dY,P as eY,I as fY,l as gY,y as hY,g as iY};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Uf as N0,Vf as U0,Xf as VP}from"./cli-1.1.3-hftwajch.mjs";import{$n as w0,MN as ZP,NN as m0,PN as qP,UM as WP,UN as CP,Yn as h,Zn as c0,_n as p,ao as r,bN as cP,bo as W0,cN as fP,eN as M0,eo as O0,fN as h0,fo as EP,gN as T0,hN as d0,iy as J0,jO as C0,jy as QP,kI as G0,kN as R0,lG as XP,lI as YP,ly as j0,mG as mP,nO as pP,rN as u0,vG as L0,xG as i0}from"./cli-1.1.3-hs9ck03n.mjs";import{CY as D0,DY as LP,jY as JP,kY as hP,xY as z0,zY as TP}from"./cli-1.1.3-ezvsqkxt.mjs";import{D1 as q0,IZ as k0,W0 as C,Y0 as X,_0 as L,c1 as F0,s1 as GP,tZ as PP,yZ as AP,zZ as I0}from"./cli-1.1.3-kh7s1ptn.mjs";import{j4 as n,k4 as J,l4 as Q,m4 as a}from"./cli-1.1.3-ckgtccms.mjs";import{n4 as $0}from"./cli-1.1.3-5zveqbgr.mjs";import{K4 as A0,L4 as dP}from"./cli-1.1.3-35pxqjkd.mjs";import{G8 as e0,Y8 as gP}from"./cli-1.1.3-zg0yshsb.mjs";import{A_ as r0,Rca as y0,Rga as s0,Sca as B0,Tca as KP,Uga as SP,hda as H0,ida as zP,qda as p0,z_ as _}from"./cli-1.1.3-c06t4mva.mjs";import{qja as g0,rja as _P}from"./cli-1.1.3-2at6mxpr.mjs";import{sja as m,vja as IP}from"./cli-1.1.3-wnmbr0xp.mjs";import{Vka as f0,ala as t0}from"./cli-1.1.3-3ck9nde3.mjs";import{Asa as e,Esa as P0}from"./cli-1.1.3-atjv82jv.mjs";function K0(G){let P=o0.c(9),{serverToolsCount:Y,serverPromptsCount:z,serverResourcesCount:Z}=G,f;if(P[0]!==z||P[1]!==Z||P[2]!==Y){if(f=[],Y>0)f.push("tools");if(Z>0)f.push("resources");if(z>0)f.push("prompts");P[0]=z,P[1]=Z,P[2]=Y,P[3]=f}else f=P[3];let H;if(P[4]===Symbol.for("react.memo_cache_sentinel"))H=J(L,{bold:!0,children:"Capabilities: "}),P[4]=H;else H=P[4];let W;if(P[5]!==f)W=f.length>0?J(r,{children:f}):"none",P[5]=f,P[6]=W;else W=P[6];let k;if(P[7]!==W)k=Q(X,{children:[H,J(L,{color:"text",children:W})]}),P[7]=W,P[8]=k;else k=P[8];return k}var o0;var _0=P0(()=>{q0();W0();a();o0=e(I0(),1)});function E0(G,P){switch(G.client.type){case"connected":return{message:`Reconnected to ${P}.`,success:!0};case"needs-auth":return{message:`${P} requires authentication. Use the 'Authenticate' option.`,success:!1};case"failed":return{message:`Failed to reconnect to ${P}.`,success:!1};default:return{message:`Unknown result when reconnecting to ${P}.`,success:!1}}}function V0(G,P){let Y=G instanceof Error?G.message:String(G);return`Error reconnecting to ${P}: ${Y}`}var S0=()=>{};function bG({server:G,serverToolsCount:P,onViewTools:Y,onCancel:z,onComplete:Z,borderless:f=!1}){let[H]=k0(),W=D0(),{columns:k}=JP(),[B,N]=E.default.useState(!1),[$,U]=E.default.useState(null),S=J0((q)=>q.mcp),M=QP(),[b,K]=E.default.useState(null),[V,D]=E.useState(!1),R=E.useRef(null),[g,c]=E.useState(!1),[j,T]=E.useState(null),[A,y]=E.useState(!1),[i,u]=E.useState(null),[l,v]=E.useState(!1),[o,s]=E.useState(!1),x=E.useRef(void 0),O=E.useRef(!1),[x0,Q0]=E.useState(""),[kP,DP]=E.useState(0),[a0,n0]=E.useState(null);E.useEffect(()=>()=>{if(O.current=!0,R.current?.abort(),x.current!==void 0)clearTimeout(x.current)},[]);let X0=G.isAuthenticated||G.client.type==="connected"&&P>0,Y0=N0(),wP=E.default.useCallback(async()=>{c(!1),T(null),D(!0);try{let q=await Y0(G.name),F=q.client.type==="connected";if(m("tengu_claudeai_mcp_auth_completed",{success:F}),F)Z?.(`Authentication successful. Connected to ${G.name}.`);else if(q.client.type==="needs-auth")Z?.("Authentication successful, but server still requires authentication. You may need to manually restart Claude Code.");else Z?.("Authentication successful, but server reconnection failed. You may need to manually restart Claude Code for the changes to take effect.")}catch(q){m("tengu_claudeai_mcp_auth_completed",{success:!1}),Z?.(V0(q,G.name))}finally{D(!1)}},[Y0,G.name,Z]),MP=E.default.useCallback(async()=>{await C0(G.name,{...G.config,scope:G.scope}),M((q)=>{let F=q.mcp.clients.map((t)=>t.name===G.name?{...t,type:"needs-auth"}:t),w=h0(q.mcp.tools,G.name),d=T0(q.mcp.commands,G.name),Z0=d0(q.mcp.resources,G.name);return{...q,mcp:{...q.mcp,clients:F,tools:w,commands:d,resources:Z0}}}),m("tengu_claudeai_mcp_clear_auth_completed",{}),Z?.(`Disconnected from ${G.name}.`),y(!1),u(null),v(!1)},[G.name,G.config,G.scope,M,Z]);z0("confirm:no",()=>{R.current?.abort(),R.current=null,N(!1),K(null)},{context:"Confirmation",isActive:B}),z0("confirm:no",()=>{c(!1),T(null)},{context:"Confirmation",isActive:g}),z0("confirm:no",()=>{y(!1),u(null),v(!1)},{context:"Confirmation",isActive:A}),GP((q,F)=>{if(F.return&&g)wP();if(F.return&&A)if(l)MP();else{let w=`${g0().CLAUDE_AI_ORIGIN}/settings/connectors`;u(w),v(!0),A0(w)}if(q==="c"&&!o){let w=b||j||i;if(w)PP(w).then((d)=>{if(O.current)return;if(d)process.stdout.write(d);if(s(!0),x.current!==void 0)clearTimeout(x.current);x.current=setTimeout(s,2000,!1)})}});let RP=H0(String(G.name)),NP=M0(S.commands,G.name).length,l0=U0(),UP=E.default.useCallback(async()=>{let q=g0().CLAUDE_AI_ORIGIN,w=e0()?.organizationUuid,d;if(w&&G.config.type==="claudeai-proxy"&&G.config.id){let Z0=G.config.id.startsWith("mcprs")?"mcpsrv"+G.config.id.slice(5):G.config.id,t=encodeURIComponent(process.env.CLAUDE_CODE_ENTRYPOINT||"cli");d=`${q}/api/organizations/${w}/mcp/start-auth/${Z0}?product_surface=${t}`}else d=`${q}/settings/connectors`;T(d),c(!0),m("tengu_claudeai_mcp_auth_started",{}),await A0(d)},[G.config]),bP=E.default.useCallback(()=>{y(!0),m("tengu_claudeai_mcp_clear_auth_started",{})},[]),yP=E.default.useCallback(async()=>{let q=G.client.type!=="disabled";try{if(await l0(G.name),G.config.type==="claudeai-proxy")m("tengu_claudeai_mcp_toggle",{new_state:q?"disabled":"enabled"});z()}catch(F){Z?.(`Failed to ${q?"disable":"enable"} MCP server '${G.name}': ${f0(F)}`)}},[G.client.type,G.config.type,G.name,l0,z,Z]),BP=E.default.useCallback(async()=>{if(G.config.type==="claudeai-proxy")return;N(!0),U(null);let q=new AbortController;R.current=q;try{if(G.isAuthenticated&&G.config)await m0(G.name,G.config,{preserveStepUpState:!0});if(G.config){await qP(G.name,G.config,K,q.signal,{onWaitingForCallback:(w)=>{n0(()=>w)}}),m("tengu_mcp_auth_config_authenticate",{wasAuthenticated:G.isAuthenticated});let F=await Y0(G.name);if(F.client.type==="connected"){let w=X0?`Authentication successful. Reconnected to ${G.name}.`:`Authentication successful. Connected to ${G.name}.`;Z?.(w)}else if(F.client.type==="needs-auth")Z?.("Authentication successful, but server still requires authentication. You may need to manually restart Claude Code.");else s0(G.name,"Reconnection failed after authentication"),Z?.("Authentication successful, but server reconnection failed. You may need to manually restart Claude Code for the changes to take effect.")}}catch(F){if(F instanceof Error&&!(F instanceof ZP))U(F.message)}finally{N(!1),R.current=null,n0(null),Q0("")}},[G.isAuthenticated,G.config,G.name,Z,Y0,X0]),OP=async()=>{if(G.config.type==="claudeai-proxy")return;if(G.config)await m0(G.name,G.config),m("tengu_mcp_auth_config_clear",{}),await C0(G.name,{...G.config,scope:G.scope}),M((q)=>{let F=q.mcp.clients.map((t)=>t.name===G.name?{...t,type:"failed"}:t),w=h0(q.mcp.tools,G.name),d=T0(q.mcp.commands,G.name),Z0=d0(q.mcp.resources,G.name);return{...q,mcp:{...q.mcp,clients:F,tools:w,commands:d,resources:Z0}}}),Z?.(`Authentication cleared for ${G.name}.`)};if(B){let q=G.config.type!=="claudeai-proxy"&&G.config.oauth?.xaa?" Authenticating via your identity provider":" A browser window will open for authentication";return Q(X,{flexDirection:"column",gap:1,padding:1,children:[Q(L,{color:"claude",children:["Authenticating with ",G.name,"…"]}),Q(X,{children:[J(G0,{}),J(L,{children:q})]}),b&&Q(X,{flexDirection:"column",children:[Q(X,{children:[Q(L,{dimColor:!0,children:["If your browser doesn't open automatically, copy this URL manually"," "]}),o?J(L,{color:"success",children:"(Copied!)"}):J(L,{dimColor:!0,children:J(h,{shortcut:"c",action:"copy",parens:!0})})]}),J(F0,{url:b})]}),B&&b&&a0&&Q(X,{flexDirection:"column",marginTop:1,children:[J(L,{dimColor:!0,children:"If the redirect page shows a connection error, paste the URL from your browser's address bar:"}),Q(X,{children:[Q(L,{dimColor:!0,children:["URL ",">"," "]}),J(XP,{value:x0,onChange:Q0,onSubmit:(F)=>{a0(F.trim()),Q0("")},cursorOffset:kP,onChangeCursorOffset:DP,columns:k-8})]})]}),J(X,{marginLeft:3,children:J(L,{dimColor:!0,children:"Return here after authenticating in your browser. Press Esc to go back."})})]})}if(g)return Q(X,{flexDirection:"column",gap:1,padding:1,children:[Q(L,{color:"claude",children:["Authenticating with ",G.name,"…"]}),Q(X,{children:[J(G0,{}),J(L,{children:" A browser window will open for authentication"})]}),j&&Q(X,{flexDirection:"column",children:[Q(X,{children:[Q(L,{dimColor:!0,children:["If your browser doesn't open automatically, copy this URL manually"," "]}),o?J(L,{color:"success",children:"(Copied!)"}):J(L,{dimColor:!0,children:J(h,{shortcut:"c",action:"copy",parens:!0})})]}),J(F0,{url:j})]}),Q(X,{marginLeft:3,flexDirection:"column",children:[Q(L,{color:"permission",children:["Press ",J(L,{bold:!0,children:"Enter"})," after authenticating in your browser."]}),J(L,{dimColor:!0,italic:!0,children:J(p,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"back"})})]})]});if(A)return Q(X,{flexDirection:"column",gap:1,padding:1,children:[Q(L,{color:"claude",children:["Clear authentication for ",G.name]}),l?Q(n,{children:[J(L,{children:'Find the MCP server in the browser and click "Disconnect".'}),i&&Q(X,{flexDirection:"column",children:[Q(X,{children:[Q(L,{dimColor:!0,children:["If your browser didn't open automatically, copy this URL manually"," "]}),o?J(L,{color:"success",children:"(Copied!)"}):J(L,{dimColor:!0,children:J(h,{shortcut:"c",action:"copy",parens:!0})})]}),J(F0,{url:i})]}),Q(X,{marginLeft:3,flexDirection:"column",children:[Q(L,{color:"permission",children:["Press ",J(L,{bold:!0,children:"Enter"})," when done."]}),J(L,{dimColor:!0,italic:!0,children:J(p,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"back"})})]})]}):Q(n,{children:[J(L,{children:'This will open claude.ai in the browser. Find the MCP server in the list and click "Disconnect".'}),Q(X,{marginLeft:3,flexDirection:"column",children:[Q(L,{color:"permission",children:["Press ",J(L,{bold:!0,children:"Enter"})," to open the browser."]}),J(L,{dimColor:!0,italic:!0,children:J(p,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"back"})})]})]})]});if(V)return Q(X,{flexDirection:"column",gap:1,padding:1,children:[Q(L,{color:"text",children:["Connecting to ",J(L,{bold:!0,children:G.name}),"…"]}),Q(X,{children:[J(G0,{}),J(L,{children:" Establishing connection to MCP server"})]}),J(L,{dimColor:!0,children:"This may take a few moments."})]});let I=[];if(G.client.type==="disabled")I.push({label:"Enable",value:"toggle-enabled"});if(G.client.type==="connected"&&P>0)I.push({label:"View tools",value:"tools"});if(G.config.type==="claudeai-proxy"){if(G.client.type==="connected")I.push({label:"Clear authentication",value:"claudeai-clear-auth"});else if(G.client.type!=="disabled")I.push({label:"Authenticate",value:"claudeai-auth"})}else{if(X0)I.push({label:"Re-authenticate",value:"reauth"}),I.push({label:"Clear authentication",value:"clear-auth"});if(!X0)I.push({label:"Authenticate",value:"auth"})}if(G.client.type!=="disabled"){if(G.client.type!=="needs-auth")I.push({label:"Reconnect",value:"reconnectMcpServer"});I.push({label:"Disable",value:"toggle-enabled"})}if(I.length===0)I.push({label:"Back",value:"back"});return Q(X,{flexDirection:"column",children:[Q(X,{flexDirection:"column",paddingX:1,borderStyle:f?void 0:"round",children:[J(X,{marginBottom:1,children:Q(L,{bold:!0,children:[RP," MCP Server"]})}),Q(X,{flexDirection:"column",gap:0,children:[Q(X,{children:[J(L,{bold:!0,children:"Status: "}),G.client.type==="disabled"?Q(L,{children:[C("inactive",H)(_.radioOff)," disabled"]}):G.client.type==="connected"?Q(L,{children:[C("success",H)(_.tick)," connected"]}):G.client.type==="pending"?Q(n,{children:[J(L,{dimColor:!0,children:_.radioOff}),J(L,{children:" connecting…"})]}):G.client.type==="needs-auth"?Q(L,{children:[C("warning",H)(_.triangleUpOutline)," needs authentication"]}):Q(L,{children:[C("error",H)(_.cross)," failed"]})]}),G.transport!=="claudeai-proxy"&&Q(X,{children:[J(L,{bold:!0,children:"Auth: "}),X0?Q(L,{children:[C("success",H)(_.tick)," authenticated"]}):Q(L,{children:[C("error",H)(_.cross)," not authenticated"]})]}),Q(X,{children:[J(L,{bold:!0,children:"URL: "}),J(L,{dimColor:!0,children:G.config.url})]}),Q(X,{children:[J(L,{bold:!0,children:"Config location: "}),J(L,{dimColor:!0,children:R0(G.scope)})]}),G.client.type==="connected"&&J(K0,{serverToolsCount:P,serverPromptsCount:NP,serverResourcesCount:S.resources[G.name]?.length||0}),G.client.type==="connected"&&P>0&&Q(X,{children:[J(L,{bold:!0,children:"Tools: "}),Q(L,{dimColor:!0,children:[P," tools"]})]})]}),$&&J(X,{marginTop:1,children:Q(L,{color:"error",children:["Error: ",$]})}),I.length>0&&J(X,{marginTop:1,children:J(L0,{options:I,onChange:async(q)=>{switch(q){case"tools":Y();break;case"auth":case"reauth":await BP();break;case"clear-auth":await OP();break;case"claudeai-auth":await UP();break;case"claudeai-clear-auth":bP();break;case"reconnectMcpServer":D(!0);try{let F=await Y0(G.name);if(G.config.type==="claudeai-proxy")m("tengu_claudeai_mcp_reconnect",{success:F.client.type==="connected"});let{message:w}=E0(F,G.name);Z?.(w)}catch(F){if(G.config.type==="claudeai-proxy")m("tengu_claudeai_mcp_reconnect",{success:!1});Z?.(V0(F,G.name))}finally{D(!1)}break;case"toggle-enabled":await yP();break;case"back":z();break}},onCancel:z})})]}),J(X,{marginTop:1,children:J(L,{dimColor:!0,italic:!0,children:W.pending?Q(n,{children:["Press ",W.keyName," again to exit"]}):Q(r,{children:[J(h,{shortcut:"↑↓",action:"navigate"}),J(h,{shortcut:"Enter",action:"select"}),J(p,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"back"})]})})})]})}var E;var $P=P0(()=>{r0();IP();_P();LP();hP();AP();q0();TP();CP();pP();VP();u0();j0();gP();dP();t0();SP();p0();w0();i0();W0();c0();YP();mP();_0();S0();a();E=e($0(),1)});function uG({server:G,serverToolsCount:P,onViewTools:Y,onCancel:z,onComplete:Z,borderless:f=!1}){let[H]=k0(),W=D0(),k=J0((V)=>V.mcp),B=N0(),N=U0(),[$,U]=b0.useState(!1),S=b0.default.useCallback(async()=>{let V=G.client.type!=="disabled";try{await N(G.name),z()}catch(D){Z(`Failed to ${V?"disable":"enable"} MCP server '${G.name}': ${f0(D)}`)}},[G.client.type,G.name,N,z,Z]),M=H0(String(G.name)),b=M0(k.commands,G.name).length,K=[];if(G.client.type!=="disabled"&&P>0)K.push({label:"View tools",value:"tools"});if(G.client.type!=="disabled")K.push({label:"Reconnect",value:"reconnectMcpServer"});if(K.push({label:G.client.type!=="disabled"?"Disable":"Enable",value:"toggle-enabled"}),K.length===0)K.push({label:"Back",value:"back"});if($)return Q(X,{flexDirection:"column",gap:1,padding:1,children:[Q(L,{color:"text",children:["Reconnecting to ",J(L,{bold:!0,children:G.name})]}),Q(X,{children:[J(G0,{}),J(L,{children:" Restarting MCP server process"})]}),J(L,{dimColor:!0,children:"This may take a few moments."})]});return Q(X,{flexDirection:"column",children:[Q(X,{flexDirection:"column",paddingX:1,borderStyle:f?void 0:"round",children:[J(X,{marginBottom:1,children:Q(L,{bold:!0,children:[M," MCP Server"]})}),Q(X,{flexDirection:"column",gap:0,children:[Q(X,{children:[J(L,{bold:!0,children:"Status: "}),G.client.type==="disabled"?Q(L,{children:[C("inactive",H)(_.radioOff)," disabled"]}):G.client.type==="connected"?Q(L,{children:[C("success",H)(_.tick)," connected"]}):G.client.type==="pending"?Q(n,{children:[J(L,{dimColor:!0,children:_.radioOff}),J(L,{children:" connecting…"})]}):Q(L,{children:[C("error",H)(_.cross)," failed"]})]}),Q(X,{children:[J(L,{bold:!0,children:"Command: "}),J(L,{dimColor:!0,children:G.config.command})]}),G.config.args&&G.config.args.length>0&&Q(X,{children:[J(L,{bold:!0,children:"Args: "}),J(L,{dimColor:!0,children:G.config.args.join(" ")})]}),Q(X,{children:[J(L,{bold:!0,children:"Config location: "}),J(L,{dimColor:!0,children:R0(WP(G.name)?.scope??"dynamic")})]}),G.client.type==="connected"&&J(K0,{serverToolsCount:P,serverPromptsCount:b,serverResourcesCount:k.resources[G.name]?.length||0}),G.client.type==="connected"&&P>0&&Q(X,{children:[J(L,{bold:!0,children:"Tools: "}),Q(L,{dimColor:!0,children:[P," tools"]})]})]}),K.length>0&&J(X,{marginTop:1,children:J(L0,{options:K,onChange:async(V)=>{if(V==="tools")Y();else if(V==="reconnectMcpServer"){U(!0);try{let D=await B(G.name),{message:R}=E0(D,G.name);Z?.(R)}catch(D){Z?.(V0(D,G.name))}finally{U(!1)}}else if(V==="toggle-enabled")await S();else if(V==="back")z()},onCancel:z})})]}),J(X,{marginTop:1,children:J(L,{dimColor:!0,italic:!0,children:W.pending?Q(n,{children:["Press ",W.keyName," again to exit"]}):Q(r,{children:[J(h,{shortcut:"↑↓",action:"navigate"}),J(h,{shortcut:"Enter",action:"select"}),J(p,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"back"})]})})})]})}var b0;var jP=P0(()=>{r0();LP();q0();cP();VP();u0();j0();t0();p0();w0();i0();W0();c0();YP();_0();S0();a();b0=e($0(),1)});function tG(G){let P=FP.c(44),{tool:Y,server:z,onBack:Z}=G,[f,H]=v0.default.useState(""),W,k;if(P[0]!==z.name||P[1]!==Y){k=y0(Y.name,z.name);let s=Y.userFacingName?Y.userFacingName({}):k;W=B0(s),P[0]=z.name,P[1]=Y,P[2]=W,P[3]=k}else W=P[2],k=P[3];let B=W,N;if(P[4]!==Y)N=Y.isReadOnly?.({})??!1,P[4]=Y,P[5]=N;else N=P[5];let $=N,U;if(P[6]!==Y)U=Y.isDestructive?.({})??!1,P[6]=Y,P[7]=U;else U=P[7];let S=U,M;if(P[8]!==Y)M=Y.isOpenWorld?.({})??!1,P[8]=Y,P[9]=M;else M=P[9];let b=M,K,V;if(P[10]!==Y)K=()=>{(async function(){try{let O=await Y.description({},{isNonInteractiveSession:!1,toolPermissionContext:{mode:"default",additionalWorkingDirectories:new Map,alwaysAllowRules:{},alwaysDenyRules:{},alwaysAskRules:{},isBypassPermissionsModeAvailable:!1},tools:[]});H(O)}catch{H("Failed to load description")}})()},V=[Y],P[10]=Y,P[11]=K,P[12]=V;else K=P[11],V=P[12];v0.default.useEffect(K,V);let D;if(P[13]!==$)D=$&&J(L,{color:"success",children:" [read-only]"}),P[13]=$,P[14]=D;else D=P[14];let R;if(P[15]!==S)R=S&&J(L,{color:"error",children:" [destructive]"}),P[15]=S,P[16]=R;else R=P[16];let g;if(P[17]!==b)g=b&&J(L,{dimColor:!0,children:" [open-world]"}),P[17]=b,P[18]=g;else g=P[18];let c;if(P[19]!==B||P[20]!==D||P[21]!==R||P[22]!==g)c=Q(n,{children:[B,D,R,g]}),P[19]=B,P[20]=D,P[21]=R,P[22]=g,P[23]=c;else c=P[23];let j=c,T;if(P[24]===Symbol.for("react.memo_cache_sentinel"))T=J(L,{bold:!0,children:"Tool name: "}),P[24]=T;else T=P[24];let A;if(P[25]!==k)A=Q(X,{children:[T,J(L,{dimColor:!0,children:k})]}),P[25]=k,P[26]=A;else A=P[26];let y;if(P[27]===Symbol.for("react.memo_cache_sentinel"))y=J(L,{bold:!0,children:"Full name: "}),P[27]=y;else y=P[27];let i;if(P[28]!==Y.name)i=Q(X,{children:[y,J(L,{dimColor:!0,children:Y.name})]}),P[28]=Y.name,P[29]=i;else i=P[29];let u;if(P[30]!==f)u=f&&Q(X,{flexDirection:"column",marginTop:1,children:[J(L,{bold:!0,children:"Description:"}),J(L,{wrap:"wrap",children:f})]}),P[30]=f,P[31]=u;else u=P[31];let l;if(P[32]!==Y.inputJSONSchema)l=Y.inputJSONSchema&&Y.inputJSONSchema.properties&&Object.keys(Y.inputJSONSchema.properties).length>0&&Q(X,{flexDirection:"column",marginTop:1,children:[J(L,{bold:!0,children:"Parameters:"}),J(X,{marginLeft:2,flexDirection:"column",children:Object.entries(Y.inputJSONSchema.properties).map((s)=>{let[x,O]=s,Q0=Y.inputJSONSchema?.required?.includes(x);return Q(L,{children:["• ",x,Q0&&J(L,{dimColor:!0,children:" (required)"}),":"," ",J(L,{dimColor:!0,children:typeof O==="object"&&O&&"type"in O?String(O.type):"unknown"}),typeof O==="object"&&O&&"description"in O&&Q(L,{dimColor:!0,children:[" - ",String(O.description)]})]},x)})})]}),P[32]=Y.inputJSONSchema,P[33]=l;else l=P[33];let v;if(P[34]!==A||P[35]!==i||P[36]!==u||P[37]!==l)v=Q(X,{flexDirection:"column",children:[A,i,u,l]}),P[34]=A,P[35]=i,P[36]=u,P[37]=l,P[38]=v;else v=P[38];let o;if(P[39]!==Z||P[40]!==z.name||P[41]!==v||P[42]!==j)o=J(O0,{title:j,subtitle:z.name,onCancel:Z,inputGuide:iP,children:v}),P[39]=Z,P[40]=z.name,P[41]=v,P[42]=j,P[43]=o;else o=P[43];return o}function iP(G){return G.pending?Q(L,{children:["Press ",G.keyName," again to exit"]}):J(p,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"go back"})}var FP,v0;var uP=P0(()=>{q0();KP();w0();EP();a();FP=e(I0(),1),v0=e($0(),1)});function VJ(G){let P=HP.c(21),{server:Y,onSelectTool:z,onBack:Z}=G,f=J0(xP),H;P:{if(Y.client.type!=="connected"){let V;if(P[0]===Symbol.for("react.memo_cache_sentinel"))V=[],P[0]=V;else V=P[0];H=V;break P}let K;if(P[1]!==f||P[2]!==Y.name)K=fP(f,Y.name),P[1]=f,P[2]=Y.name,P[3]=K;else K=P[3];H=K}let W=H,k;if(P[4]!==Y.name||P[5]!==W){let K;if(P[7]!==Y.name)K=(V,D)=>{let R=y0(V.name,Y.name),g=V.userFacingName?V.userFacingName({}):R,c=B0(g),j=V.isReadOnly?.({})??!1,T=V.isDestructive?.({})??!1,A=V.isOpenWorld?.({})??!1,y=[];if(j)y.push("read-only");if(T)y.push("destructive");if(A)y.push("open-world");return{label:c,value:D.toString(),description:y.length>0?y.join(", "):void 0,descriptionColor:T?"error":j?"success":void 0}},P[7]=Y.name,P[8]=K;else K=P[8];k=W.map(K),P[4]=Y.name,P[5]=W,P[6]=k}else k=P[6];let B=k,N=`Tools for ${Y.name}`,$=W.length,U;if(P[9]!==W.length)U=zP(W.length,"tool"),P[9]=W.length,P[10]=U;else U=P[10];let S=`${$} ${U}`,M;if(P[11]!==Z||P[12]!==z||P[13]!==W||P[14]!==B)M=W.length===0?J(L,{dimColor:!0,children:"No tools available"}):J(L0,{options:B,onChange:(K)=>{let V=parseInt(K),D=W[V];if(D)z(D,V)},onCancel:Z}),P[11]=Z,P[12]=z,P[13]=W,P[14]=B,P[15]=M;else M=P[15];let b;if(P[16]!==Z||P[17]!==N||P[18]!==S||P[19]!==M)b=J(O0,{title:N,subtitle:S,onCancel:Z,inputGuide:vP,children:M}),P[16]=Z,P[17]=N,P[18]=S,P[19]=M,P[20]=b;else b=P[20];return b}function vP(G){return G.pending?Q(L,{children:["Press ",G.keyName," again to exit"]}):Q(r,{children:[J(h,{shortcut:"↑↓",action:"navigate"}),J(h,{shortcut:"Enter",action:"select"}),J(p,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"back"})]})}function xP(G){return G.mcp.tools}var HP;var aP=P0(()=>{q0();KP();u0();j0();p0();w0();i0();W0();EP();c0();a();HP=e(I0(),1)});
|
|
2
|
+
export{bG as Lf,$P as Mf,uG as Nf,jP as Of,tG as Pf,uP as Qf,VJ as Rf,aP as Sf};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{vja as f}from"./cli-1.1.3-wnmbr0xp.mjs";import{yka as h}from"./cli-1.1.3-v5ceeb5d.mjs";import{Esa as Z}from"./cli-1.1.3-atjv82jv.mjs";var $=()=>{};var F=Z(()=>{$()});var K;var G=Z(()=>{K=new Set(["if","then","elif","else","fi","while","until","for","in","do","done","case","esac","function","select"])});var M=Z(()=>{G();$();F();_();O()});var _=Z(()=>{G();$();F();M()});var O=Z(()=>{G();$();F();_();M()});var Sz;var w=Z(()=>{$();F();O();G();Sz=Promise.resolve()});async function kz(){}async function oz(z){if(!z||z.length>D)return null;return null}async function dz(z){if(!z||z.length>D)return null;return null}function nz(z){if(z.type==="declaration_command"){let J=z.children[0];return J&&x.has(J.text)?[J.text]:[]}let X=[],V=!1;for(let J of z.children){if(J.type==="variable_assignment")continue;if(J.type==="command_name"||!V&&J.type==="word"){V=!0,X.push(J.text);continue}if(v.has(J.type))X.push(l(J.text));else if(m.has(J.type))break}return X}function l(z){return z.length>=2&&(z[0]==='"'&&z.at(-1)==='"'||z[0]==="'"&&z.at(-1)==="'")?z.slice(1,-1):z}var D=1e4,x,v,m,pz;var L=Z(()=>{f();h();w();x=new Set(["export","declare","typeset","readonly","local","unset","unsetenv"]),v=new Set(["word","string","raw_string","number"]),m=new Set(["command_substitution","process_substitution"]);pz=Symbol("parse-aborted")});
|
|
2
|
+
export{K as i3,w as j3,kz as k3,oz as l3,pz as m3,dz as n3,nz as o3,L as p3};
|