@claudiolabs/claudin 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/AgentTool-1.0.8-eje3a59q.mjs +1 -0
- package/dist/chunks/App-1.0.8-d2xvppcs.mjs +1 -0
- package/dist/chunks/ApproveApiKey-1.0.8-46gxh8v1.mjs +1 -0
- package/dist/chunks/AssistantSessionChooser-1.0.8-14hqa3x1.mjs +1 -0
- package/dist/chunks/AutoModeOptInDialog-1.0.8-wbj2exgg.mjs +1 -0
- package/dist/chunks/BypassPermissionsModeDialog-1.0.8-qw286z98.mjs +1 -0
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.0.8-d7f3p2f2.mjs +1 -0
- package/dist/chunks/ConsoleOAuthFlow-1.0.8-pz9144b6.mjs +1 -0
- package/dist/chunks/DiffDialog-1.0.8-kekremjy.mjs +7 -0
- package/dist/chunks/Doctor-1.0.8-y6yd83ya.mjs +1 -0
- package/dist/chunks/ExplorerDialog-1.0.8-sde0qmj8.mjs +6 -0
- package/dist/chunks/Grove-1.0.8-vaqh13j1.mjs +1 -0
- package/dist/chunks/ITermBackend-1.0.8-pyx0hrdr.mjs +1 -0
- package/dist/chunks/InvalidConfigDialog-1.0.8-9xkjpkdq.mjs +1 -0
- package/dist/chunks/InvalidSettingsDialog-1.0.8-sg0zxdxs.mjs +1 -0
- package/dist/chunks/MigrationDialog-1.0.8-sa3w4fkf.mjs +1 -0
- package/dist/chunks/Onboarding-1.0.8-j2grnf78.mjs +1 -0
- package/dist/chunks/ProviderManager-1.0.8-rhr4npaj.mjs +1 -0
- package/dist/chunks/REPL-1.0.8-r0frprp1.mjs +1 -0
- package/dist/chunks/ResumeConversation-1.0.8-y8q8w4g5.mjs +1 -0
- package/dist/chunks/SnapshotUpdateDialog-1.0.8-6r0afvcw.mjs +1 -0
- package/dist/chunks/TeleportProgress-1.0.8-8k0msa15.mjs +1 -0
- package/dist/chunks/TeleportRepoMismatchDialog-1.0.8-3y1gzb63.mjs +1 -0
- package/dist/chunks/TeleportResumeWrapper-1.0.8-sr835vjm.mjs +1 -0
- package/dist/chunks/TmuxBackend-1.0.8-j4ewgs24.mjs +9 -0
- package/dist/chunks/ToolSearchTool-1.0.8-g3jtn9j5.mjs +1 -0
- package/dist/chunks/TrustDialog-1.0.8-6fmeeyg3.mjs +1 -0
- package/dist/chunks/activeProvider-1.0.8-07gr4v39.mjs +1 -0
- package/dist/chunks/add-dir-1.0.8-zp69mch9.mjs +1 -0
- package/dist/chunks/agentTypes-1.0.8-0tz8xbhq.mjs +1 -0
- package/dist/chunks/agents-1.0.8-7b7qbe1b.mjs +3 -0
- package/dist/chunks/agents-1.0.8-hcpq0qtv.mjs +110 -0
- package/dist/chunks/api-1.0.8-99jqr2rt.mjs +1 -0
- package/dist/chunks/asciicast-1.0.8-hdy3b2tb.mjs +1 -0
- package/dist/chunks/assistant-1.0.8-wf6vgaxz.mjs +1 -0
- package/dist/chunks/auth-1.0.8-by49xah8.mjs +1 -0
- package/dist/chunks/auth-1.0.8-jhga5hc5.mjs +1 -0
- package/dist/chunks/autoMode-1.0.8-9hknbsrn.mjs +48 -0
- package/dist/chunks/autoUpdater-1.0.8-n0axyces.mjs +1 -0
- package/dist/chunks/backgroundHousekeeping-1.0.8-tthnkm6t.mjs +1 -0
- package/dist/chunks/branch-1.0.8-v0vyzjd1.mjs +4 -0
- package/dist/chunks/bridge-1.0.8-9em7eyw2.mjs +2 -0
- package/dist/chunks/bridgeConfig-1.0.8-rc3gw5mw.mjs +1 -0
- package/dist/chunks/bridgeEnabled-1.0.8-mmzmxjzj.mjs +1 -0
- package/dist/chunks/bridgeMain-1.0.8-kys2mqca.mjs +88 -0
- package/dist/chunks/bridgePointer-1.0.8-ky397f5d.mjs +1 -0
- package/dist/chunks/btw-1.0.8-ppch37et.mjs +1 -0
- package/dist/chunks/buddy-1.0.8-3j0jmxqv.mjs +3 -0
- package/dist/chunks/cacache-1.0.8-npx6886e.mjs +1 -0
- package/dist/chunks/cache-probe-1.0.8-q0q9v06f.mjs +21 -0
- package/dist/chunks/cacheStats-1.0.8-8g3sbes5.mjs +4 -0
- package/dist/chunks/caches-1.0.8-c44ykbdq.mjs +1 -0
- package/dist/chunks/claudeDesktop-1.0.8-3718a4er.mjs +1 -0
- package/dist/chunks/claudemd-1.0.8-mrm97672.mjs +1 -0
- package/dist/chunks/clear-1.0.8-60s1dmkm.mjs +1 -0
- package/dist/chunks/clearTerminal-1.0.8-s7tt8cvq.mjs +1 -0
- package/dist/chunks/cli-1.0.8-0g25h6r5.mjs +3 -0
- package/dist/chunks/cli-1.0.8-0j3a18cb.mjs +2 -0
- package/dist/chunks/cli-1.0.8-0w29g9sk.mjs +4 -0
- package/dist/chunks/cli-1.0.8-1r6dnkqd.mjs +45 -0
- package/dist/chunks/cli-1.0.8-1ss6x3zt.mjs +2 -0
- package/dist/chunks/cli-1.0.8-1tmgp7jd.mjs +2 -0
- package/dist/chunks/cli-1.0.8-2tqdqypv.mjs +2 -0
- package/dist/chunks/cli-1.0.8-2tz4jekt.mjs +2 -0
- package/dist/chunks/cli-1.0.8-2vmb9a3w.mjs +2 -0
- package/dist/chunks/cli-1.0.8-2yyas23w.mjs +2 -0
- package/dist/chunks/cli-1.0.8-330tdbma.mjs +2 -0
- package/dist/chunks/cli-1.0.8-34678988.mjs +2 -0
- package/dist/chunks/cli-1.0.8-3cz8c904.mjs +2 -0
- package/dist/chunks/cli-1.0.8-3j90qb52.mjs +2 -0
- package/dist/chunks/cli-1.0.8-3tw1xf7y.mjs +2 -0
- package/dist/chunks/cli-1.0.8-3vh4nftm.mjs +7 -0
- package/dist/chunks/cli-1.0.8-3w4np76x.mjs +2 -0
- package/dist/chunks/cli-1.0.8-45e9fjb4.mjs +21 -0
- package/dist/chunks/cli-1.0.8-4a1exx1w.mjs +2 -0
- package/dist/chunks/cli-1.0.8-4vzmdadp.mjs +2 -0
- package/dist/chunks/cli-1.0.8-4wgaqcjn.mjs +42 -0
- package/dist/chunks/cli-1.0.8-53cy4zte.mjs +34 -0
- package/dist/chunks/cli-1.0.8-592dqckn.mjs +12 -0
- package/dist/chunks/cli-1.0.8-5awx1w8e.mjs +25 -0
- package/dist/chunks/cli-1.0.8-5dyqgt8m.mjs +15 -0
- package/dist/chunks/cli-1.0.8-5gn5a7p3.mjs +2 -0
- package/dist/chunks/cli-1.0.8-5mzwqxg2.mjs +5 -0
- package/dist/chunks/cli-1.0.8-5r4z4nzj.mjs +9 -0
- package/dist/chunks/cli-1.0.8-5wfqemy1.mjs +17 -0
- package/dist/chunks/cli-1.0.8-5wwge1jc.mjs +3 -0
- package/dist/chunks/cli-1.0.8-628ypgq9.mjs +4 -0
- package/dist/chunks/cli-1.0.8-63tfdt8q.mjs +2 -0
- package/dist/chunks/cli-1.0.8-693zfwne.mjs +2 -0
- package/dist/chunks/cli-1.0.8-6fz5dc6p.mjs +2 -0
- package/dist/chunks/cli-1.0.8-6hge9cq0.mjs +2 -0
- package/dist/chunks/cli-1.0.8-6q1p5cvf.mjs +2 -0
- package/dist/chunks/cli-1.0.8-74y9exyb.mjs +2 -0
- package/dist/chunks/cli-1.0.8-74zbkhyt.mjs +67 -0
- package/dist/chunks/cli-1.0.8-75t3aews.mjs +2 -0
- package/dist/chunks/cli-1.0.8-75ta9404.mjs +2 -0
- package/dist/chunks/cli-1.0.8-7b6c3csb.mjs +2 -0
- package/dist/chunks/cli-1.0.8-7khq3d03.mjs +2 -0
- package/dist/chunks/cli-1.0.8-7p8001bq.mjs +2 -0
- package/dist/chunks/cli-1.0.8-7tm0v9g4.mjs +2 -0
- package/dist/chunks/cli-1.0.8-845srnq2.mjs +2 -0
- package/dist/chunks/cli-1.0.8-8aa4g8k7.mjs +9 -0
- package/dist/chunks/cli-1.0.8-8bymhd85.mjs +2 -0
- package/dist/chunks/cli-1.0.8-8d0pym8n.mjs +4 -0
- package/dist/chunks/cli-1.0.8-8eace15k.mjs +2 -0
- package/dist/chunks/cli-1.0.8-8f8079r1.mjs +2 -0
- package/dist/chunks/cli-1.0.8-8g4cyspe.mjs +2 -0
- package/dist/chunks/cli-1.0.8-9az1bj5r.mjs +2 -0
- package/dist/chunks/cli-1.0.8-9cg23m77.mjs +2 -0
- package/dist/chunks/cli-1.0.8-9d98s5n7.mjs +2 -0
- package/dist/chunks/cli-1.0.8-9e91trv9.mjs +4 -0
- package/dist/chunks/cli-1.0.8-9kjmxaz9.mjs +2 -0
- package/dist/chunks/cli-1.0.8-9ten5rvg.mjs +3 -0
- package/dist/chunks/cli-1.0.8-9y02shjc.mjs +6 -0
- package/dist/chunks/cli-1.0.8-a227an7n.mjs +4 -0
- package/dist/chunks/cli-1.0.8-a5h5dhvb.mjs +2 -0
- package/dist/chunks/cli-1.0.8-a95nzf63.mjs +3 -0
- package/dist/chunks/cli-1.0.8-aac9erft.mjs +18 -0
- package/dist/chunks/cli-1.0.8-abdc5b5p.mjs +12 -0
- package/dist/chunks/cli-1.0.8-acrtv429.mjs +2 -0
- package/dist/chunks/cli-1.0.8-ah0px9dq.mjs +2 -0
- package/dist/chunks/cli-1.0.8-apm2cwth.mjs +2 -0
- package/dist/chunks/cli-1.0.8-b1a558ty.mjs +2 -0
- package/dist/chunks/cli-1.0.8-b3rgrfhx.mjs +2 -0
- package/dist/chunks/cli-1.0.8-bce7mfng.mjs +2 -0
- package/dist/chunks/cli-1.0.8-bf89pdxw.mjs +3 -0
- package/dist/chunks/cli-1.0.8-c1m2f995.mjs +2 -0
- package/dist/chunks/cli-1.0.8-ch5nmk6z.mjs +6 -0
- package/dist/chunks/cli-1.0.8-ckzwfn2p.mjs +2 -0
- package/dist/chunks/cli-1.0.8-cvanywgv.mjs +4 -0
- package/dist/chunks/cli-1.0.8-czw324tt.mjs +2 -0
- package/dist/chunks/cli-1.0.8-djnb6kg8.mjs +2 -0
- package/dist/chunks/cli-1.0.8-dnyn56hh.mjs +2 -0
- package/dist/chunks/cli-1.0.8-dtv7cx85.mjs +2 -0
- package/dist/chunks/cli-1.0.8-e1je8bbg.mjs +2 -0
- package/dist/chunks/cli-1.0.8-e1rqh3t5.mjs +6 -0
- package/dist/chunks/cli-1.0.8-e226v5zv.mjs +2 -0
- package/dist/chunks/cli-1.0.8-ebmqnhat.mjs +2 -0
- package/dist/chunks/cli-1.0.8-ecej8h97.mjs +2 -0
- package/dist/chunks/cli-1.0.8-eqnts1fr.mjs +8 -0
- package/dist/chunks/cli-1.0.8-erf5fgz4.mjs +133 -0
- package/dist/chunks/cli-1.0.8-erzw5831.mjs +133 -0
- package/dist/chunks/cli-1.0.8-evcjjrhq.mjs +2 -0
- package/dist/chunks/cli-1.0.8-ewrnp0r9.mjs +2 -0
- package/dist/chunks/cli-1.0.8-ezvghx0v.mjs +2 -0
- package/dist/chunks/cli-1.0.8-f149d1z0.mjs +2 -0
- package/dist/chunks/cli-1.0.8-f46gq37z.mjs +2 -0
- package/dist/chunks/cli-1.0.8-fch83jc9.mjs +2 -0
- package/dist/chunks/cli-1.0.8-fmf0f85n.mjs +2 -0
- package/dist/chunks/cli-1.0.8-fnnr43c2.mjs +2 -0
- package/dist/chunks/cli-1.0.8-fnwydrx1.mjs +3 -0
- package/dist/chunks/cli-1.0.8-frbc2pan.mjs +2 -0
- package/dist/chunks/cli-1.0.8-fs06q8cs.mjs +2 -0
- package/dist/chunks/cli-1.0.8-g2934g2e.mjs +2 -0
- package/dist/chunks/cli-1.0.8-g8tpbbvt.mjs +3 -0
- package/dist/chunks/cli-1.0.8-g9h4ay1q.mjs +2 -0
- package/dist/chunks/cli-1.0.8-gmf61bcb.mjs +2 -0
- package/dist/chunks/cli-1.0.8-gsr9wqaw.mjs +39 -0
- package/dist/chunks/cli-1.0.8-gv80trp6.mjs +2 -0
- package/dist/chunks/cli-1.0.8-h44d6jh3.mjs +2 -0
- package/dist/chunks/cli-1.0.8-hbgss955.mjs +2 -0
- package/dist/chunks/cli-1.0.8-hgreyqck.mjs +2 -0
- package/dist/chunks/cli-1.0.8-hkkcv1tv.mjs +2 -0
- package/dist/chunks/cli-1.0.8-htq95mje.mjs +2 -0
- package/dist/chunks/cli-1.0.8-hy7rca6f.mjs +3 -0
- package/dist/chunks/cli-1.0.8-jy0q2dkm.mjs +2 -0
- package/dist/chunks/cli-1.0.8-jy7hzejg.mjs +2 -0
- package/dist/chunks/cli-1.0.8-k7vkjf05.mjs +2 -0
- package/dist/chunks/cli-1.0.8-k90vtehz.mjs +2 -0
- package/dist/chunks/cli-1.0.8-ke76gxzw.mjs +199 -0
- package/dist/chunks/cli-1.0.8-kfv9esqs.mjs +3 -0
- package/dist/chunks/cli-1.0.8-kh51d8mn.mjs +2 -0
- package/dist/chunks/cli-1.0.8-kzrdbzd1.mjs +2 -0
- package/dist/chunks/cli-1.0.8-kzyrncv0.mjs +2 -0
- package/dist/chunks/cli-1.0.8-m2w20tkx.mjs +2 -0
- package/dist/chunks/cli-1.0.8-m6fhqq8r.mjs +2 -0
- package/dist/chunks/cli-1.0.8-m9cg4s2e.mjs +2 -0
- package/dist/chunks/cli-1.0.8-mbhxente.mjs +2 -0
- package/dist/chunks/cli-1.0.8-mhhby5pn.mjs +6 -0
- package/dist/chunks/cli-1.0.8-mn87n778.mjs +2 -0
- package/dist/chunks/cli-1.0.8-mrepsey6.mjs +12 -0
- package/dist/chunks/cli-1.0.8-n2thtekm.mjs +2 -0
- package/dist/chunks/cli-1.0.8-n4rd5y17.mjs +2 -0
- package/dist/chunks/cli-1.0.8-nmrvp3xa.mjs +2 -0
- package/dist/chunks/cli-1.0.8-nyq2vcvp.mjs +18 -0
- package/dist/chunks/cli-1.0.8-p4egaq4j.mjs +5 -0
- package/dist/chunks/cli-1.0.8-p8h84zc9.mjs +3 -0
- package/dist/chunks/cli-1.0.8-pbxke3zm.mjs +24 -0
- package/dist/chunks/cli-1.0.8-pemd6sje.mjs +2 -0
- package/dist/chunks/cli-1.0.8-pzesgrb2.mjs +2 -0
- package/dist/chunks/cli-1.0.8-q2myd223.mjs +2 -0
- package/dist/chunks/cli-1.0.8-q6x8n8kc.mjs +2 -0
- package/dist/chunks/cli-1.0.8-qbrw3wf3.mjs +3 -0
- package/dist/chunks/cli-1.0.8-qcf0zmve.mjs +50 -0
- package/dist/chunks/cli-1.0.8-qhcghw02.mjs +2 -0
- package/dist/chunks/cli-1.0.8-qjcxwb3c.mjs +2 -0
- package/dist/chunks/cli-1.0.8-qss5sph3.mjs +59 -0
- package/dist/chunks/cli-1.0.8-qzqze1a1.mjs +2 -0
- package/dist/chunks/cli-1.0.8-r3ecr05v.mjs +2 -0
- package/dist/chunks/cli-1.0.8-r4zbpasa.mjs +24 -0
- package/dist/chunks/cli-1.0.8-rdd0jr2h.mjs +2 -0
- package/dist/chunks/cli-1.0.8-rg1csg40.mjs +2 -0
- package/dist/chunks/cli-1.0.8-rh93fw0p.mjs +2 -0
- package/dist/chunks/cli-1.0.8-rna8rhza.mjs +2 -0
- package/dist/chunks/cli-1.0.8-rnkrr7ma.mjs +2 -0
- package/dist/chunks/cli-1.0.8-rxf0zjys.mjs +2 -0
- package/dist/chunks/cli-1.0.8-rxfx9v7j.mjs +2 -0
- package/dist/chunks/cli-1.0.8-s5kcxz2r.mjs +4 -0
- package/dist/chunks/cli-1.0.8-s6nsgb78.mjs +2 -0
- package/dist/chunks/cli-1.0.8-sbf6n56q.mjs +2 -0
- package/dist/chunks/cli-1.0.8-se674t5h.mjs +4 -0
- package/dist/chunks/cli-1.0.8-secda9xj.mjs +2 -0
- package/dist/chunks/cli-1.0.8-sqbaxhfc.mjs +16 -0
- package/dist/chunks/cli-1.0.8-swq5n54q.mjs +2 -0
- package/dist/chunks/cli-1.0.8-swts6q29.mjs +2 -0
- package/dist/chunks/cli-1.0.8-szvwf6r4.mjs +2 -0
- package/dist/chunks/cli-1.0.8-tdhxr84n.mjs +3 -0
- package/dist/chunks/cli-1.0.8-tfjhtagk.mjs +2 -0
- package/dist/chunks/cli-1.0.8-tpazbzcz.mjs +2 -0
- package/dist/chunks/cli-1.0.8-tq72b6bb.mjs +2 -0
- package/dist/chunks/cli-1.0.8-tqf6s7ht.mjs +58 -0
- package/dist/chunks/cli-1.0.8-tz68cg1p.mjs +2 -0
- package/dist/chunks/cli-1.0.8-v1rafynv.mjs +2 -0
- package/dist/chunks/cli-1.0.8-v75s19rg.mjs +2 -0
- package/dist/chunks/cli-1.0.8-vb0by9ay.mjs +2 -0
- package/dist/chunks/cli-1.0.8-vhjjjs1z.mjs +24 -0
- package/dist/chunks/cli-1.0.8-vka62cmh.mjs +2 -0
- package/dist/chunks/cli-1.0.8-vvy0bc0g.mjs +1 -0
- package/dist/chunks/cli-1.0.8-vztgm8r0.mjs +2 -0
- package/dist/chunks/cli-1.0.8-w5wjckph.mjs +25 -0
- package/dist/chunks/cli-1.0.8-w6atgaqw.mjs +2 -0
- package/dist/chunks/cli-1.0.8-x1387pp6.mjs +2 -0
- package/dist/chunks/cli-1.0.8-x2z1s2gm.mjs +2 -0
- package/dist/chunks/cli-1.0.8-x3bjpevp.mjs +12 -0
- package/dist/chunks/cli-1.0.8-x4hcncpt.mjs +2 -0
- package/dist/chunks/cli-1.0.8-xcqdbka0.mjs +2 -0
- package/dist/chunks/cli-1.0.8-xhz9dm09.mjs +2 -0
- package/dist/chunks/cli-1.0.8-xka5xbz5.mjs +2 -0
- package/dist/chunks/cli-1.0.8-xv5yp3w6.mjs +2 -0
- package/dist/chunks/cli-1.0.8-xxrng2p1.mjs +15 -0
- package/dist/chunks/cli-1.0.8-xzp5af2t.mjs +2 -0
- package/dist/chunks/cli-1.0.8-y7jd923h.mjs +2 -0
- package/dist/chunks/cli-1.0.8-yb3vesbt.mjs +4 -0
- package/dist/chunks/cli-1.0.8-yc4a0111.mjs +20 -0
- package/dist/chunks/cli-1.0.8-ycxmnmhs.mjs +3 -0
- package/dist/chunks/cli-1.0.8-ykwgcdbt.mjs +5476 -0
- package/dist/chunks/cli-1.0.8-yzc0z6ex.mjs +2 -0
- package/dist/chunks/cli-1.0.8-z49w3x0w.mjs +4 -0
- package/dist/chunks/cli-1.0.8-z6x3zsb0.mjs +2 -0
- package/dist/chunks/cli-1.0.8-z79r5re2.mjs +17 -0
- package/dist/chunks/cli-1.0.8-z7v2b551.mjs +2 -0
- package/dist/chunks/cli-1.0.8-z96bbp08.mjs +6 -0
- package/dist/chunks/cli-1.0.8-zh2ygfav.mjs +2 -0
- package/dist/chunks/cli-1.0.8-zjckzq5j.mjs +18 -0
- package/dist/chunks/cli-1.0.8-znefv1yp.mjs +2 -0
- package/dist/chunks/cli-1.0.8-zza8ns8c.mjs +15 -0
- package/dist/chunks/client-1.0.8-n7dt1rfw.mjs +1 -0
- package/dist/chunks/color-1.0.8-jxfasz8x.mjs +1 -0
- package/dist/chunks/compact-1.0.8-jnbzy2qh.mjs +3 -0
- package/dist/chunks/config-1.0.8-p850nj3c.mjs +1 -0
- package/dist/chunks/config-1.0.8-xg117aq2.mjs +1 -0
- package/dist/chunks/constants-1.0.8-ms4fbs66.mjs +1 -0
- package/dist/chunks/context-1.0.8-tb27h7kb.mjs +1 -0
- package/dist/chunks/context-noninteractive-1.0.8-1ry2t8be.mjs +1 -0
- package/dist/chunks/conversation-1.0.8-v96pn05v.mjs +1 -0
- package/dist/chunks/copilotHeaders-1.0.8-cs9jt8ks.mjs +1 -0
- package/dist/chunks/copy-1.0.8-g8d8msxn.mjs +9 -0
- package/dist/chunks/cost-1.0.8-kx2ejbds.mjs +1 -0
- package/dist/chunks/createSSHSession-1.0.8-2wvpn7y4.mjs +1 -0
- package/dist/chunks/createSession-1.0.8-ecm6dynn.mjs +1 -0
- package/dist/chunks/debug-1.0.8-cphv9b4j.mjs +1 -0
- package/dist/chunks/defaultActionDeps-1.0.8-2k34bnzt.mjs +1446 -0
- package/dist/chunks/desktop-1.0.8-w6qk81xg.mjs +1 -0
- package/dist/chunks/detectRepository-1.0.8-q2e17deh.mjs +1 -0
- package/dist/chunks/detection-1.0.8-adg3pmtx.mjs +1 -0
- package/dist/chunks/diff-1.0.8-kcsv429q.mjs +1 -0
- package/dist/chunks/doctor-1.0.8-4807n5ga.mjs +1 -0
- package/dist/chunks/doctorDiagnostic-1.0.8-thmvp0a8.mjs +1 -0
- package/dist/chunks/earlyInput-1.0.8-hhf06cvs.mjs +1 -0
- package/dist/chunks/effort-1.0.8-k9jy349z.mjs +10 -0
- package/dist/chunks/engine-1.0.8-swnh66g9.mjs +1 -0
- package/dist/chunks/envLessBridgeConfig-1.0.8-8066f8x3.mjs +1 -0
- package/dist/chunks/envUtils-1.0.8-hvdz25s8.mjs +1 -0
- package/dist/chunks/environmentSelection-1.0.8-dgef2ag8.mjs +1 -0
- package/dist/chunks/environments-1.0.8-8kxx7cf7.mjs +1 -0
- package/dist/chunks/errors-1.0.8-yrb0dfde.mjs +1 -0
- package/dist/chunks/exampleCommands-1.0.8-2fp656s9.mjs +1 -0
- package/dist/chunks/exit-1.0.8-axxrxks1.mjs +1 -0
- package/dist/chunks/explorer-1.0.8-txzsk7g4.mjs +1 -0
- package/dist/chunks/export-1.0.8-yxhs2z6f.mjs +2 -0
- package/dist/chunks/extra-usage-1.0.8-mkde8ry2.mjs +1 -0
- package/dist/chunks/extra-usage-noninteractive-1.0.8-zq1zsj4c.mjs +1 -0
- package/dist/chunks/fast-1.0.8-dm74897t.mjs +1 -0
- package/dist/chunks/feedback-1.0.8-wnsh14ya.mjs +14 -0
- package/dist/chunks/firstPartyEventLogger-1.0.8-xp13dv5e.mjs +1 -0
- package/dist/chunks/git-1.0.8-emhr4f0a.mjs +1 -0
- package/dist/chunks/githubModelsCredentials-1.0.8-q88vb6k1.mjs +1 -0
- package/dist/chunks/goal-1.0.8-vx7pfbph.mjs +4 -0
- package/dist/chunks/grove-1.0.8-4vn920ab.mjs +1 -0
- package/dist/chunks/growthbook-1.0.8-ktn0scz1.mjs +1 -0
- package/dist/chunks/headless-1.0.8-kgkf00rm.mjs +2 -0
- package/dist/chunks/heapdump-1.0.8-e5g8ycqp.mjs +6 -0
- package/dist/chunks/help-1.0.8-g5kftejd.mjs +1 -0
- package/dist/chunks/hookChains-1.0.8-jnd1g9vp.mjs +3 -0
- package/dist/chunks/hooks-1.0.8-d343gmd5.mjs +1 -0
- package/dist/chunks/hooks-1.0.8-xq482xcs.mjs +79 -0
- package/dist/chunks/ide-1.0.8-4veg8hzd.mjs +3 -0
- package/dist/chunks/image-processor-napi-1.0.8-93bk96t4.mjs +1 -0
- package/dist/chunks/inboundAttachments-1.0.8-zkj9tf58.mjs +1 -0
- package/dist/chunks/index-1.0.8-0pnvq37m.mjs +2 -0
- package/dist/chunks/index-1.0.8-1pa1v81a.mjs +1 -0
- package/dist/chunks/index-1.0.8-464f1j1b.mjs +1 -0
- package/dist/chunks/index-1.0.8-4zsx151v.mjs +1 -0
- package/dist/chunks/index-1.0.8-7wqrymcz.mjs +2 -0
- package/dist/chunks/index-1.0.8-8qzz6s1v.mjs +1 -0
- package/dist/chunks/index-1.0.8-91cpv5tb.mjs +9 -0
- package/dist/chunks/index-1.0.8-9x499a6f.mjs +1 -0
- package/dist/chunks/index-1.0.8-aqm7z1xs.mjs +1 -0
- package/dist/chunks/index-1.0.8-bha1edzd.mjs +1 -0
- package/dist/chunks/index-1.0.8-bhzqmht2.mjs +1 -0
- package/dist/chunks/index-1.0.8-dh80510b.mjs +1 -0
- package/dist/chunks/index-1.0.8-hdnvwr7c.mjs +1 -0
- package/dist/chunks/index-1.0.8-ht187zbt.mjs +17 -0
- package/dist/chunks/index-1.0.8-jj36eqgv.mjs +1 -0
- package/dist/chunks/index-1.0.8-p16qr0gk.mjs +1 -0
- package/dist/chunks/index-1.0.8-pejsn3j4.mjs +1 -0
- package/dist/chunks/index-1.0.8-pzn6kwcz.mjs +1 -0
- package/dist/chunks/index-1.0.8-szryar06.mjs +9 -0
- package/dist/chunks/index-1.0.8-thkaetpe.mjs +5 -0
- package/dist/chunks/index-1.0.8-tnpscb0d.mjs +1 -0
- package/dist/chunks/index-1.0.8-xxdv7dxk.mjs +1 -0
- package/dist/chunks/index-1.0.8-z5xdfxxw.mjs +30 -0
- package/dist/chunks/init-1.0.8-krd7wa3v.mjs +1 -0
- package/dist/chunks/initReplBridge-1.0.8-ftx1k41m.mjs +1 -0
- package/dist/chunks/ink-1.0.8-pteq28sp.mjs +1 -0
- package/dist/chunks/insights-1.0.8-mb2z8g5h.mjs +870 -0
- package/dist/chunks/install-1.0.8-s99z78an.mjs +1 -0
- package/dist/chunks/install-github-app-1.0.8-r07c7fc8.mjs +149 -0
- package/dist/chunks/install-slack-app-1.0.8-mq0zjdf6.mjs +1 -0
- package/dist/chunks/instrumentation-1.0.8-00jpcry8.mjs +1 -0
- package/dist/chunks/interactiveHelpers-1.0.8-3z1ey7fr.mjs +1 -0
- package/dist/chunks/keybindings-1.0.8-wenkty39.mjs +2 -0
- package/dist/chunks/knowledge-1.0.8-cjdkk8mb.mjs +2 -0
- package/dist/chunks/latestVersionCache-1.0.8-rncrmhd0.mjs +1 -0
- package/dist/chunks/loadAgentsDir-1.0.8-9ry9xbfw.mjs +1 -0
- package/dist/chunks/loadPluginHooks-1.0.8-5e422tv0.mjs +1 -0
- package/dist/chunks/loadPluginHooks-1.0.8-gw0mb3vq.mjs +1 -0
- package/dist/chunks/log-1.0.8-bhyqzqd4.mjs +1 -0
- package/dist/chunks/main-1.0.8-sv9em0tk.mjs +1 -0
- package/dist/chunks/managedEnv-1.0.8-ey5201g9.mjs +1 -0
- package/dist/chunks/mcp-1.0.8-0wkq1z2f.mjs +1 -0
- package/dist/chunks/mcp-1.0.8-hft3ww8h.mjs +17 -0
- package/dist/chunks/mcp-1.0.8-k2y8akh4.mjs +4 -0
- package/dist/chunks/mcpb-1.0.8-6d4d5qg6.mjs +1 -0
- package/dist/chunks/memory-1.0.8-bhfq1tpv.mjs +3 -0
- package/dist/chunks/model-1.0.8-9x1n1hs4.mjs +2 -0
- package/dist/chunks/model-1.0.8-f30q5v3y.mjs +1 -0
- package/dist/chunks/node-1.0.8-z64w4mf3.mjs +12 -0
- package/dist/chunks/oauth-1.0.8-7vjm8xxp.mjs +1 -0
- package/dist/chunks/openaiShim-1.0.8-dxqbym7v.mjs +14 -0
- package/dist/chunks/output-style-1.0.8-j3vsn3xx.mjs +1 -0
- package/dist/chunks/package-ZZWOLTXM-1.0.8-57wby5pw.mjs +1 -0
- package/dist/chunks/parseConnectUrl-1.0.8-fa21hp3j.mjs +1 -0
- package/dist/chunks/parser-1.0.8-eddksp6m.mjs +1 -0
- package/dist/chunks/passes-1.0.8-82cxmwxv.mjs +1 -0
- package/dist/chunks/permissions-1.0.8-9qwtkcvw.mjs +1 -0
- package/dist/chunks/permissions-1.0.8-hkpezdb6.mjs +3 -0
- package/dist/chunks/plan-1.0.8-t7cypg7z.mjs +1 -0
- package/dist/chunks/plist-1.0.8-tx4wgdc5.mjs +1 -0
- package/dist/chunks/plugin-1.0.8-fpfj5qcx.mjs +29 -0
- package/dist/chunks/pluginStartupCheck-1.0.8-htw7er4z.mjs +1 -0
- package/dist/chunks/plugins-1.0.8-89t24bsm.mjs +9 -0
- package/dist/chunks/preActionHook-1.0.8-caxsc3mp.mjs +2 -0
- package/dist/chunks/print-1.0.8-491vxbzs.mjs +57 -0
- package/dist/chunks/privacy-settings-1.0.8-m25zra7r.mjs +1 -0
- package/dist/chunks/process-1.0.8-3tzpsdmr.mjs +1 -0
- package/dist/chunks/processBashCommand-1.0.8-czb8ax1e.mjs +1 -0
- package/dist/chunks/processSlashCommand-1.0.8-z2qz58yf.mjs +9 -0
- package/dist/chunks/prompt-1.0.8-2bbvxeh7.mjs +1 -0
- package/dist/chunks/prompt-1.0.8-ftnsddxg.mjs +1 -0
- package/dist/chunks/prompts-1.0.8-7jmnssxc.mjs +1 -0
- package/dist/chunks/protocolHandler-1.0.8-y3rebjd9.mjs +13 -0
- package/dist/chunks/provider-1.0.8-zrx7vyqk.mjs +2 -0
- package/dist/chunks/providerProfiles-1.0.8-n4b3xs5v.mjs +1 -0
- package/dist/chunks/providerValidation-1.0.8-j9gx7a1v.mjs +6 -0
- package/dist/chunks/rate-limit-options-1.0.8-084n6z58.mjs +1 -0
- package/dist/chunks/registerSubcommands-1.0.8-e9k91bmz.mjs +34 -0
- package/dist/chunks/registry-1.0.8-p8bc2ppg.mjs +1 -0
- package/dist/chunks/release-notes-1.0.8-wdtevpan.mjs +5 -0
- package/dist/chunks/reload-plugins-1.0.8-crrx8jkj.mjs +2 -0
- package/dist/chunks/remote-env-1.0.8-yb4czxha.mjs +1 -0
- package/dist/chunks/remoteBridgeCore-1.0.8-cg38st7c.mjs +1 -0
- package/dist/chunks/remoteSession-1.0.8-g9cx4dmb.mjs +1 -0
- package/dist/chunks/rename-1.0.8-c263drxy.mjs +1 -0
- package/dist/chunks/replBridgeHandle-1.0.8-51065xd1.mjs +1 -0
- package/dist/chunks/replLauncher-1.0.8-n5f7d6tk.mjs +1 -0
- package/dist/chunks/resume-1.0.8-20r9g9a8.mjs +2 -0
- package/dist/chunks/rewind-1.0.8-1shxcx6h.mjs +1 -0
- package/dist/chunks/rootOptions-1.0.8-v3mryhnd.mjs +1 -0
- package/dist/chunks/sandbox-adapter-1.0.8-db8n3sf2.mjs +1 -0
- package/dist/chunks/sandbox-toggle-1.0.8-8ysakwfc.mjs +1 -0
- package/dist/chunks/session-1.0.8-nf98ege7.mjs +2 -0
- package/dist/chunks/sessionDiscovery-1.0.8-j7e3zz3z.mjs +1 -0
- package/dist/chunks/sessionFileAccessHooks-1.0.8-tywx0fhs.mjs +1 -0
- package/dist/chunks/sessionStorage-1.0.8-3jncs1jd.mjs +1 -0
- package/dist/chunks/settings-1.0.8-ferv6mr5.mjs +1 -0
- package/dist/chunks/setup-1.0.8-r7jm4921.mjs +5 -0
- package/dist/chunks/sinks-1.0.8-w2zqhs5t.mjs +1 -0
- package/dist/chunks/skills-1.0.8-c2re0407.mjs +1 -0
- package/dist/chunks/startupProfiler-1.0.8-m7x42s2c.mjs +1 -0
- package/dist/chunks/startupUpdateCheck-1.0.8-hnq9gbsm.mjs +1 -0
- package/dist/chunks/state-1.0.8-mszmr9fy.mjs +1 -0
- package/dist/chunks/stats-1.0.8-xah6pcq3.mjs +6 -0
- package/dist/chunks/status-1.0.8-cb5dxyy1.mjs +1 -0
- package/dist/chunks/stickers-1.0.8-vr13mnk0.mjs +1 -0
- package/dist/chunks/subprocessEnv-1.0.8-rqxgszbc.mjs +1 -0
- package/dist/chunks/tasks-1.0.8-v1meznm5.mjs +1 -0
- package/dist/chunks/teamHelpers-1.0.8-zs8qgyey.mjs +1 -0
- package/dist/chunks/teammateModeSnapshot-1.0.8-828qsec1.mjs +1 -0
- package/dist/chunks/teleport-1.0.8-aszfnv2s.mjs +1 -0
- package/dist/chunks/terminalSetup-1.0.8-9n57sf46.mjs +1 -0
- package/dist/chunks/theme-1.0.8-da67zfgn.mjs +1 -0
- package/dist/chunks/thinkback-1.0.8-p4ne9wck.mjs +1 -0
- package/dist/chunks/thinkback-play-1.0.8-kz09z4aa.mjs +1 -0
- package/dist/chunks/toolPool-1.0.8-rbawjenc.mjs +1 -0
- package/dist/chunks/toolSearch-1.0.8-drw7db57.mjs +1 -0
- package/dist/chunks/tools-1.0.8-51cw7jhr.mjs +1 -0
- package/dist/chunks/trustedDevice-1.0.8-y6484dbh.mjs +1 -0
- package/dist/chunks/turndown.cjs-1.0.8-07rx7x03.mjs +69 -0
- package/dist/chunks/types-1.0.8-svkpkerr.mjs +1 -0
- package/dist/chunks/ultrareviewCommand-1.0.8-fxpy87j7.mjs +4 -0
- package/dist/chunks/update-1.0.8-r5hsx0vn.mjs +88 -0
- package/dist/chunks/upgrade-1.0.8-rfjr944q.mjs +1 -0
- package/dist/chunks/upload-1.0.8-xb3qq931.mjs +7 -0
- package/dist/chunks/upstreamproxy-1.0.8-enmg2k32.mjs +14 -0
- package/dist/chunks/url-handler-napi-1.0.8-4xafghrm.mjs +1 -0
- package/dist/chunks/usage-1.0.8-x3yk026j.mjs +1 -0
- package/dist/chunks/util-1.0.8-g8szktmn.mjs +1 -0
- package/dist/chunks/utils-1.0.8-qkwh1by0.mjs +1 -0
- package/dist/chunks/vim-1.0.8-qv0fhjmv.mjs +1 -0
- package/dist/chunks/watcher-1.0.8-y0ye7hc6.mjs +1 -0
- package/dist/chunks/wiki-1.0.8-3ydvpt0c.mjs +132 -0
- package/dist/chunks/workflows-1.0.8-1fj4wp4z.mjs +1 -0
- package/dist/chunks/worktree-1.0.8-x68tgvcc.mjs +1 -0
- package/dist/chunks/worktreeModeEnabled-1.0.8-3e98qmek.mjs +1 -0
- package/dist/chunks/wrapper-1.0.8-atewpqqc.mjs +7 -0
- package/dist/cli.mjs +2 -2
- package/install.cjs +17 -1
- package/package.json +9 -9
- package/dist/chunks/AgentTool-1.0.7-syk5wnkb.mjs +0 -1
- package/dist/chunks/App-1.0.7-9xht4gsa.mjs +0 -1
- package/dist/chunks/ApproveApiKey-1.0.7-dnv7dmn7.mjs +0 -1
- package/dist/chunks/AssistantSessionChooser-1.0.7-q24ws7x8.mjs +0 -1
- package/dist/chunks/AutoModeOptInDialog-1.0.7-e3kma94j.mjs +0 -1
- package/dist/chunks/BypassPermissionsModeDialog-1.0.7-2m1y9b7f.mjs +0 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.0.7-1gpcb873.mjs +0 -1
- package/dist/chunks/ConsoleOAuthFlow-1.0.7-pyrnmhtt.mjs +0 -1
- package/dist/chunks/DiffDialog-1.0.7-whkynyby.mjs +0 -7
- package/dist/chunks/Doctor-1.0.7-3yedapcw.mjs +0 -1
- package/dist/chunks/ExplorerDialog-1.0.7-99ytgtp8.mjs +0 -6
- package/dist/chunks/Grove-1.0.7-c6wygjxb.mjs +0 -1
- package/dist/chunks/ITermBackend-1.0.7-a8a42yx1.mjs +0 -1
- package/dist/chunks/InvalidConfigDialog-1.0.7-0e1f33ss.mjs +0 -1
- package/dist/chunks/InvalidSettingsDialog-1.0.7-141f7djg.mjs +0 -1
- package/dist/chunks/MigrationDialog-1.0.7-scbcqde5.mjs +0 -1
- package/dist/chunks/Onboarding-1.0.7-9f7rpy9p.mjs +0 -1
- package/dist/chunks/ProviderManager-1.0.7-6mjnccee.mjs +0 -1
- package/dist/chunks/REPL-1.0.7-3xhews8d.mjs +0 -1
- package/dist/chunks/ResumeConversation-1.0.7-qq2sfpfr.mjs +0 -1
- package/dist/chunks/SnapshotUpdateDialog-1.0.7-x9djv2x5.mjs +0 -1
- package/dist/chunks/TeleportProgress-1.0.7-f6caprdb.mjs +0 -1
- package/dist/chunks/TeleportRepoMismatchDialog-1.0.7-b511561j.mjs +0 -1
- package/dist/chunks/TeleportResumeWrapper-1.0.7-9twx384a.mjs +0 -1
- package/dist/chunks/TmuxBackend-1.0.7-x3j2hxpn.mjs +0 -9
- package/dist/chunks/ToolSearchTool-1.0.7-1y7h6yxr.mjs +0 -1
- package/dist/chunks/TrustDialog-1.0.7-na359dm9.mjs +0 -1
- package/dist/chunks/activeProvider-1.0.7-2vx6krky.mjs +0 -1
- package/dist/chunks/add-dir-1.0.7-r9eb0fmb.mjs +0 -1
- package/dist/chunks/agentTypes-1.0.7-v46w2p6e.mjs +0 -1
- package/dist/chunks/agents-1.0.7-ekjscjc4.mjs +0 -3
- package/dist/chunks/agents-1.0.7-v22jz68n.mjs +0 -110
- package/dist/chunks/api-1.0.7-v520kz7p.mjs +0 -1
- package/dist/chunks/asciicast-1.0.7-r61pgxmk.mjs +0 -1
- package/dist/chunks/assistant-1.0.7-c12zzeyg.mjs +0 -1
- package/dist/chunks/auth-1.0.7-gv0th62c.mjs +0 -1
- package/dist/chunks/auth-1.0.7-y9sxvs6e.mjs +0 -1
- package/dist/chunks/autoMode-1.0.7-yq0m3sf6.mjs +0 -48
- package/dist/chunks/autoUpdater-1.0.7-6fqzjxwg.mjs +0 -1
- package/dist/chunks/backgroundHousekeeping-1.0.7-7mzhb52b.mjs +0 -1
- package/dist/chunks/branch-1.0.7-66ms82bv.mjs +0 -4
- package/dist/chunks/bridge-1.0.7-cd3w20b9.mjs +0 -2
- package/dist/chunks/bridgeConfig-1.0.7-wztmwmxc.mjs +0 -1
- package/dist/chunks/bridgeEnabled-1.0.7-046e65f0.mjs +0 -1
- package/dist/chunks/bridgeMain-1.0.7-knt8h92j.mjs +0 -88
- package/dist/chunks/bridgePointer-1.0.7-v2crbecf.mjs +0 -1
- package/dist/chunks/btw-1.0.7-eg973xg5.mjs +0 -1
- package/dist/chunks/buddy-1.0.7-ypvr18ck.mjs +0 -3
- package/dist/chunks/cacache-1.0.7-0tzh2dcw.mjs +0 -1
- package/dist/chunks/cache-probe-1.0.7-hhfr94gj.mjs +0 -21
- package/dist/chunks/cacheStats-1.0.7-51t2bh05.mjs +0 -4
- package/dist/chunks/caches-1.0.7-mvqghhkx.mjs +0 -1
- package/dist/chunks/claudeDesktop-1.0.7-1mrhcxq6.mjs +0 -1
- package/dist/chunks/claudemd-1.0.7-kgynnx5a.mjs +0 -1
- package/dist/chunks/clear-1.0.7-08jf28zt.mjs +0 -1
- package/dist/chunks/clearTerminal-1.0.7-z4gkskcj.mjs +0 -1
- package/dist/chunks/cli-1.0.7-01cbaw74.mjs +0 -2
- package/dist/chunks/cli-1.0.7-05enwpnp.mjs +0 -2
- package/dist/chunks/cli-1.0.7-073ekpkk.mjs +0 -21
- package/dist/chunks/cli-1.0.7-0dmnsy4c.mjs +0 -2
- package/dist/chunks/cli-1.0.7-0qbp0ac0.mjs +0 -17
- package/dist/chunks/cli-1.0.7-15qvkn0q.mjs +0 -15
- package/dist/chunks/cli-1.0.7-16wdg8r0.mjs +0 -18
- package/dist/chunks/cli-1.0.7-1fwxyw8s.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1j68v2d8.mjs +0 -3
- package/dist/chunks/cli-1.0.7-1mkaw3aw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1r1y3a1c.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1rw3xdy0.mjs +0 -58
- package/dist/chunks/cli-1.0.7-1s12ckef.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1sgef4sw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1ty38mre.mjs +0 -2
- package/dist/chunks/cli-1.0.7-1xe7m9s1.mjs +0 -4
- package/dist/chunks/cli-1.0.7-1y8xdp9n.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2438cvr1.mjs +0 -3
- package/dist/chunks/cli-1.0.7-2cajdt14.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2csh6jt3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2k1bt916.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2pyjzmpq.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2wm3s497.mjs +0 -2
- package/dist/chunks/cli-1.0.7-2xw882yk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-39nnxy0p.mjs +0 -2
- package/dist/chunks/cli-1.0.7-3arv8y4s.mjs +0 -12
- package/dist/chunks/cli-1.0.7-3fx5xqzq.mjs +0 -2
- package/dist/chunks/cli-1.0.7-3ke0fbeq.mjs +0 -6
- package/dist/chunks/cli-1.0.7-3kmf6s21.mjs +0 -67
- package/dist/chunks/cli-1.0.7-3p608q44.mjs +0 -2
- package/dist/chunks/cli-1.0.7-3pqhf5bj.mjs +0 -4
- package/dist/chunks/cli-1.0.7-3s41c41h.mjs +0 -20
- package/dist/chunks/cli-1.0.7-3s4ccas2.mjs +0 -2
- package/dist/chunks/cli-1.0.7-3xrc45nn.mjs +0 -2
- package/dist/chunks/cli-1.0.7-3z1z90gf.mjs +0 -4
- package/dist/chunks/cli-1.0.7-41jm6paw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-45px4q2q.mjs +0 -12
- package/dist/chunks/cli-1.0.7-4a67zfe7.mjs +0 -2
- package/dist/chunks/cli-1.0.7-4qwjg996.mjs +0 -2
- package/dist/chunks/cli-1.0.7-538yatrk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-5f0y2nxn.mjs +0 -2
- package/dist/chunks/cli-1.0.7-5h2vgm7b.mjs +0 -2
- package/dist/chunks/cli-1.0.7-5kc9g0m9.mjs +0 -3
- package/dist/chunks/cli-1.0.7-5rxjz9r1.mjs +0 -2
- package/dist/chunks/cli-1.0.7-65xw81pn.mjs +0 -7
- package/dist/chunks/cli-1.0.7-67z7m1zx.mjs +0 -15
- package/dist/chunks/cli-1.0.7-6ncp8ban.mjs +0 -2
- package/dist/chunks/cli-1.0.7-6r3vkkzw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-6wm7jzey.mjs +0 -2
- package/dist/chunks/cli-1.0.7-6yr2e385.mjs +0 -2
- package/dist/chunks/cli-1.0.7-73e5dz55.mjs +0 -2
- package/dist/chunks/cli-1.0.7-757ex32c.mjs +0 -199
- package/dist/chunks/cli-1.0.7-7egbzjdg.mjs +0 -12
- package/dist/chunks/cli-1.0.7-7gmv86pv.mjs +0 -25
- package/dist/chunks/cli-1.0.7-7qm9503t.mjs +0 -4
- package/dist/chunks/cli-1.0.7-7xhry9cz.mjs +0 -8
- package/dist/chunks/cli-1.0.7-7yrvwwdb.mjs +0 -2
- package/dist/chunks/cli-1.0.7-84dx5y2m.mjs +0 -2
- package/dist/chunks/cli-1.0.7-8fj15s8a.mjs +0 -2
- package/dist/chunks/cli-1.0.7-8hepstgz.mjs +0 -2
- package/dist/chunks/cli-1.0.7-8pfh7aha.mjs +0 -2
- package/dist/chunks/cli-1.0.7-96mb1gmj.mjs +0 -2
- package/dist/chunks/cli-1.0.7-96qpk0ct.mjs +0 -2
- package/dist/chunks/cli-1.0.7-97fqbfff.mjs +0 -2
- package/dist/chunks/cli-1.0.7-9p7hfa00.mjs +0 -2
- package/dist/chunks/cli-1.0.7-9pc6jb5f.mjs +0 -2
- package/dist/chunks/cli-1.0.7-9ws1j17m.mjs +0 -2
- package/dist/chunks/cli-1.0.7-a32vv8nk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-a78rj0kd.mjs +0 -9
- package/dist/chunks/cli-1.0.7-a7fahcda.mjs +0 -2
- package/dist/chunks/cli-1.0.7-a808xdj3.mjs +0 -3
- package/dist/chunks/cli-1.0.7-aa7vfbxa.mjs +0 -2
- package/dist/chunks/cli-1.0.7-af1m1akw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-akbc4ch3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-an2jwvew.mjs +0 -9
- package/dist/chunks/cli-1.0.7-anrcmph3.mjs +0 -3
- package/dist/chunks/cli-1.0.7-av93xde0.mjs +0 -2
- package/dist/chunks/cli-1.0.7-b16t7f1a.mjs +0 -2
- package/dist/chunks/cli-1.0.7-b2pf78c9.mjs +0 -2
- package/dist/chunks/cli-1.0.7-b778v1dh.mjs +0 -2
- package/dist/chunks/cli-1.0.7-baqj15a8.mjs +0 -2
- package/dist/chunks/cli-1.0.7-bfe6f9c6.mjs +0 -2
- package/dist/chunks/cli-1.0.7-bkm2xek7.mjs +0 -2
- package/dist/chunks/cli-1.0.7-bn0sb2w7.mjs +0 -2
- package/dist/chunks/cli-1.0.7-c8kxp6h0.mjs +0 -2
- package/dist/chunks/cli-1.0.7-cb42m3ff.mjs +0 -2
- package/dist/chunks/cli-1.0.7-cf47wta1.mjs +0 -2
- package/dist/chunks/cli-1.0.7-cs7epg9a.mjs +0 -2
- package/dist/chunks/cli-1.0.7-d1zc020r.mjs +0 -133
- package/dist/chunks/cli-1.0.7-dbyr517p.mjs +0 -4
- package/dist/chunks/cli-1.0.7-ddhhvx60.mjs +0 -2
- package/dist/chunks/cli-1.0.7-df9p9tj8.mjs +0 -24
- package/dist/chunks/cli-1.0.7-dhdv7vtc.mjs +0 -50
- package/dist/chunks/cli-1.0.7-dnn18rgf.mjs +0 -2
- package/dist/chunks/cli-1.0.7-dr2dca7n.mjs +0 -2
- package/dist/chunks/cli-1.0.7-f43w1f9g.mjs +0 -42
- package/dist/chunks/cli-1.0.7-f6490vr3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-fcfrsawp.mjs +0 -2
- package/dist/chunks/cli-1.0.7-fckzct0z.mjs +0 -2
- package/dist/chunks/cli-1.0.7-ff6dfmp3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-fmdws8pg.mjs +0 -2
- package/dist/chunks/cli-1.0.7-fvr9xx0m.mjs +0 -2
- package/dist/chunks/cli-1.0.7-g1hrx2r5.mjs +0 -18
- package/dist/chunks/cli-1.0.7-g42rsvs5.mjs +0 -2
- package/dist/chunks/cli-1.0.7-g6d9snde.mjs +0 -3
- package/dist/chunks/cli-1.0.7-ga6hk3n2.mjs +0 -3
- package/dist/chunks/cli-1.0.7-ghxmw318.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gj1806bk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gk53nva2.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gnwjbdch.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gp71tfwe.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gq9fp39n.mjs +0 -2
- package/dist/chunks/cli-1.0.7-gqf40mqk.mjs +0 -24
- package/dist/chunks/cli-1.0.7-h1g9rk4g.mjs +0 -4
- package/dist/chunks/cli-1.0.7-hd6xn6rt.mjs +0 -2
- package/dist/chunks/cli-1.0.7-hfcehnx9.mjs +0 -3
- package/dist/chunks/cli-1.0.7-hw8dxgj2.mjs +0 -2
- package/dist/chunks/cli-1.0.7-j31m0f1y.mjs +0 -2
- package/dist/chunks/cli-1.0.7-j6hxvf4r.mjs +0 -2
- package/dist/chunks/cli-1.0.7-j6ndkfy3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-jn7nay2r.mjs +0 -2
- package/dist/chunks/cli-1.0.7-jz4phmb3.mjs +0 -3
- package/dist/chunks/cli-1.0.7-k38j6sgc.mjs +0 -2
- package/dist/chunks/cli-1.0.7-k3nnbdbv.mjs +0 -2
- package/dist/chunks/cli-1.0.7-kegj01e5.mjs +0 -133
- package/dist/chunks/cli-1.0.7-kf237s65.mjs +0 -2
- package/dist/chunks/cli-1.0.7-kgbv7bt5.mjs +0 -17
- package/dist/chunks/cli-1.0.7-khd0yqhk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-m17d94h8.mjs +0 -2
- package/dist/chunks/cli-1.0.7-mv7ptsre.mjs +0 -2
- package/dist/chunks/cli-1.0.7-mwj9f8rw.mjs +0 -59
- package/dist/chunks/cli-1.0.7-mznh91ce.mjs +0 -2
- package/dist/chunks/cli-1.0.7-n5hf2vsh.mjs +0 -2
- package/dist/chunks/cli-1.0.7-na7ksfyj.mjs +0 -2
- package/dist/chunks/cli-1.0.7-nhg85avf.mjs +0 -2
- package/dist/chunks/cli-1.0.7-nnd4za11.mjs +0 -3
- package/dist/chunks/cli-1.0.7-p4p38dky.mjs +0 -3
- package/dist/chunks/cli-1.0.7-p5setvdk.mjs +0 -2
- package/dist/chunks/cli-1.0.7-ph9qjcjb.mjs +0 -2
- package/dist/chunks/cli-1.0.7-pxmf9kyf.mjs +0 -2
- package/dist/chunks/cli-1.0.7-pyacw9kn.mjs +0 -5
- package/dist/chunks/cli-1.0.7-q3ezj6q3.mjs +0 -2
- package/dist/chunks/cli-1.0.7-q7w0ex1x.mjs +0 -2
- package/dist/chunks/cli-1.0.7-qdtt526e.mjs +0 -2
- package/dist/chunks/cli-1.0.7-qjtqaam0.mjs +0 -2
- package/dist/chunks/cli-1.0.7-qknq8k3p.mjs +0 -2
- package/dist/chunks/cli-1.0.7-qmm35cv2.mjs +0 -39
- package/dist/chunks/cli-1.0.7-qxjpkptr.mjs +0 -2
- package/dist/chunks/cli-1.0.7-r4h75bn4.mjs +0 -2
- package/dist/chunks/cli-1.0.7-rbrr75z2.mjs +0 -2
- package/dist/chunks/cli-1.0.7-rz8h7nks.mjs +0 -2
- package/dist/chunks/cli-1.0.7-s11nkveb.mjs +0 -24
- package/dist/chunks/cli-1.0.7-s27f8y4p.mjs +0 -2
- package/dist/chunks/cli-1.0.7-s5mhxbhn.mjs +0 -5476
- package/dist/chunks/cli-1.0.7-s6jjnyxd.mjs +0 -2
- package/dist/chunks/cli-1.0.7-s8e8tq3y.mjs +0 -2
- package/dist/chunks/cli-1.0.7-sjpx2md1.mjs +0 -2
- package/dist/chunks/cli-1.0.7-skm59maw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-sv4vj25b.mjs +0 -2
- package/dist/chunks/cli-1.0.7-t8m8vafg.mjs +0 -4
- package/dist/chunks/cli-1.0.7-tf8b1vhx.mjs +0 -2
- package/dist/chunks/cli-1.0.7-tvz0kwb6.mjs +0 -25
- package/dist/chunks/cli-1.0.7-txhggtd1.mjs +0 -16
- package/dist/chunks/cli-1.0.7-tz22r50p.mjs +0 -2
- package/dist/chunks/cli-1.0.7-vcsdnmc0.mjs +0 -2
- package/dist/chunks/cli-1.0.7-veqj11zy.mjs +0 -3
- package/dist/chunks/cli-1.0.7-vjgedfc4.mjs +0 -2
- package/dist/chunks/cli-1.0.7-vtd2sbnq.mjs +0 -3
- package/dist/chunks/cli-1.0.7-vw4n13wr.mjs +0 -2
- package/dist/chunks/cli-1.0.7-vx0rcgfm.mjs +0 -2
- package/dist/chunks/cli-1.0.7-w3g8c9m3.mjs +0 -18
- package/dist/chunks/cli-1.0.7-wahp9jjm.mjs +0 -5
- package/dist/chunks/cli-1.0.7-wc28nq81.mjs +0 -6
- package/dist/chunks/cli-1.0.7-wc4y0k3e.mjs +0 -12
- package/dist/chunks/cli-1.0.7-wgt5ay2x.mjs +0 -6
- package/dist/chunks/cli-1.0.7-wk9hs648.mjs +0 -2
- package/dist/chunks/cli-1.0.7-wmrv4paj.mjs +0 -45
- package/dist/chunks/cli-1.0.7-wqrgw4kw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-ws7404wd.mjs +0 -2
- package/dist/chunks/cli-1.0.7-wwy64zs8.mjs +0 -4
- package/dist/chunks/cli-1.0.7-xdt2g9p7.mjs +0 -2
- package/dist/chunks/cli-1.0.7-xga48xv7.mjs +0 -2
- package/dist/chunks/cli-1.0.7-xh0afj9p.mjs +0 -2
- package/dist/chunks/cli-1.0.7-xhb3g1xh.mjs +0 -2
- package/dist/chunks/cli-1.0.7-xtj9j6ha.mjs +0 -15
- package/dist/chunks/cli-1.0.7-xvhkprcw.mjs +0 -2
- package/dist/chunks/cli-1.0.7-xxa9e3we.mjs +0 -4
- package/dist/chunks/cli-1.0.7-y8sq6jh3.mjs +0 -4
- package/dist/chunks/cli-1.0.7-yatztvfp.mjs +0 -2
- package/dist/chunks/cli-1.0.7-yb9sxq0k.mjs +0 -2
- package/dist/chunks/cli-1.0.7-ybcht1kp.mjs +0 -2
- package/dist/chunks/cli-1.0.7-yc90byps.mjs +0 -34
- package/dist/chunks/cli-1.0.7-yyqg2waz.mjs +0 -2
- package/dist/chunks/cli-1.0.7-z53gtmpk.mjs +0 -6
- package/dist/chunks/cli-1.0.7-z5vgrn57.mjs +0 -2
- package/dist/chunks/cli-1.0.7-z9fvy0d8.mjs +0 -2
- package/dist/chunks/cli-1.0.7-zjapdrt8.mjs +0 -6
- package/dist/chunks/cli-1.0.7-zmqm6p6t.mjs +0 -2
- package/dist/chunks/cli-1.0.7-zsbst1mq.mjs +0 -1
- package/dist/chunks/cli-1.0.7-zwr4ga8c.mjs +0 -2
- package/dist/chunks/client-1.0.7-n8414pey.mjs +0 -1
- package/dist/chunks/color-1.0.7-99fmrmyq.mjs +0 -1
- package/dist/chunks/compact-1.0.7-91sa41px.mjs +0 -3
- package/dist/chunks/config-1.0.7-bjt981nd.mjs +0 -1
- package/dist/chunks/config-1.0.7-vfbd76cq.mjs +0 -1
- package/dist/chunks/constants-1.0.7-fj97y7dq.mjs +0 -1
- package/dist/chunks/context-1.0.7-qmktq4pg.mjs +0 -1
- package/dist/chunks/context-noninteractive-1.0.7-w9828p3h.mjs +0 -1
- package/dist/chunks/conversation-1.0.7-d5q8rrwx.mjs +0 -1
- package/dist/chunks/copilotHeaders-1.0.7-mhsm6qwp.mjs +0 -1
- package/dist/chunks/copy-1.0.7-hznd9dqf.mjs +0 -9
- package/dist/chunks/cost-1.0.7-hbpz16jx.mjs +0 -1
- package/dist/chunks/createSSHSession-1.0.7-5s4sy0qv.mjs +0 -1
- package/dist/chunks/createSession-1.0.7-mha5sscw.mjs +0 -1
- package/dist/chunks/debug-1.0.7-6kcgjwgp.mjs +0 -1
- package/dist/chunks/defaultActionDeps-1.0.7-5x2a3qnr.mjs +0 -1446
- package/dist/chunks/desktop-1.0.7-37m19pef.mjs +0 -1
- package/dist/chunks/detectRepository-1.0.7-3ffa7wfs.mjs +0 -1
- package/dist/chunks/detection-1.0.7-bcwz3kz9.mjs +0 -1
- package/dist/chunks/diff-1.0.7-60vwaapm.mjs +0 -1
- package/dist/chunks/doctor-1.0.7-bc3r1p04.mjs +0 -1
- package/dist/chunks/doctorDiagnostic-1.0.7-qe18rzqr.mjs +0 -1
- package/dist/chunks/earlyInput-1.0.7-51cxad4b.mjs +0 -1
- package/dist/chunks/effort-1.0.7-mckjwtdk.mjs +0 -10
- package/dist/chunks/engine-1.0.7-1kqhk6mc.mjs +0 -1
- package/dist/chunks/envLessBridgeConfig-1.0.7-hbpge4a8.mjs +0 -1
- package/dist/chunks/envUtils-1.0.7-m63cpkg3.mjs +0 -1
- package/dist/chunks/environmentSelection-1.0.7-kg2xnt7t.mjs +0 -1
- package/dist/chunks/environments-1.0.7-jcrcam7e.mjs +0 -1
- package/dist/chunks/errors-1.0.7-vhtw6kg6.mjs +0 -1
- package/dist/chunks/exampleCommands-1.0.7-f254y3tf.mjs +0 -1
- package/dist/chunks/exit-1.0.7-f5s73g22.mjs +0 -1
- package/dist/chunks/explorer-1.0.7-yjpphptq.mjs +0 -1
- package/dist/chunks/export-1.0.7-7kn40p9m.mjs +0 -2
- package/dist/chunks/extra-usage-1.0.7-xwb7xfe4.mjs +0 -1
- package/dist/chunks/extra-usage-noninteractive-1.0.7-0dpsjjh0.mjs +0 -1
- package/dist/chunks/fast-1.0.7-9eg9g1mf.mjs +0 -1
- package/dist/chunks/feedback-1.0.7-kkw4fdj8.mjs +0 -14
- package/dist/chunks/firstPartyEventLogger-1.0.7-yaekw6be.mjs +0 -1
- package/dist/chunks/git-1.0.7-t3824xkx.mjs +0 -1
- package/dist/chunks/githubModelsCredentials-1.0.7-m79e1ga1.mjs +0 -1
- package/dist/chunks/goal-1.0.7-jkmcdmm1.mjs +0 -4
- package/dist/chunks/grove-1.0.7-th5kn0n5.mjs +0 -1
- package/dist/chunks/growthbook-1.0.7-hnr2hv9t.mjs +0 -1
- package/dist/chunks/headless-1.0.7-2w17kqac.mjs +0 -2
- package/dist/chunks/heapdump-1.0.7-1qvsds14.mjs +0 -6
- package/dist/chunks/help-1.0.7-33ennxwb.mjs +0 -1
- package/dist/chunks/hookChains-1.0.7-8gt4r1qg.mjs +0 -3
- package/dist/chunks/hooks-1.0.7-970fsrks.mjs +0 -1
- package/dist/chunks/hooks-1.0.7-xyrevnk8.mjs +0 -79
- package/dist/chunks/ide-1.0.7-knfed9xe.mjs +0 -3
- package/dist/chunks/image-processor-napi-1.0.7-5c1fwxwf.mjs +0 -1
- package/dist/chunks/inboundAttachments-1.0.7-5p98j8m2.mjs +0 -1
- package/dist/chunks/index-1.0.7-0ce2q3me.mjs +0 -17
- package/dist/chunks/index-1.0.7-3tbze0ns.mjs +0 -1
- package/dist/chunks/index-1.0.7-3z09rqyx.mjs +0 -1
- package/dist/chunks/index-1.0.7-4g6596jt.mjs +0 -1
- package/dist/chunks/index-1.0.7-59cvfmen.mjs +0 -1
- package/dist/chunks/index-1.0.7-63vq5fws.mjs +0 -1
- package/dist/chunks/index-1.0.7-6wcbk6ve.mjs +0 -5
- package/dist/chunks/index-1.0.7-84wm5p43.mjs +0 -1
- package/dist/chunks/index-1.0.7-c0jfw97a.mjs +0 -9
- package/dist/chunks/index-1.0.7-dds9fcry.mjs +0 -1
- package/dist/chunks/index-1.0.7-ecq1qwpq.mjs +0 -1
- package/dist/chunks/index-1.0.7-gm6exxqq.mjs +0 -30
- package/dist/chunks/index-1.0.7-jh8savg9.mjs +0 -9
- package/dist/chunks/index-1.0.7-k8k38nbt.mjs +0 -1
- package/dist/chunks/index-1.0.7-kyyfrf6j.mjs +0 -1
- package/dist/chunks/index-1.0.7-m23r2bmv.mjs +0 -1
- package/dist/chunks/index-1.0.7-mmm10tac.mjs +0 -2
- package/dist/chunks/index-1.0.7-p82yhqst.mjs +0 -1
- package/dist/chunks/index-1.0.7-vyafwe23.mjs +0 -1
- package/dist/chunks/index-1.0.7-wazwyjm7.mjs +0 -1
- package/dist/chunks/index-1.0.7-wd33rv5q.mjs +0 -1
- package/dist/chunks/index-1.0.7-yhxty6kz.mjs +0 -1
- package/dist/chunks/index-1.0.7-zp3vs07b.mjs +0 -2
- package/dist/chunks/init-1.0.7-y29e6mb3.mjs +0 -1
- package/dist/chunks/initReplBridge-1.0.7-14rmpkte.mjs +0 -1
- package/dist/chunks/ink-1.0.7-gf3qdamf.mjs +0 -1
- package/dist/chunks/insights-1.0.7-hd6460mk.mjs +0 -870
- package/dist/chunks/install-1.0.7-antesxaa.mjs +0 -1
- package/dist/chunks/install-github-app-1.0.7-0asc4ajr.mjs +0 -149
- package/dist/chunks/install-slack-app-1.0.7-zwna6gq3.mjs +0 -1
- package/dist/chunks/instrumentation-1.0.7-wvv85h9t.mjs +0 -1
- package/dist/chunks/interactiveHelpers-1.0.7-pkmbfs0b.mjs +0 -1
- package/dist/chunks/keybindings-1.0.7-emp8m2vr.mjs +0 -2
- package/dist/chunks/knowledge-1.0.7-6hv6538k.mjs +0 -2
- package/dist/chunks/latestVersionCache-1.0.7-t1gtsxte.mjs +0 -1
- package/dist/chunks/loadAgentsDir-1.0.7-j5mq4f5x.mjs +0 -1
- package/dist/chunks/loadPluginHooks-1.0.7-6tbrq15z.mjs +0 -1
- package/dist/chunks/loadPluginHooks-1.0.7-k2zgqtye.mjs +0 -1
- package/dist/chunks/log-1.0.7-pmgzzdy7.mjs +0 -1
- package/dist/chunks/main-1.0.7-esamqda3.mjs +0 -1
- package/dist/chunks/managedEnv-1.0.7-6mz7vwyt.mjs +0 -1
- package/dist/chunks/mcp-1.0.7-d4941tnp.mjs +0 -17
- package/dist/chunks/mcp-1.0.7-hjjdsn53.mjs +0 -4
- package/dist/chunks/mcp-1.0.7-skfyfspe.mjs +0 -1
- package/dist/chunks/mcpb-1.0.7-twwnd1ct.mjs +0 -1
- package/dist/chunks/memory-1.0.7-0r8q4re7.mjs +0 -3
- package/dist/chunks/model-1.0.7-d82p81ne.mjs +0 -2
- package/dist/chunks/model-1.0.7-xt8c58fg.mjs +0 -1
- package/dist/chunks/node-1.0.7-5h6w60zy.mjs +0 -12
- package/dist/chunks/oauth-1.0.7-gveatjqe.mjs +0 -1
- package/dist/chunks/openaiShim-1.0.7-q8aqfz40.mjs +0 -14
- package/dist/chunks/output-style-1.0.7-xnamzpre.mjs +0 -1
- package/dist/chunks/package-ZZWOLTXM-1.0.7-y8bvx3y5.mjs +0 -1
- package/dist/chunks/parseConnectUrl-1.0.7-we9ebc0h.mjs +0 -1
- package/dist/chunks/parser-1.0.7-20zgf2mq.mjs +0 -1
- package/dist/chunks/passes-1.0.7-gcnj20c4.mjs +0 -1
- package/dist/chunks/permissions-1.0.7-43y27rj9.mjs +0 -3
- package/dist/chunks/permissions-1.0.7-kw8fw9gd.mjs +0 -1
- package/dist/chunks/plan-1.0.7-z1k9hfr8.mjs +0 -1
- package/dist/chunks/plist-1.0.7-daxqmwqx.mjs +0 -1
- package/dist/chunks/plugin-1.0.7-66bqymg3.mjs +0 -29
- package/dist/chunks/pluginStartupCheck-1.0.7-w5krqm0w.mjs +0 -1
- package/dist/chunks/plugins-1.0.7-8njx3c0z.mjs +0 -9
- package/dist/chunks/preActionHook-1.0.7-a1hhphah.mjs +0 -2
- package/dist/chunks/print-1.0.7-xnncgmye.mjs +0 -57
- package/dist/chunks/privacy-settings-1.0.7-7gfaexn9.mjs +0 -1
- package/dist/chunks/process-1.0.7-9sx5xgpe.mjs +0 -1
- package/dist/chunks/processBashCommand-1.0.7-32dm20nc.mjs +0 -1
- package/dist/chunks/processSlashCommand-1.0.7-am0rnn44.mjs +0 -9
- package/dist/chunks/prompt-1.0.7-0yt5k7pt.mjs +0 -1
- package/dist/chunks/prompt-1.0.7-hfv56awc.mjs +0 -1
- package/dist/chunks/prompts-1.0.7-1p5km2m0.mjs +0 -1
- package/dist/chunks/protocolHandler-1.0.7-geqttcpz.mjs +0 -13
- package/dist/chunks/provider-1.0.7-y0j7q32j.mjs +0 -2
- package/dist/chunks/providerProfiles-1.0.7-s0zs9q1r.mjs +0 -1
- package/dist/chunks/providerValidation-1.0.7-aexhx4ft.mjs +0 -6
- package/dist/chunks/rate-limit-options-1.0.7-r4b2s2hk.mjs +0 -1
- package/dist/chunks/registerSubcommands-1.0.7-qmvr4jj4.mjs +0 -34
- package/dist/chunks/registry-1.0.7-be1gn584.mjs +0 -1
- package/dist/chunks/release-notes-1.0.7-tcr3xzz7.mjs +0 -5
- package/dist/chunks/reload-plugins-1.0.7-psfk2m91.mjs +0 -2
- package/dist/chunks/remote-env-1.0.7-xn5b9vx7.mjs +0 -1
- package/dist/chunks/remoteBridgeCore-1.0.7-hvnh9bv2.mjs +0 -1
- package/dist/chunks/remoteSession-1.0.7-870w4tbq.mjs +0 -1
- package/dist/chunks/rename-1.0.7-53emj8yj.mjs +0 -1
- package/dist/chunks/replBridgeHandle-1.0.7-cbrh6d8b.mjs +0 -1
- package/dist/chunks/replLauncher-1.0.7-zs2c9f7n.mjs +0 -1
- package/dist/chunks/resume-1.0.7-b5e8840g.mjs +0 -2
- package/dist/chunks/rewind-1.0.7-15a43rp5.mjs +0 -1
- package/dist/chunks/rootOptions-1.0.7-84t0zbkm.mjs +0 -1
- package/dist/chunks/sandbox-adapter-1.0.7-rs0gse4a.mjs +0 -1
- package/dist/chunks/sandbox-toggle-1.0.7-benxjznf.mjs +0 -1
- package/dist/chunks/session-1.0.7-9kyk2x4p.mjs +0 -2
- package/dist/chunks/sessionDiscovery-1.0.7-3z1nttw5.mjs +0 -1
- package/dist/chunks/sessionFileAccessHooks-1.0.7-wha0618t.mjs +0 -1
- package/dist/chunks/sessionStorage-1.0.7-tdsf7h6t.mjs +0 -1
- package/dist/chunks/settings-1.0.7-ew9b4r78.mjs +0 -1
- package/dist/chunks/setup-1.0.7-tnm7hbmj.mjs +0 -5
- package/dist/chunks/sinks-1.0.7-bw23nvqf.mjs +0 -1
- package/dist/chunks/skills-1.0.7-z5a8v4xg.mjs +0 -1
- package/dist/chunks/startupProfiler-1.0.7-fqfzm5cc.mjs +0 -1
- package/dist/chunks/startupUpdateCheck-1.0.7-enpb315n.mjs +0 -1
- package/dist/chunks/state-1.0.7-anf50tyt.mjs +0 -1
- package/dist/chunks/stats-1.0.7-xgb8h40k.mjs +0 -6
- package/dist/chunks/status-1.0.7-f7s47750.mjs +0 -1
- package/dist/chunks/stickers-1.0.7-z1wec6v6.mjs +0 -1
- package/dist/chunks/subprocessEnv-1.0.7-838hrdpy.mjs +0 -1
- package/dist/chunks/tasks-1.0.7-gnsbny7t.mjs +0 -1
- package/dist/chunks/teamHelpers-1.0.7-b952rdkv.mjs +0 -1
- package/dist/chunks/teammateModeSnapshot-1.0.7-kp8hzkhr.mjs +0 -1
- package/dist/chunks/teleport-1.0.7-0z0g10ms.mjs +0 -1
- package/dist/chunks/terminalSetup-1.0.7-fgc3myw4.mjs +0 -1
- package/dist/chunks/theme-1.0.7-a88j7tjj.mjs +0 -1
- package/dist/chunks/thinkback-1.0.7-yzkgrf3q.mjs +0 -1
- package/dist/chunks/thinkback-play-1.0.7-jz896tvv.mjs +0 -1
- package/dist/chunks/toolPool-1.0.7-zc6vp20v.mjs +0 -1
- package/dist/chunks/toolSearch-1.0.7-ym8fk2b2.mjs +0 -1
- package/dist/chunks/tools-1.0.7-612s0tqy.mjs +0 -1
- package/dist/chunks/trustedDevice-1.0.7-vjbr81qz.mjs +0 -1
- package/dist/chunks/turndown.cjs-1.0.7-gz5y243z.mjs +0 -69
- package/dist/chunks/types-1.0.7-16q04281.mjs +0 -1
- package/dist/chunks/ultrareviewCommand-1.0.7-v65pd88x.mjs +0 -4
- package/dist/chunks/update-1.0.7-z4et749c.mjs +0 -88
- package/dist/chunks/upgrade-1.0.7-hbdmpet7.mjs +0 -1
- package/dist/chunks/upload-1.0.7-xgyk75yh.mjs +0 -7
- package/dist/chunks/upstreamproxy-1.0.7-vb939aaw.mjs +0 -14
- package/dist/chunks/url-handler-napi-1.0.7-nfw64r47.mjs +0 -1
- package/dist/chunks/usage-1.0.7-kpakcv0m.mjs +0 -1
- package/dist/chunks/util-1.0.7-52gcb8n1.mjs +0 -1
- package/dist/chunks/utils-1.0.7-ckre2ymb.mjs +0 -1
- package/dist/chunks/vim-1.0.7-10bew4qn.mjs +0 -1
- package/dist/chunks/watcher-1.0.7-85c73j65.mjs +0 -1
- package/dist/chunks/wiki-1.0.7-yw93y8cn.mjs +0 -132
- package/dist/chunks/workflows-1.0.7-yatxf71n.mjs +0 -1
- package/dist/chunks/worktree-1.0.7-dp2np4vz.mjs +0 -1
- package/dist/chunks/worktreeModeEnabled-1.0.7-m222ja7h.mjs +0 -1
- package/dist/chunks/wrapper-1.0.7-sqtjm0k7.mjs +0 -7
- /package/dist/chunks/{cli-1.0.7-bc3sxk1j.mjs → cli-1.0.8-2tcfa3h7.mjs} +0 -0
- /package/dist/chunks/{cli-1.0.7-mcmpb4cd.mjs → cli-1.0.8-9fsgsfsr.mjs} +0 -0
- /package/dist/chunks/{cli-1.0.7-y94dd4yd.mjs → cli-1.0.8-by017547.mjs} +0 -0
- /package/dist/chunks/{cli-1.0.7-5qss5m61.mjs → cli-1.0.8-cnp4f1p9.mjs} +0 -0
- /package/dist/chunks/{cli-1.0.7-3qnpcgyc.mjs → cli-1.0.8-kxhxnt9t.mjs} +0 -0
- /package/dist/chunks/{cli-1.0.7-6rt1agkh.mjs → cli-1.0.8-p2tp1j0a.mjs} +0 -0
- /package/dist/chunks/{cli-1.0.7-d3txxwh5.mjs → cli-1.0.8-t5jg9csm.mjs} +0 -0
- /package/dist/chunks/{cli-1.0.7-pscxy55m.mjs → cli-1.0.8-wm0h5bqt.mjs} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import{fX as T,qX as c}from"./cli-1.0.8-5gn5a7p3.mjs";import{G1 as w,J1 as n}from"./cli-1.0.8-rxf0zjys.mjs";import{O9 as M,P_ as y,Q9 as X,Q_ as g,R9 as f}from"./cli-1.0.8-ke76gxzw.mjs";import{Via as K,Wia as v,_ia as m,qja as Z,tia as R,tja as h,via as F}from"./cli-1.0.8-z96bbp08.mjs";import{Qja as Y,Vja as W,Xja as D}from"./cli-1.0.8-0w29g9sk.mjs";import{_ja as E,lka as S}from"./cli-1.0.8-swts6q29.mjs";import{Opa as j,Rla as k,Vla as A,Xla as N}from"./cli-1.0.8-c1m2f995.mjs";import{xra as H}from"./cli-1.0.8-by017547.mjs";function O(q){if(q<=1)return!1;try{return process.kill(q,0),!0}catch{return!1}}async function i(q,J=10){if(process.platform==="win32"){let Q=`
|
|
2
|
+
$pid = ${String(q)}
|
|
3
|
+
$ancestors = @()
|
|
4
|
+
for ($i = 0; $i -lt ${J}; $i++) {
|
|
5
|
+
$proc = Get-CimInstance Win32_Process -Filter "ProcessId=$pid" -ErrorAction SilentlyContinue
|
|
6
|
+
if (-not $proc -or -not $proc.ParentProcessId -or $proc.ParentProcessId -eq 0) { break }
|
|
7
|
+
$pid = $proc.ParentProcessId
|
|
8
|
+
$ancestors += $pid
|
|
9
|
+
}
|
|
10
|
+
$ancestors -join ','
|
|
11
|
+
`.trim(),V=await X("powershell.exe",["-NoProfile","-Command",Q],{timeout:3000});if(V.code!==0||!V.stdout?.trim())return[];return V.stdout.trim().split(",").filter(Boolean).map((G)=>parseInt(G,10)).filter((G)=>!isNaN(G))}let L=`pid=${String(q)}; for i in $(seq 1 ${J}); do ppid=$(ps -o ppid= -p $pid 2>/dev/null | tr -d ' '); if [ -z "$ppid" ] || [ "$ppid" = "0" ] || [ "$ppid" = "1" ]; then break; fi; echo $ppid; pid=$ppid; done`,z=await X("sh",["-c",L],{timeout:3000});if(z.code!==0||!z.stdout?.trim())return[];return z.stdout.trim().split(`
|
|
12
|
+
`).filter(Boolean).map((Q)=>parseInt(Q,10)).filter((Q)=>!isNaN(Q))}function e(q){try{let J=String(q),L=process.platform==="win32"?`powershell.exe -NoProfile -Command "(Get-CimInstance Win32_Process -Filter \\"ProcessId=${J}\\").CommandLine"`:`ps -o command= -p ${J}`,z=M(L,{timeout:1000});return z?z.trim():null}catch{return null}}async function qq(q,J=10){if(process.platform==="win32"){let Q=`
|
|
13
|
+
$currentPid = ${String(q)}
|
|
14
|
+
$commands = @()
|
|
15
|
+
for ($i = 0; $i -lt ${J}; $i++) {
|
|
16
|
+
$proc = Get-CimInstance Win32_Process -Filter "ProcessId=$currentPid" -ErrorAction SilentlyContinue
|
|
17
|
+
if (-not $proc) { break }
|
|
18
|
+
if ($proc.CommandLine) { $commands += $proc.CommandLine }
|
|
19
|
+
if (-not $proc.ParentProcessId -or $proc.ParentProcessId -eq 0) { break }
|
|
20
|
+
$currentPid = $proc.ParentProcessId
|
|
21
|
+
}
|
|
22
|
+
$commands -join [char]0
|
|
23
|
+
`.trim(),V=await X("powershell.exe",["-NoProfile","-Command",Q],{timeout:3000});if(V.code!==0||!V.stdout?.trim())return[];return V.stdout.split("\x00").filter(Boolean)}let L=`currentpid=${String(q)}; for i in $(seq 1 ${J}); do cmd=$(ps -o command= -p $currentpid 2>/dev/null); if [ -n "$cmd" ]; then printf '%s\\0' "$cmd"; fi; ppid=$(ps -o ppid= -p $currentpid 2>/dev/null | tr -d ' '); if [ -z "$ppid" ] || [ "$ppid" = "0" ] || [ "$ppid" = "1" ]; then break; fi; currentpid=$ppid; done`,z=await X("sh",["-c",L],{timeout:3000});if(z.code!==0||!z.stdout?.trim())return[];return z.stdout.split("\x00").filter(Boolean)}var _=H(()=>{f()});import{chmod as u,mkdir as a,readdir as l,readFile as p,unlink as P,writeFile as b}from"fs/promises";import{join as $}from"path";function U(){return $(E(),"sessions")}function o(){return}async function Uq(){if(T()!=null)return!1;let q=o()??"interactive",J=U(),L=$(J,`${process.pid}.json`);R(async()=>{try{await P(L)}catch{}});try{return await a(J,{recursive:!0,mode:448}),await u(J,448),await b(L,K({pid:process.pid,sessionId:k(),cwd:N(),startedAt:Date.now(),kind:q,entrypoint:process.env.CLAUDE_CODE_ENTRYPOINT,...{},...{}})),A((z)=>{B({sessionId:z})}),!0}catch(z){return Z(`[concurrentSessions] register failed: ${Y(z)}`),!1}}async function B(q){let J=$(U(),`${process.pid}.json`);try{let L=v(await p(J,"utf8"));await b(J,K({...L,...q}))}catch(L){Z(`[concurrentSessions] updatePidFile failed: ${Y(L)}`)}}async function Bq(q){if(!q)return;await B({name:q})}async function C(q){await B({bridgeSessionId:q})}async function Mq(){let q=U(),J;try{J=await l(q)}catch(z){if(!W(z))Z(`[concurrentSessions] readdir failed: ${Y(z)}`);return 0}let L=0;for(let z of J){if(!/^\d+\.json$/.test(z))continue;let Q=parseInt(z.slice(0,-5),10);if(Q===process.pid){L++;continue}if(O(Q))L++;else if(y()!=="wsl")P($(q,z)).catch(()=>{})}return L}var I=H(()=>{j();F();h();S();D();_();g();m();c()});function Aq(q){x=q,C(r()??null).catch(()=>{})}function d(){return x}function r(){let q=d();return q?w(q.bridgeSessionId):void 0}var x=null;var t=H(()=>{I();n()});
|
|
24
|
+
export{O as MW,i as NW,e as OW,qq as PW,_ as QW,Uq as RW,Bq as SW,C as TW,Mq as UW,I as VW,Aq as WW,d as XW,r as YW,t as ZW};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Ac as l,Bc as m,Ec as u,Fc as y}from"./cli-1.0.8-x4hcncpt.mjs";import{MF as p,OF as b}from"./cli-1.0.8-ykwgcdbt.mjs";import{H0 as C,a0 as s,c0 as e}from"./cli-1.0.8-qss5sph3.mjs";import{o3 as i,p3 as r,q3 as g}from"./cli-1.0.8-qzqze1a1.mjs";import{r3 as M}from"./cli-1.0.8-rna8rhza.mjs";import{tra as h,xra as f}from"./cli-1.0.8-by017547.mjs";function T({enabled:c,onDismiss:a}){let[n,t]=k.useState(()=>c?{kind:"prompt"}:{kind:"hidden"});if(!c||n.kind==="hidden")return null;if(n.kind==="running")return r(s,{flexDirection:"column",marginBottom:1,children:[i(e,{color:"warning",bold:!0,children:"Migrating ~/.claude/ to ~/.claudin/..."}),i(e,{dimColor:!0,children:"Copying tokens, settings, theme, MCP servers, skills, agents, slash commands, plugins, and keybindings."})]});if(n.kind==="success"||n.kind==="error"){let d=n.kind==="success"?"success":"warning",o=n.kind==="success"?"Migration complete":"Migration finished with warnings";return r(s,{flexDirection:"column",marginBottom:1,children:[i(e,{color:d,bold:!0,children:o}),i(e,{children:m(n.report)})]})}return r(s,{flexDirection:"column",marginBottom:1,children:[i(e,{color:"warning",bold:!0,children:"Found Claude Code config at ~/.claude/"}),i(e,{children:"Import API tokens, settings, theme, MCP servers, skills, agents, slash commands, plugins, and keybindings into ~/.claudin/?"}),i(p,{options:[{value:"migrate",label:"Migrate now",description:"Copy tokens, settings, CLAUDE.md, skills, agents, commands, plugins, keybindings."},{value:"skip",label:"Skip — start fresh",description:"Don't ask again this profile."}],onChange:(d)=>{if(d==="skip"){u(),t({kind:"hidden"}),a?.("skipped");return}t({kind:"running"}),(async()=>{let o=await l();t({kind:o.errors.length===0?"success":"error",report:o}),a?.("migrated")})()},onCancel:()=>{t({kind:"hidden"}),a?.("skipped")},visibleOptionCount:2})]})}var k;var w=f(()=>{C();y();b();g();k=h(M(),1)});
|
|
2
|
+
export{T as yc,w as zc};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Rda as P,kea as y}from"./cli-1.0.8-ke76gxzw.mjs";import{xra as U}from"./cli-1.0.8-by017547.mjs";var j,D,G,M,N,Y,C,_,R,f,E,I,k,A,b,h,m,p,u,T,w,L,O,X,$,e;var W=U(()=>{j=["common","uncommon","rare","epic","legendary"],D=String.fromCharCode,G=D(100,117,99,107),M=D(103,111,111,115,101),N=D(98,108,111,98),Y=D(99,97,116),C=D(100,114,97,103,111,110),_=D(111,99,116,111,112,117,115),R=D(111,119,108),f=D(112,101,110,103,117,105,110),E=D(116,117,114,116,108,101),I=D(115,110,97,105,108),k=D(103,104,111,115,116),A=D(97,120,111,108,111,116,108),b=D(99,97,112,121,98,97,114,97),h=D(99,97,99,116,117,115),m=D(114,111,98,111,116),p=D(114,97,98,98,105,116),u=D(109,117,115,104,114,111,111,109),T=D(99,104,111,110,107),w=[G,M,N,Y,C,_,R,f,E,I,k,A,b,h,m,p,u,T],L=["·","✦","×","◉","@","°"],O=["none","crown","tophat","propeller","halo","wizard","beanie","tinyduck"],X=["DEBUGGING","PATIENCE","CHAOS","WISDOM","SNARK"],$={common:60,uncommon:25,rare:10,epic:4,legendary:1},e={common:"inactive",uncommon:"success",rare:"permission",epic:"autoAccept",legendary:"warning"}});function v(q){let z=q>>>0;return function(){z|=0,z=z+1831565813|0;let B=Math.imul(z^z>>>15,1|z);return B=B+Math.imul(B^B>>>7,61|B)^B,((B^B>>>14)>>>0)/4294967296}}function F(q){if(typeof Bun<"u")return Number(BigInt(Bun.hash(q))&0xffffffffn);let z=2166136261;for(let B=0;B<q.length;B++)z^=q.charCodeAt(B),z=Math.imul(z,16777619);return z>>>0}function K(q,z){return z[Math.floor(q()*z.length)]}function S(q){let z=Object.values($).reduce((J,Q)=>J+Q,0),B=q()*z;for(let J of j)if(B-=$[J],B<0)return J;return"common"}function i(q,z){let B=d[z],J=K(q,X),Q=K(q,X);while(Q===J)Q=K(q,X);let Z={};for(let V of X)if(V===J)Z[V]=Math.min(100,B+50+Math.floor(q()*30));else if(V===Q)Z[V]=Math.max(1,B-10+Math.floor(q()*15));else Z[V]=B+Math.floor(q()*40);return Z}function H(q){let z=S(q);return{bones:{rarity:z,species:K(q,w),eye:K(q,L),hat:z==="common"?"none":K(q,O),shiny:q()<0.01,stats:i(q,z)},inspirationSeed:Math.floor(q()*1e9)}}function l(q){let z=q+c;if(x?.key===z)return x.value;let B=H(v(F(z)));return x={key:z,value:B},B}function a(q){return H(v(F(q)))}function s(){let q=P();return q.oauthAccount?.accountUuid??q.userID??"anon"}function r(){let q=P().companion;if(!q)return;let{bones:z}=l(s());return{...q,...z}}var d,c="friend-2026-401",x;var g=U(()=>{y();W();d={common:5,uncommon:15,rare:25,epic:35,legendary:50}});
|
|
2
|
+
export{G as oW,M as pW,N as qW,Y as rW,C as sW,_ as tW,R as uW,f as vW,E as wW,I as xW,k as yW,A as zW,b as AW,h as BW,m as CW,p as DW,u as EW,T as FW,e as GW,W as HW,a as IW,s as JW,r as KW,g as LW};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{MF as U,NF as A,RF as V,SF as E}from"./cli-1.0.8-ykwgcdbt.mjs";import{cW as W,kW as G}from"./cli-1.0.8-qbrw3wf3.mjs";import{H0 as O,a0 as F,c0 as H}from"./cli-1.0.8-qss5sph3.mjs";import{o3 as q,p3 as K,q3 as L}from"./cli-1.0.8-qzqze1a1.mjs";import{r3 as I}from"./cli-1.0.8-rna8rhza.mjs";import{X7 as p,x7 as Q}from"./cli-1.0.8-sqbaxhfc.mjs";import{Oda as M,Rda as N,kea as $}from"./cli-1.0.8-ke76gxzw.mjs";import{tra as Z,xra as _}from"./cli-1.0.8-by017547.mjs";function b({onDone:J}){let z=w.useRef(J);z.current=J;let X=w.useCallback(()=>{z.current("dismiss")},[]);w.useEffect(()=>{M((y)=>{if(y.remoteDialogSeen)return y;return{...y,remoteDialogSeen:!0}})},[]);let Y=w.useCallback((y)=>{z.current(y)},[]);return q(V,{title:"Remote Control",children:K(F,{flexDirection:"column",paddingX:2,paddingY:1,children:[K(F,{marginBottom:1,flexDirection:"column",children:[q(H,{children:"Remote Control lets you access this CLI session from the web (claude.ai/code) or the Claude app, so you can pick up where you left off on any device."}),q(H,{children:" "}),q(H,{children:"You can disconnect remote access anytime by running /remote-control again."})]}),q(F,{children:q(U,{options:[{label:"Enable Remote Control for this session",description:"Opens a secure connection to claude.ai.",value:"enable"},{label:"Never mind",description:"You can always enable it later with /remote-control.",value:"dismiss"}],onChange:Y,onCancel:X})})]})})}function d(){if(N().remoteDialogSeen)return!1;if(!W())return!1;if(!Q()?.accessToken)return!1;return!0}var w;var P=_(()=>{G();O();p();$();A();E();L();w=Z(I(),1)});
|
|
2
|
+
export{b as cc,d as dc,P as ec};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{$U as f,_U as k,pV as u}from"./cli-1.0.8-evcjjrhq.mjs";import{eX as C,qX as d}from"./cli-1.0.8-5gn5a7p3.mjs";import{K3 as A,M3 as F}from"./cli-1.0.8-szvwf6r4.mjs";import{g4 as q,l4 as i}from"./cli-1.0.8-sqbaxhfc.mjs";import{$7 as W,c8 as _,j8 as j,k8 as w,p8 as I}from"./cli-1.0.8-abdc5b5p.mjs";import{Ifa as V,Qfa as U}from"./cli-1.0.8-ke76gxzw.mjs";import{lia as M,mia as v}from"./cli-1.0.8-2yyas23w.mjs";import{Via as X,Wia as R,_ia as p,qja as J,tja as x}from"./cli-1.0.8-z96bbp08.mjs";import{Qja as P,Xja as T}from"./cli-1.0.8-0w29g9sk.mjs";import{yra as O}from"./cli-1.0.8-by017547.mjs";x();U();F();v();x();T();U();_();I();p();import{randomUUID as E}from"crypto";var h=2000,y=5,S=30000,Y=3,c=new Set([4003]);function D(B){if(typeof B!=="object"||B===null||!("type"in B))return!1;return typeof B.type==="string"}class L{sessionId;orgUuid;getAccessToken;callbacks;ws=null;state="closed";reconnectAttempts=0;sessionNotFoundRetries=0;pingInterval=null;reconnectTimer=null;constructor(B,z,Q,H){this.sessionId=B;this.orgUuid=z;this.getAccessToken=Q;this.callbacks=H}async connect(){if(this.state==="connecting"){J("[SessionsWebSocket] Already connecting");return}this.state="connecting";let z=`${M().BASE_API_URL.replace("https://","wss://")}/v1/sessions/ws/${this.sessionId}/subscribe?organization_uuid=${this.orgUuid}`;J(`[SessionsWebSocket] Connecting to ${z}`);let H={Authorization:`Bearer ${this.getAccessToken()}`,"anthropic-version":"2023-06-01"};if(typeof Bun<"u"){let $=new globalThis.WebSocket(z,{headers:H,proxy:w(z),tls:W()||void 0});this.ws=$,$.addEventListener("open",()=>{J("[SessionsWebSocket] Connection opened, authenticated via headers"),this.state="connected",this.reconnectAttempts=0,this.sessionNotFoundRetries=0,this.startPingInterval(),this.callbacks.onConnected?.()}),$.addEventListener("message",(Z)=>{let K=typeof Z.data==="string"?Z.data:String(Z.data);this.handleMessage(K)}),$.addEventListener("error",()=>{let Z=Error("[SessionsWebSocket] WebSocket error");V(Z),this.callbacks.onError?.(Z)}),$.addEventListener("close",(Z)=>{J(`[SessionsWebSocket] Closed: code=${Z.code} reason=${Z.reason}`),this.handleClose(Z.code)}),$.addEventListener("pong",()=>{J("[SessionsWebSocket] Pong received")})}else{let{default:$}=await import("./wrapper-1.0.8-atewpqqc.mjs"),Z=new $(z,{headers:H,agent:j(z),...W()});this.ws=Z,Z.on("open",()=>{J("[SessionsWebSocket] Connection opened, authenticated via headers"),this.state="connected",this.reconnectAttempts=0,this.sessionNotFoundRetries=0,this.startPingInterval(),this.callbacks.onConnected?.()}),Z.on("message",(K)=>{this.handleMessage(K.toString())}),Z.on("error",(K)=>{V(Error(`[SessionsWebSocket] Error: ${K.message}`)),this.callbacks.onError?.(K)}),Z.on("close",(K,G)=>{J(`[SessionsWebSocket] Closed: code=${K} reason=${G.toString()}`),this.handleClose(K)}),Z.on("pong",()=>{J("[SessionsWebSocket] Pong received")})}}handleMessage(B){try{let z=R(B);if(D(z))this.callbacks.onMessage(z);else J(`[SessionsWebSocket] Ignoring message type: ${typeof z==="object"&&z!==null&&"type"in z?String(z.type):"unknown"}`)}catch(z){V(Error(`[SessionsWebSocket] Failed to parse message: ${P(z)}`))}}handleClose(B){if(this.stopPingInterval(),this.state==="closed")return;this.ws=null;let z=this.state;if(this.state="closed",c.has(B)){J(`[SessionsWebSocket] Permanent close code ${B}, not reconnecting`),this.callbacks.onClose?.();return}if(B===4001){if(this.sessionNotFoundRetries++,this.sessionNotFoundRetries>Y){J(`[SessionsWebSocket] 4001 retry budget exhausted (${Y}), not reconnecting`),this.callbacks.onClose?.();return}this.scheduleReconnect(h*this.sessionNotFoundRetries,`4001 attempt ${this.sessionNotFoundRetries}/${Y}`);return}if(z==="connected"&&this.reconnectAttempts<y)this.reconnectAttempts++,this.scheduleReconnect(h,`attempt ${this.reconnectAttempts}/${y}`);else J("[SessionsWebSocket] Not reconnecting"),this.callbacks.onClose?.()}scheduleReconnect(B,z){this.callbacks.onReconnecting?.(),J(`[SessionsWebSocket] Scheduling reconnect (${z}) in ${B}ms`),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},B)}startPingInterval(){this.stopPingInterval(),this.pingInterval=setInterval(()=>{if(this.ws&&this.state==="connected")try{this.ws.ping?.()}catch{}},S)}stopPingInterval(){if(this.pingInterval)clearInterval(this.pingInterval),this.pingInterval=null}sendControlResponse(B){if(!this.ws||this.state!=="connected"){V(Error("[SessionsWebSocket] Cannot send: not connected"));return}J("[SessionsWebSocket] Sending control response"),this.ws.send(X(B))}sendControlRequest(B){if(!this.ws||this.state!=="connected"){V(Error("[SessionsWebSocket] Cannot send: not connected"));return}let z={type:"control_request",request_id:E(),request:B};J(`[SessionsWebSocket] Sending control request: ${B.subtype}`),this.ws.send(X(z))}isConnected(){return this.state==="connected"}close(){if(J("[SessionsWebSocket] Closing connection"),this.state="closed",this.stopPingInterval(),this.reconnectTimer)clearTimeout(this.reconnectTimer),this.reconnectTimer=null;if(this.ws)this.ws.close(),this.ws=null}reconnect(){J("[SessionsWebSocket] Force reconnecting"),this.reconnectAttempts=0,this.sessionNotFoundRetries=0,this.close(),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},500)}}function N(B){return B.type!=="control_request"&&B.type!=="control_response"&&B.type!=="control_cancel_request"}class b{config;callbacks;websocket=null;pendingPermissionRequests=new Map;constructor(B,z){this.config=B;this.callbacks=z}connect(){J(`[RemoteSessionManager] Connecting to session ${this.config.sessionId}`);let B={onMessage:(z)=>this.handleMessage(z),onConnected:()=>{J("[RemoteSessionManager] Connected"),this.callbacks.onConnected?.()},onClose:()=>{J("[RemoteSessionManager] Disconnected"),this.callbacks.onDisconnected?.()},onReconnecting:()=>{J("[RemoteSessionManager] Reconnecting"),this.callbacks.onReconnecting?.()},onError:(z)=>{V(z),this.callbacks.onError?.(z)}};this.websocket=new L(this.config.sessionId,this.config.orgUuid,this.config.getAccessToken,B),this.websocket.connect()}handleMessage(B){if(B.type==="control_request"){this.handleControlRequest(B);return}if(B.type==="control_cancel_request"){let{request_id:z}=B,Q=this.pendingPermissionRequests.get(z);J(`[RemoteSessionManager] Permission request cancelled: ${z}`),this.pendingPermissionRequests.delete(z),this.callbacks.onPermissionCancelled?.(z,Q?.tool_use_id);return}if(B.type==="control_response"){J("[RemoteSessionManager] Received control response");return}if(N(B))this.callbacks.onMessage(B)}handleControlRequest(B){let{request_id:z,request:Q}=B;if(Q.subtype==="can_use_tool")J(`[RemoteSessionManager] Permission request for tool: ${Q.tool_name}`),this.pendingPermissionRequests.set(z,Q),this.callbacks.onPermissionRequest(Q,z);else{J(`[RemoteSessionManager] Unsupported control request subtype: ${Q.subtype}`);let H={type:"control_response",response:{subtype:"error",request_id:z,error:`Unsupported control request subtype: ${Q.subtype}`}};this.websocket?.sendControlResponse(H)}}async sendMessage(B,z){J(`[RemoteSessionManager] Sending message to session ${this.config.sessionId}`);let Q=await A(this.config.sessionId,B,z);if(!Q)V(Error(`[RemoteSessionManager] Failed to send message to session ${this.config.sessionId}`));return Q}respondToPermissionRequest(B,z){if(!this.pendingPermissionRequests.get(B)){V(Error(`[RemoteSessionManager] No pending permission request with ID: ${B}`));return}this.pendingPermissionRequests.delete(B);let H={type:"control_response",response:{subtype:"success",request_id:B,response:{behavior:z.behavior,...z.behavior==="allow"?{updatedInput:z.updatedInput}:{message:z.message}}}};J(`[RemoteSessionManager] Sending permission response: ${z.behavior}`),this.websocket?.sendControlResponse(H)}isConnected(){return this.websocket?.isConnected()??!1}cancelSession(){J("[RemoteSessionManager] Sending interrupt signal"),this.websocket?.sendControlRequest({subtype:"interrupt"})}getSessionId(){return this.config.sessionId}disconnect(){J("[RemoteSessionManager] Disconnecting"),this.websocket?.close(),this.websocket=null,this.pendingPermissionRequests.clear()}reconnect(){J("[RemoteSessionManager] Reconnecting WebSocket"),this.websocket?.reconnect()}}function $z(B,z,Q,H=!1,$=!1){return{sessionId:B,getAccessToken:z,orgUuid:Q,hasInitialPrompt:H,viewerOnly:$}}x();U();d();u();function Xz(){let B=C();if(!B?.teamName||!B?.agentName){J("[Reconnection] computeInitialTeamContext: No teammate context set (not a teammate)");return}let{teamName:z,agentId:Q,agentName:H}=B,$=f(z);if(!$){V(Error(`[computeInitialTeamContext] Could not read team file for ${z}`));return}let Z=k(z),K=!Q;return J(`[Reconnection] Computed initial team context for ${K?"leader":`teammate ${H}`} in team ${z}`),{teamName:z,teamFilePath:Z,leadAgentId:$.leadAgentId,selfAgentId:Q,selfAgentName:H,isLeader:K,teammates:{}}}function Wz(B,z,Q){let H=f(z);if(!H){V(Error(`[initializeTeammateContextFromSession] Could not read team file for ${z} (agent: ${Q})`));return}let $=H.members.find((G)=>G.name===Q);if(!$)J(`[Reconnection] Member ${Q} not found in team ${z} - may have been removed`);let Z=$?.agentId,K=k(z);B((G)=>({...G,teamContext:{teamName:z,teamFilePath:K,leadAgentId:H.leadAgentId,selfAgentId:Z,selfAgentName:Q,isLeader:!1,teammates:{}}})),J(`[Reconnection] Initialized agent context from session for ${Q} in team ${z}`)}i();var m={"claude-3-opus":{modelName:"Claude 3 Opus",retirementDates:{firstParty:"January 5, 2026",bedrock:"January 15, 2026",vertex:"January 5, 2026",foundry:"January 5, 2026"}},"claude-3-7-sonnet":{modelName:"Claude 3.7 Sonnet",retirementDates:{firstParty:"February 19, 2026",bedrock:"April 28, 2026",vertex:"May 11, 2026",foundry:"February 19, 2026"}},"claude-3-5-haiku":{modelName:"Claude 3.5 Haiku",retirementDates:{firstParty:"February 19, 2026",bedrock:null,vertex:null,foundry:null}}};function l(B){let z=B.toLowerCase(),Q=q();for(let[H,$]of Object.entries(m)){let Z=$.retirementDates[Q];if(!z.includes(H)||!Z)continue;return{isDeprecated:!0,modelName:$.modelName,retirementDate:Z}}return{isDeprecated:!1}}function Lz(B){if(!B)return null;let z=l(B);if(!z.isDeprecated)return null;return`⚠ ${z.modelName} will be retired on ${z.retirementDate}. Consider switching to a newer model.`}
|
|
2
|
+
export{b as Aa,$z as Ba,Xz as Ca,Wz as Da,Lz as Ea};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{C1 as k,E1 as w}from"./cli-1.0.8-74y9exyb.mjs";import{D7 as j,X7 as v}from"./cli-1.0.8-sqbaxhfc.mjs";import{$ga as h,Qga as d,aha as s}from"./cli-1.0.8-a5h5dhvb.mjs";import{lka as q}from"./cli-1.0.8-swts6q29.mjs";import{xra as p}from"./cli-1.0.8-by017547.mjs";function m(){return y()||!!process.env.CLAUDE_BRIDGE_OAUTH_TOKEN}function x(){return m()}async function O(){return x()}async function P(){if(!m())return"Remote Control needs an Anthropic web login (a claude.ai OAuth token with the user:profile scope). Run `/provider` and sign in with your claude.ai account. Note: an inference API key alone is not enough — the bridge token is separate.";return null}function y(){try{return j()}catch{return!1}}function Q(){return d("tengu_bridge_repl_v2",!1)}function R(){return d("tengu_bridge_repl_v2_cse_shim_enabled",!0)}function U(){{let b=h("tengu_bridge_min_version",{minVersion:"0.0.0"});if(b.minVersion&&k("99.0.0",b.minVersion))return`Your version of Claudin (99.0.0) is too old for Remote Control.
|
|
2
|
+
Version ${b.minVersion} or higher is required. Run \`claudin update\` to update.`}return null}function W(){return!1}function X(){return!1}var z=p(()=>{s();v();q();w()});
|
|
3
|
+
export{x as cW,O as dW,P as eW,Q as fW,R as gW,U as hW,W as iW,X as jW,z as kW};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import{yc as Kc,zc as da}from"./cli-1.0.8-pemd6sje.mjs";import{Ac as An,Bc as Ht,Cc as Xt,Dc as Zc,Fc as ea}from"./cli-1.0.8-x4hcncpt.mjs";import{Gc as wt,Jc as ma}from"./cli-1.0.8-s6nsgb78.mjs";import{Ax as Jc,BH as Hn,CF as yt,CH as Au,Cx as ra,DF as Kn,EH as la,FH as oa,Ip as yc,Jp as Wu,Jw as Qc,Kp as Cc,Kw as Gc,Lp as bc,Lw as Vc,MF as V,Mp as wc,Mw as Yc,NF as gu,Np as Oc,Nw as ha,OF as ia,Op as D,Pp as mn,Qp as Uu,Rp as Lc,Tp as zc,Up as Nc,Wp as fc,bG as nc,cG as Gu,dG as cc,eG as uc,fG as ac,gG as Vu,lq as Mc,mq as aa}from"./cli-1.0.8-ykwgcdbt.mjs";import{FX as v,HX as ca,TX as Fc,UX as ua}from"./cli-1.0.8-apm2cwth.mjs";import{H0 as Ln,a0 as g,c0 as i}from"./cli-1.0.8-qss5sph3.mjs";import{K1 as Nn,L1 as Mn,M1 as Qn,N1 as Gn,O1 as Vn,P1 as su,S1 as Yn,W1 as Jn,X1 as $c,Y1 as Zn}from"./cli-1.0.8-0j3a18cb.mjs";import{n3 as dt,o3 as u,p3 as y,q3 as Qt}from"./cli-1.0.8-qzqze1a1.mjs";import{r3 as Vt}from"./cli-1.0.8-rna8rhza.mjs";import{O3 as lc,P3 as Hu}from"./cli-1.0.8-g8tpbbvt.mjs";import{d4 as $n,f4 as Ou}from"./cli-1.0.8-sqbaxhfc.mjs";import{$ea as ic,Bea as Rt,Cea as bn,Eea as wn,Iea as Fn,Nea as hn,Oea as xn,Pea as jn,Qea as Yt,Rea as rn,Sea as Dn,Tea as an,Uea as vn,Vea as tc,Wea as Qu,Xea as On,Yea as rc,Zea as sn,bfa as Sc,cfa as gn,lea as qc,mea as bt,nea as ta,oea as Tt,pea as nt,qfa as na,rea as W,sea as Kt,uea as ft,vea as Cn,wea as ct,xea as At,y9 as Ct,z9 as vu}from"./cli-1.0.8-ke76gxzw.mjs";import{dka as ut,lka as on}from"./cli-1.0.8-swts6q29.mjs";import{tra as Gt,ura as Du,xra as j}from"./cli-1.0.8-by017547.mjs";function zu(t,c=tn,a){let r=nt().find((m)=>m.provider==="openai"&&m.extras?.githubToken!==void 0);if(r)return At(r.id,{provider:"openai",name:r.name,baseUrl:a||r.baseUrl,model:r.model||c,apiKey:t,extras:{...r.extras,githubToken:t}}),Rt(r.id),{mode:"updated"};return ct({provider:"openai",name:"GitHub Copilot",baseUrl:a||Ru,model:c,apiKey:t,extras:{githubToken:t}},{makeActive:!0}),{mode:"created"}}function Tn({onDone:t,onBack:c,onChangeAPIKey:a}){let r=Yn()?.trim()?"already-authed":"menu",[m,e]=E.useState(r),[A,O]=E.useState(null),[X,w]=E.useState(""),[z,S]=E.useState(0),[L,Z]=E.useState(null),N=E.useCallback(async(Y,q=tn,tt,f)=>{let T=Jn(Y,tt,f?.enterpriseDomain);if(!T.success){O(T.warning??"Could not save token to secure storage."),e("error");return}zu(Y,q,f?.baseUrl),$n(),a?.(),t("GitHub Copilot onboard complete. Copilot token stored in secure storage and as the active /provider profile.",{display:"user"})},[a,t]),C=E.useCallback(async(Y)=>{e("device-busy"),O(null),Z(null);try{let q=await Mn({domain:Y});Z({user_code:q.user_code,verification_uri:q.verification_uri}),await Gn(q.verification_uri);let tt=await Qn(q.device_code,{initialInterval:q.interval,timeoutSeconds:q.expires_in,domain:Y}),f=await Vn(tt,{domain:Y});await N(f.token,tn,tt,{baseUrl:f.endpoints.api?.replace(/\/+$/,"")||void 0,enterpriseDomain:Y})}catch(q){O(q instanceof Error?q.message:String(q)),e("error")}},[N]);if(m==="already-authed")return y(g,{flexDirection:"column",gap:1,children:[u(i,{bold:!0,children:"GitHub Copilot"}),u(i,{children:"You are already signed in to GitHub Copilot."}),u(i,{dimColor:!0,children:'Choose "Sign in again" to refresh your token, or go back to the provider menu.'}),u(V,{options:[{label:"Sign in again",value:"sign-in-again"},{label:"Sign in with GitHub Enterprise",value:"enterprise"},{label:c?"Back to /provider menu":"Cancel",value:"back"}],onChange:(q)=>{if(q==="sign-in-again"){C();return}if(q==="enterprise"){e("enterprise-domain");return}if(c){c();return}t("GitHub onboard cancelled",{display:"system"})}})]});if(m==="enterprise-domain")return y(g,{flexDirection:"column",gap:1,children:[u(i,{bold:!0,children:"GitHub Enterprise sign-in"}),u(i,{dimColor:!0,children:"Enter your GitHub Enterprise domain (e.g. github.acme.com). Leave empty for github.com."}),y(g,{flexDirection:"row",gap:1,children:[u(i,{children:">"}),u(yt,{value:X,onChange:w,onSubmit:()=>{let q=Nn(X);if(!q){C();return}C(q)},onExit:()=>e(r),focus:!0,showCursor:!0,placeholder:"github.acme.com",columns:80,cursorOffset:z,onChangeCursorOffset:S})]}),u(i,{dimColor:!0,children:"Press Enter to continue. Press Esc to go back."})]});if(m==="error"&&A)return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"red",children:A}),u(V,{options:[{label:c?"Back to /provider menu":"Back to menu",value:"back"},{label:"Exit",value:"exit"}],onChange:(q)=>{if(q==="back"){if(c){c();return}e("menu"),O(null);return}t("GitHub onboard cancelled",{display:"system"})}})]});if(m==="device-busy")return y(g,{flexDirection:"column",gap:1,children:[u(i,{children:"GitHub Copilot sign-in"}),L?y(dt,{children:[y(i,{children:["Enter code ",u(i,{bold:!0,children:L.user_code})," at"," ",L.verification_uri]}),u(i,{dimColor:!0,children:"A browser window may have opened. Waiting for authorization..."})]}):u(i,{dimColor:!0,children:"Requesting device code from GitHub..."}),u(Hn,{})]});return y(g,{flexDirection:"column",gap:1,children:[u(i,{bold:!0,children:"GitHub Copilot setup"}),u(i,{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."}),u(V,{options:[{label:"Sign in with browser",value:"device"},{label:"Sign in with GitHub Enterprise",value:"enterprise"},{label:c?"Back to /provider menu":"Cancel",value:"cancel"}],onChange:(Y)=>{if(Y==="cancel"){if(c){c();return}t("GitHub onboard cancelled",{display:"system"});return}if(Y==="enterprise"){e("enterprise-domain");return}C()}})]})}var E,tn="github:copilot",Ru="https://api.githubcopilot.com";var Wn=j(()=>{gu();Au();Kn();Ln();su();Zn();Ou();Fn();Qt();E=Gt(Vt(),1)});function En(t){return[t.name,t.family??"",...t.families??[],t.parameterSize??"",t.quantizationLevel??""].join(" ").toLowerCase()}function zt(t,c){return c.some((a)=>t.includes(a))}function _u(t){return!zt(En(t),Un)}function qu(t){return t.find(_u)??null}function nn(t){let a=`${t.parameterSize??""} ${t.name}`.toLowerCase().match(/(\d+(?:\.\d+)?)\s*b\b/);if(a?.[1])return Number(a[1]);if(typeof t.sizeBytes==="number"&&t.sizeBytes>0)return Number((t.sizeBytes/1e9).toFixed(1));return null}function Su(t){return(t.quantizationLevel??t.name).toLowerCase()}function Fu(t,c,a){if(t===null)return a.push("unknown size"),0;if(c==="latency"){if(t<=4)return a.push("tiny model for low latency"),32;if(t<=8)return a.push("small model for fast responses"),26;if(t<=14)return a.push("mid-sized model with acceptable latency"),16;if(t<=24)return a.push("larger model may be slower"),8;return a.push("large model likely slower locally"),t<=40?0:-8}if(c==="coding"){if(t>=7&&t<=14)return a.push("strong coding size tier"),24;if(t>14&&t<=34)return a.push("large coding-capable size tier"),28;if(t>34)return a.push("very large model with higher quality potential"),18;return a.push("compact model may trade off coding depth"),12}if(t>=7&&t<=14)return a.push("great balanced size tier"),26;if(t>=3&&t<7)return a.push("compact balanced size tier"),18;if(t>14&&t<=24)return a.push("high quality balanced size tier"),20;if(t>24)return a.push("large model for quality-first usage"),10;return a.push("very small model for general usage"),8}function $u(t,c,a){let r=Su(t);if(r.includes("q4"))return a.push("efficient Q4 quantization"),c==="latency"?8:4;if(r.includes("q5"))return a.push("balanced Q5 quantization"),c==="latency"?6:5;if(r.includes("q8"))return a.push("higher quality Q8 quantization"),c==="latency"?2:5;return 0}function Lu(t,c,a){if(c.score!==t.score)return c.score-t.score;let r=nn(t)??Number.POSITIVE_INFINITY,m=nn(c)??Number.POSITIVE_INFINITY;if(a==="latency")return r-m;if(a==="coding")return m-r;let e=14;return Math.abs(r-e)-Math.abs(m-e)}function cn(t,c){return t.map((a)=>{let r=En(a),m=[],e=0;if(zt(r,Un))e-=40,m.push("not a chat-first model");if(zt(r,fu))e+=c==="coding"?24:c==="balanced"?10:4,m.push("coding-oriented model family");if(zt(r,Xu))e+=c==="latency"?4:c==="coding"?6:8,m.push("strong general-purpose model family");if(zt(r,ku))e+=c==="latency"?2:6,m.push("chat/instruct tuned");if(r.includes("vision")||r.includes("vl"))e-=2,m.push("vision model adds extra overhead");e+=Fu(nn(a),c,m),e+=$u(a,c,m);let A=m.slice(0,3).join(", ");return{...a,score:e,reasons:m,summary:A}}).sort((a,r)=>Lu(a,r,c))}function Pn(t,c){return qu(cn(t,c))}var fu,Xu,ku,Un;var Bn=j(()=>{fu=["coder","codellama","codegemma","codestral","devstral","starcoder","deepseek-coder","qwen2.5-coder","qwen-coder"],Xu=["llama","qwen","mistral","gemma","phi","deepseek"],ku=["instruct","chat","assistant"],Un=["embed","embedding","rerank","bge","whisper"]});function Mu(t){let c=t.toLowerCase();return Nu.some((a)=>c.includes(a))}function un(t){try{let c=new URL(t);if(c.username)c.username="redacted";if(c.password)c.password="redacted";for(let a of c.searchParams.keys())if(Mu(a))c.searchParams.set(a,"redacted");return c.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 Nu;var In=j(()=>{Nu=["api_key","apikey","key","token","access_token","refresh_token","signature","sig","secret","password","passwd","pwd","auth","authorization"]});function Yu(t){let c=`http://localhost:${t.port}/auth/callback`,a=new URL(`${hn}/oauth/authorize`);return a.searchParams.append("response_type","code"),a.searchParams.append("client_id",rn()),a.searchParams.append("redirect_uri",c),a.searchParams.append("scope",xn),a.searchParams.append("code_challenge",t.codeChallenge),a.searchParams.append("code_challenge_method","S256"),a.searchParams.append("id_token_add_organizations","true"),a.searchParams.append("codex_cli_simplified_flow","true"),a.searchParams.append("state",t.state),a.searchParams.append("originator",jn),a.toString()}function Ju(){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 Zu(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>${vn(t)}</p>
|
|
31
|
+
<p>You can close this window and try again in Claudin.</p>
|
|
32
|
+
</body>
|
|
33
|
+
</html>`}function pn(){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 Ku(t){let c=`http://localhost:${t.port}/auth/callback`,a=new URLSearchParams({grant_type:"authorization_code",code:t.authorizationCode,redirect_uri:c,client_id:rn(),code_verifier:t.codeVerifier}),r=await fetch(`${hn}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a,signal:t.signal?AbortSignal.any([t.signal,AbortSignal.timeout(15000)]):AbortSignal.timeout(15000)});if(!r.ok){let w=await r.text().catch(()=>"");throw Error(w.trim()?`Codex OAuth token exchange failed (${r.status}): ${w.trim()}`:`Codex OAuth token exchange failed with status ${r.status}.`)}let m=await r.json(),e=Yt(m.access_token),A=Yt(m.refresh_token);if(!e||!A)throw Error("Codex OAuth completed, but the token response was missing credentials.");let O=Yt(m.id_token);return{apiKey:O?await tc(O).catch(()=>{return}):void 0,accessToken:e,refreshToken:A,idToken:O,accountId:an(O)??an(e)}}class ln{authCodeListener=null;port=null;tokenExchangeAbortController=null;buildCancellationError(){return Error("Codex OAuth flow was cancelled.")}async startOAuthFlow(t){let c=cc(),a=Dn(),r=new nc("/auth/callback");this.authCodeListener=r,this.port=null;try{let m=await r.start(a);this.port=m;let e=ac(),A=await uc(c),O=Yu({port:m,codeChallenge:A,state:e});try{let X=await r.waitForAuthorization(e,async()=>{await t(O)}),w=new AbortController;this.tokenExchangeAbortController=w;let z;try{z=await Ku({authorizationCode:X,codeVerifier:c,port:m,signal:w.signal})}finally{if(this.tokenExchangeAbortController===w)this.tokenExchangeAbortController=null}if(this.authCodeListener!==r)throw this.buildCancellationError();return r.handleSuccessRedirect([],(S)=>{S.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),S.end(Ju())}),z}catch(X){let w=this.authCodeListener===r?X:this.buildCancellationError();if(r.hasPendingResponse()){let z=w instanceof Error&&w.message==="Codex OAuth flow was cancelled.";r.handleErrorRedirect((S)=>{S.writeHead(z?200:400,{"Content-Type":"text/html; charset=utf-8"}),S.end(z?pn():Zu(w instanceof Error?w.message:String(w)))})}throw w}finally{this.cleanup()}}catch(m){let e=m instanceof Error?m.message:String(m);if(e.includes("EADDRINUSE")||e.includes(String(a)))throw Error(`Codex OAuth needs localhost:${a} for its callback. Close any app already using that port and try again.`);throw m}}cleanup(){let t=this.buildCancellationError();if(this.tokenExchangeAbortController?.abort(t),this.tokenExchangeAbortController=null,this.authCodeListener?.hasPendingResponse())this.authCodeListener.handleErrorRedirect((c)=>{c.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),c.end(pn())});this.authCodeListener?.cancelPendingAuthorization(t),this.authCodeListener=null,this.port=null}}var hc=j(()=>{Gu();Vu();Qu()});function Tu(){return new ln}function oc(t){let{onAuthenticated:c}=t,a=t.deps?.createOAuthService??Tu,r=t.deps?.openBrowser??lc,m=t.deps?.saveCodexCredentials??rc,e=t.deps?.isBareMode??ut,[A,O]=Jt.useState({state:"starting"});return Jt.useEffect(()=>{if(e()){O({state:"error",message:"Codex OAuth is unavailable in --bare because secure storage is disabled."});return}let X=!1,w=a();return w.startOAuthFlow(async(z)=>{if(X)return;O({state:"waiting",authUrl:z,browserOpened:null});let S=await r(z);if(X)return;O({state:"waiting",authUrl:z,browserOpened:S})}).then(async(z)=>{if(X)return;await c(z,(L)=>{let Z=m({apiKey:z.apiKey,accessToken:z.accessToken,refreshToken:z.refreshToken,idToken:z.idToken,accountId:z.accountId,profileId:L?.profileId});if(!Z.success)throw Error(Z.warning??"Codex OAuth succeeded, but credentials could not be saved securely.")})}).catch((z)=>{if(X)return;O({state:"error",message:z instanceof Error?z.message:String(z)})}),()=>{X=!0,w.cleanup()}},[a,e,c,r,m]),A}var Jt;var mc=j(()=>{hc();Hu();ic();on();Jt=Gt(Vt(),1)});function Ac(){return{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":yc()}}function dc(t,c){let a=Number(t);return Number.isFinite(a)&&a>0?a*1000:c}function Iu(t,c){if(c?.aborted)return Promise.resolve();return new Promise((a)=>{let r=setTimeout(()=>{c?.removeEventListener("abort",m),a()},t),m=()=>{clearTimeout(r),a()};c?.addEventListener("abort",m,{once:!0})})}async function pu(t){let c=t?.fetchImpl??fetch,a=t?.signal?AbortSignal.any([t.signal,AbortSignal.timeout(15000)]):AbortSignal.timeout(15000),r=await c(bc,{method:"POST",headers:Ac(),body:new URLSearchParams({client_id:mn(),scope:Oc}).toString(),signal:a});if(!r.ok){let X=await r.text().catch(()=>"");throw Error(`xAI device code request failed (${r.status})${X?`: ${X.trim()}`:""}`)}let m=await r.json(),e=D(m.device_code),A=D(m.user_code),O=D(m.verification_uri);if(!e||!A||!O)throw Error("xAI device code response is missing device_code / user_code / verification_uri.");return{device_code:e,user_code:A,verification_uri:O,verification_uri_complete:D(m.verification_uri_complete),expires_in:typeof m.expires_in==="number"&&m.expires_in>0?m.expires_in:gc/1000,interval:typeof m.interval==="number"&&m.interval>0?m.interval:sc/1000}}async function xu(t,c){let a=c?.fetchImpl??fetch,r=c?.sleep??Iu,m=c?.now??(()=>Date.now()),e=dc(t.expires_in,gc),A=m()+e,O=Math.max(dc(t.interval,sc),Eu);while(m()<A){if(c?.signal?.aborted)throw Error("xAI device authorization was cancelled.");let X=await a(Cc,{method:"POST",headers:Ac(),body:new URLSearchParams({grant_type:wc,client_id:mn(),device_code:t.device_code}).toString(),signal:c?.signal});if(X.ok){let L=await X.json(),Z=D(L.access_token),N=D(L.refresh_token);if(!Z||!N)throw Error("xAI OAuth completed, but the token response was missing credentials.");let C=typeof L.expires_in==="number"&&Number.isFinite(L.expires_in)&&L.expires_in>0?L.expires_in:3600;return{accessToken:Z,refreshToken:N,idToken:D(L.id_token),expiresAt:m()+C*1000}}let w=await X.json().catch(()=>({})),z=Math.max(0,A-m());if(w.error==="authorization_pending"){await r(Math.min(O+ec,z),c?.signal);continue}if(w.error==="slow_down"){O=Math.min(O+Pu,Bu),await r(Math.min(O+ec,z),c?.signal);continue}if(w.error==="access_denied"||w.error==="authorization_denied")throw Error("xAI device authorization was denied.");if(w.error==="expired_token")throw Error("xAI device code expired - please re-run login.");let S=w.error_description??w.error??"";throw Error(`xAI device token exchange failed (${X.status})${S?`: ${S}`:""}`)}throw Error("xAI device authorization timed out.")}class en{abortController=null;async startDeviceFlow(t){let c=new AbortController;this.abortController=c;try{let a=await pu({signal:c.signal});return await t(a),await xu(a,{signal:c.signal})}finally{if(this.abortController===c)this.abortController=null}}cleanup(){this.abortController?.abort(Error("xAI device authorization was cancelled.")),this.abortController=null}}var sc=5000,Eu=1000,Pu=5000,Bu=60000,gc=300000,ec=3000;var Rc=j(()=>{Wu();Uu()});function ju(){return new en}function Xc(t){let{onAuthenticated:c}=t,a=t.deps?.createOAuthService??ju,r=t.deps?.saveXaiCredentials??zc,m=t.deps?.isBareMode??ut,[e,A]=Zt.useState({state:"starting"});return Zt.useEffect(()=>{if(m()){A({state:"error",message:"xAI OAuth is unavailable in --bare because secure storage is disabled."});return}let O=!1,X=a();return X.startDeviceFlow(async(w)=>{if(O)return;A({state:"waiting",userCode:w.user_code,verificationUri:w.verification_uri,verificationUriComplete:w.verification_uri_complete})}).then(async(w)=>{if(O)return;await c(w,(S)=>{let L=r({accessToken:w.accessToken,refreshToken:w.refreshToken,idToken:w.idToken,expiresAt:w.expiresAt,profileId:S?.profileId});if(!L.success)throw Error(L.warning??"xAI OAuth succeeded, but credentials could not be saved securely.")})}).catch((w)=>{if(O)return;A({state:"error",message:w instanceof Error?w.message:String(w)})}),()=>{O=!0,X.cleanup()}},[a,m,c,r]),e}var Zt;var kc=j(()=>{Rc();on();fc();Zt=Gt(Vt(),1)});function sa(t){return{name:t.name,baseUrl:t.baseUrl,model:t.model,apiKey:t.apiKey??""}}function ga(t){let c=Tt(t);return{name:c.name,baseUrl:c.baseUrl,model:c.model,apiKey:c.apiKey??""}}function Aa(t){let c={};for(let a of t.split(/\r?\n/)){let r=a.trim();if(!r)continue;let m=r.indexOf(":");if(m<=0)continue;let e=r.slice(0,m).trim(),A=r.slice(m+1).trim();if(e&&A)c[e]=A}return c}function Ra(t){if(!t)return"";return Object.entries(t).map(([c,a])=>`${c}: ${a}`).join(`
|
|
49
|
+
`)}function za(t,c){let a={},r=t.awsRegion?.trim();if(r)a.awsRegion=r;let m=t.gcpProject?.trim();if(m)a.gcpProject=m;let e=t.gcpRegion?.trim();if(e)a.gcpRegion=e;let A=t.azureResource?.trim();if(A)a.azureResource=A;let O=Aa(c);if(Object.keys(O).length>0)a.customHeaders=O;return Object.keys(a).length>0?a:void 0}function Xa(t,c){let a=c?" (active)":"",r=t.apiKey?"key set":"no key",m=t.provider==="anthropic"?"anthropic":"openai-compatible",e=qc(t.model),A=e.length<=3?e.join(", "):`${e[0]}, ${e[1]} + ${e.length-2} more`;return`${m} · ${t.baseUrl} · ${A} · ${r}${a}`}function ka(t,c){if(t.state==="unreachable")return`Could not reach Atomic Chat at ${un(c)}. 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 _a(t,c){if(t.state==="unreachable")return`Could not reach Ollama at ${un(c)}. 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 a=t.probeModel??"the selected model",r=t.detail?` Details: ${t.detail}.`:"";return`Ollama is reachable and models are installed, but a generation probe failed for ${a}.${r} Run "ollama run ${a}" once and retry, or enter details manually.`}return""}function yn(t,c){if(!c)return;return t.find((a)=>a.id===c)}function _c(t,c){return Boolean(t&&c&&t.id===c)}function qa({onBack:t,onConfigured:c}){let a=b.useCallback(async(m,e)=>{await c(m,e)},[c]);v("confirm:no",t,[t]);let r=oc({onAuthenticated:a});if(r.state==="error")return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"error",bold:!0,children:"Codex OAuth failed"}),u(i,{children:r.message}),u(i,{dimColor:!0,children:"Press Enter or Esc to go back."}),u(V,{options:[{value:"back",label:"Back",description:"Return to provider presets"}],onChange:t,onCancel:t,visibleOptionCount:1})]});return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Codex OAuth"}),u(i,{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."}),r.state==="starting"?u(i,{dimColor:!0,children:"Starting local callback and preparing your browser..."}):r.browserOpened===!1?y(dt,{children:[u(i,{color:"warning",children:"Browser did not open automatically. Visit this URL to continue:"}),u(i,{children:r.authUrl})]}):r.browserOpened===!0?y(dt,{children:[u(i,{dimColor:!0,children:"Browser opened. Finish the ChatGPT sign-in there and this setup will complete automatically."}),u(i,{children:r.authUrl})]}):u(i,{dimColor:!0,children:"Opening your browser..."}),u(i,{dimColor:!0,children:"Press Esc to cancel and go back."})]})}function Sa({onBack:t,onConfigured:c}){let a=b.useCallback(async(m,e)=>{await c(m,e)},[c]);v("confirm:no",t,[t]);let r=Xc({onAuthenticated:a});if(r.state==="error")return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"error",bold:!0,children:"xAI OAuth failed"}),u(i,{children:r.message}),u(i,{dimColor:!0,children:"Press Enter or Esc to go back."}),u(V,{options:[{value:"back",label:"Back",description:"Return to provider presets"}],onChange:t,onCancel:t,visibleOptionCount:1})]});return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"xAI / Grok OAuth"}),r.state==="starting"?u(i,{dimColor:!0,children:"Requesting a device code from xAI..."}):y(dt,{children:[y(i,{children:["Open this URL on any device:"," ",u(i,{bold:!0,children:r.verificationUri})]}),y(i,{children:["Enter code ",u(i,{bold:!0,children:r.userCode})]}),r.verificationUriComplete&&r.verificationUriComplete!==r.verificationUri?y(i,{dimColor:!0,children:["Or open this prefilled URL: ",r.verificationUriComplete]}):null,u(i,{dimColor:!0,children:"Waiting for you to authorize in the browser..."})]}),u(i,{dimColor:!0,children:"Press Esc to cancel and go back."})]})}function Sh({mode:t,onDone:c}){let a=Jc(),[r,m]=b.useState([]),[e,A]=b.useState(),[O,X]=b.useState(),[w,z]=b.useState(!1),[S,L]=b.useState(),Z=b.useRef(0),[N,C]=b.useState(t==="first-run"?"select-preset":"menu"),[ht,Y]=b.useState(null),[q,tt]=b.useState("openai"),[f,T]=b.useState(()=>ga("ollama")),[Wt,kt]=b.useState({}),[Rn,Ut]=b.useState(""),[Hc,Tc]=b.useState(0),[Wc,Uc]=b.useState(0),[Et,zn]=b.useState(null),[rt,Ot]=b.useState(0),[it,P]=b.useState(0),[Ec,B]=b.useState(0),[fn,M]=b.useState(),[lt,R]=b.useState(),[Pc,Bc]=b.useState(),[Xn,_t]=b.useState(!1),[st,gt]=b.useState(),[I,qt]=b.useState({state:"idle"}),[p,St]=b.useState({state:"idle"}),[x,Pt]=b.useState({state:"idle"}),[Ic,pc]=b.useState(!0),[xc,H]=b.useState(!1),Bt=b.useRef(!1),[It,pt]=b.useState(()=>Xt()),[kn,jc]=b.useState(()=>Zc());b.useEffect(()=>{queueMicrotask(()=>{let n=nt(),h=W()?.id;m(n),A(h),X(Kt()),L(Cn()),z(ft()),pc(!1)})},[]);let ot=at[it]??at[0],Ft=ot.key,Dc=f[Ft],xt=r.length>0,$t=xt,_n=b.useMemo(()=>[{value:"add",label:"Add provider",description:"Create a new provider profile"},...It?[{value:"import-legacy",label:"Import from Claude Code",description:"Copy ~/.claude/ tokens, settings, skills, agents, plugins."}]:[],{value:"activate",label:"Set active provider (Global)",description:S?`Currently: ${r.find((n)=>n.id===S)?.name??"unknown"}`:"Default profile for projects without an override",disabled:!$t},{value:"activate-project",label:"Set active provider (Project)",description:O?`Currently: ${r.find((n)=>n.id===O)?.name??"unknown"} (this project)`:"Override the global default for this project only",disabled:!$t},...w?[{value:"clear-project-override",label:"Clear project provider override",description:O?"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:!xt},{value:"delete",label:"Delete provider",description:"Remove a provider profile",disabled:!$t},...Xn?[{value:"logout-codex-oauth",label:"Log out Codex OAuth",description:"Clear securely stored Codex OAuth credentials"}]:[],{value:"done",label:"Done",description:"Return to chat"}],[$t,xt,Xn,It,S,O,r]),jt=b.useCallback(()=>{if(ut()){Z.current+=1,_t(!1),gt(void 0);return}let n=++Z.current;(async()=>{let h=await On();if(n!==Z.current)return;_t(Boolean(h?.apiKey||h?.accessToken||h?.refreshToken||h?.idToken)),gt(h?.profileId)})()},[]);b.useEffect(()=>{return jt(),()=>{Z.current+=1}},[jt]),b.useEffect(()=>{if(N!=="select-ollama-model")return;let n=!1;return qt({state:"loading"}),(async()=>{let h=await Yc({baseUrl:f.baseUrl});if(h.state!=="ready"){if(!n)qt({state:"unavailable",message:_a(h,f.baseUrl)});return}let o=cn(h.models,"balanced"),l=Pn(h.models,"balanced");if(!n)qt({state:"ready",defaultValue:l?.name??o[0]?.name,options:o.map((d)=>({label:d.name,value:d.name,description:d.summary}))})})(),()=>{n=!0}},[f.baseUrl,N]),b.useEffect(()=>{if(N!=="select-atomic-chat-model")return;let n=!1;return St({state:"loading"}),(async()=>{let h=await Vc({baseUrl:f.baseUrl});if(h.state!=="ready"){if(!n)St({state:"unavailable",message:ka(h,f.baseUrl)});return}if(!n)St({state:"ready",defaultValue:h.models[0],options:h.models.map((o)=>({label:o,value:o}))})})(),()=>{n=!0}},[f.baseUrl,N]),b.useEffect(()=>{if(N!=="select-openai-model")return;let n=!1;return Pt({state:"loading"}),(async()=>{let h=await Qc({baseUrl:f.baseUrl,apiKey:f.apiKey||void 0});if(n)return;if(!h||h.length===0){Pt({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:o,defaultValue:l}=Gc(h,f.model);Pt({state:"ready",options:o,defaultValue:l})})(),()=>{n=!0}},[f.baseUrl,f.apiKey,N]);function Q(){if(Bt.current)return;Bt.current=!0,queueMicrotask(()=>{let n=nt();m(n),A(W()?.id),X(Kt()),L(Cn()),z(ft()),jt(),Bt.current=!1})}function mt(){return null}function Dt(n){if(n.activationWarning)return`${n.prefix}. Saved for next startup. Warning: ${n.warnings.join("; ")}.`;if(n.warnings.length>0)return`${n.prefix}. Claudin switched to it for this session with warnings: ${n.warnings.join("; ")}.`;return`${n.prefix}. Claudin switched to it for this session.`}async function vt(n){if(n?.accessToken&&n.accountId)return null;let h=await On();if(!h)return"stored Codex OAuth credentials could not be loaded";if(!h.accountId)return"stored Codex OAuth credentials are missing a ChatGPT account id";return null}function qn(){Mc()}async function vc(n){let h="provider";H(!0),M("Activating provider...");try{await new Promise((U)=>queueMicrotask(U));let o=ft(),l=Rt(n);if(!l){R("Could not change active provider."),H(!1),k();return}let d=o?W()??l:l,s=bt(d.model);if(!o)a((U)=>({...U,mainLoopModel:s,mainLoopModelForSession:null}));h=l.name;let _=mt(),J=_c(l,st),$=J?await vt():null;Q();let K=o&&d.id!==l.id?` (project override still active — this project keeps using ${d.name}; use "Clear project provider override" to apply the new default here)`:"",F=J?Dt({prefix:`Active provider: ${l.name}${K}`,activationWarning:$,warnings:[$,_?`could not clear startup provider override (${_})`:null].filter((U)=>Boolean(U))}):_?`Active provider: ${l.name}${K}. Warning: could not clear startup provider override (${_}).`:`Active provider: ${l.name}${K}`;M(F),H(!1),c({action:"activated",activeProfileId:l.id,activeProviderName:l.name,activeProviderModel:s,message:`Provider switched to ${l.name} (${s})`}),k()}catch(o){Q(),M(void 0),H(!1);let l=o instanceof Error?o.message:String(o);R(`Could not finish activating ${h}: ${l}`),k()}}async function tu(){H(!0),M("Clearing project provider override...");try{await new Promise((h)=>queueMicrotask(h)),bn(null),Q();let n=W();if(n){let h=bt(n.model);wt(),a((o)=>({...o,mainLoopModel:h,mainLoopModelForSession:null})),M(`Project override cleared. Using global default: ${n.name}.`),H(!1),c({action:"activated",activeProfileId:n.id,activeProviderName:n.name,activeProviderModel:h,message:`Project override cleared — using ${n.name} (${h})`}),k()}else M("Project provider override cleared. No global default set."),H(!1),c({action:"saved",message:"Project provider override cleared. No global default set."}),k()}catch(n){Q(),M(void 0),H(!1);let h=n instanceof Error?n.message:String(n);R(`Could not clear project provider override: ${h}`),k()}}async function nu(n){let h="provider";H(!0),M("Setting provider for this project...");try{await new Promise((F)=>queueMicrotask(F));let o=Kt(),l=bn(n);if(!l){R("Could not set project provider override."),H(!1),k();return}let d=bt(l.model);if(o===l.id)wt();a((F)=>({...F,mainLoopModel:d,mainLoopModelForSession:null})),h=l.name;let s=mt(),_=_c(l,st),J=_?await vt():null;Q();let $=`Active provider for this project: ${l.name}. Other projects keep the global default.`,K=_?Dt({prefix:$,activationWarning:J,warnings:[J,s?`could not clear startup provider override (${s})`:null].filter((F)=>Boolean(F))}):s?`${$} Warning: could not clear startup provider override (${s}).`:$;M(K),H(!1),c({action:"activated",activeProfileId:l.id,activeProviderName:l.name,activeProviderModel:d,message:`Provider switched to ${l.name} (${d}) for this project`}),k()}catch(o){Q(),M(void 0),H(!1);let l=o instanceof Error?o.message:String(o);R(`Could not finish setting ${h} for this project: ${l}`),k()}}function k(){Bc("done"),C("menu")}function Lt(n){c({action:"cancelled",message:n})}function cu(n){let h=Tt(n),o={name:h.name,baseUrl:h.baseUrl,model:h.model,apiKey:h.apiKey??""};if(Y(null),tt(h.provider??"openai"),T(o),kt({}),Ut(""),zn(n),P(0),Ot(0),B(o.name.length),R(void 0),n==="ollama"){qt({state:"loading"}),C("select-ollama-model");return}if(n==="atomic-chat"){St({state:"loading"}),C("select-atomic-chat-model");return}if(n==="anthropic"){C("anthropic-auth-choice");return}if(n==="bedrock"||n==="vertex"||n==="foundry"){C("cloud-extras");return}C("form")}function uu(n){let h=r.find((l)=>l.id===n);if(!h)return;let o=sa(h);Y(n),tt(h.provider??"openai"),T(o),kt({awsRegion:h.extras?.awsRegion,gcpProject:h.extras?.gcpProject,gcpRegion:h.extras?.gcpRegion,azureResource:h.extras?.azureResource}),Ut(Ra(h.extras?.customHeaders)),zn(null),P(0),Ot(0),B(o.name.length),R(void 0),C("form")}function Nt(n=f){let h=za(Wt,Rn),o={provider:q,name:n.name,baseUrl:n.baseUrl,model:n.model,apiKey:n.apiKey,extras:h},l=ht?At(ht,o):ct(o,{makeActive:!0});if(!l){R("Could not save provider. Fill all required fields.");return}let d=W()?.id===l.id;if(d)wt(),a((K)=>({...K,mainLoopModel:bt(l.model),mainLoopModelForSession:null}));let s=d?mt():null;Q();let _=!ht&&ft()&&!d,J=_?W()?.name??"override target":null,$=ht?`Updated provider: ${l.name}`:_?`Added provider: ${l.name} (now global default — project keeps using ${J}; use "Clear project provider override" to apply here)`:`Added provider: ${l.name} (now active)`;if(M(s?`${$}. Warning: could not clear startup provider override (${s}).`:$),t==="first-run"){c({action:"saved",activeProfileId:l.id,message:`Provider configured: ${l.name}`});return}Y(null),P(0),R(void 0),k()}function au(){if(p.state==="loading"||p.state==="idle")return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Checking Atomic Chat"}),u(i,{dimColor:!0,children:"Looking for loaded Atomic Chat models..."})]});if(p.state==="unavailable")return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Atomic Chat setup"}),u(i,{dimColor:!0,children:p.message}),u(V,{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:(n)=>{if(n==="manual"){P(0),B(f.name.length),C("form");return}C("select-preset")},onCancel:()=>C("select-preset"),visibleOptionCount:2})]});return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Choose an Atomic Chat model"}),u(i,{dimColor:!0,children:"Pick one of the models loaded in Atomic Chat to save into a local provider profile."}),u(V,{options:p.options,defaultValue:p.defaultValue,defaultFocusValue:p.defaultValue,inlineDescriptions:!0,visibleOptionCount:Math.min(8,p.options.length),onChange:(n)=>{let h={...f,model:n};T(h),Nt(h)},onCancel:()=>C("select-preset")})]})}function hu(){if(I.state==="loading"||I.state==="idle")return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Checking Ollama"}),u(i,{dimColor:!0,children:"Looking for installed Ollama models..."})]});if(I.state==="unavailable")return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Ollama setup"}),u(i,{dimColor:!0,children:I.message}),u(V,{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:(n)=>{if(n==="manual"){P(0),B(f.name.length),C("form");return}C("select-preset")},onCancel:()=>C("select-preset"),visibleOptionCount:2})]});return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Choose an Ollama model"}),u(i,{dimColor:!0,children:"Pick one of the installed Ollama models to save into a local provider profile."}),u(V,{options:I.options,defaultValue:I.defaultValue,defaultFocusValue:I.defaultValue,inlineDescriptions:!0,visibleOptionCount:Math.min(8,I.options.length),onChange:(n)=>{let h={...f,model:n};T(h),Nt(h)},onCancel:()=>C("select-preset")})]})}function et(n){let h=at.findIndex((o)=>o.key===n);P(h<0?0:h),B(f[n].length),R(void 0),C("form")}function ru(){if(x.state==="loading"||x.state==="idle")return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Fetching models"}),u(i,{dimColor:!0,children:"Looking for models on your OpenAI-compatible provider…"}),u(i,{dimColor:!0,children:"Press Esc to enter the model manually."})]});if(x.state==="unavailable")return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Choose a model"}),u(i,{dimColor:!0,children:x.message}),u(V,{options:[{value:"manual",label:"Enter manually",description:"Type the model id yourself"},{value:"back",label:"Back",description:"Return to the API key step"}],onChange:(o)=>{if(o==="manual"){et("model");return}et("apiKey")},onCancel:()=>et("apiKey"),visibleOptionCount:2})]});let n=[...x.options,{value:dn,label:"Enter a model id manually",description:"Type an id the provider did not list"}],h=x.defaultValue??dn;return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Choose a model"}),u(i,{dimColor:!0,children:"Models from your OpenAI-compatible provider."}),u(V,{options:n,defaultValue:h,defaultFocusValue:h,inlineDescriptions:!0,visibleOptionCount:Math.min(8,n.length),onChange:(o)=>{if(o===dn){et("model");return}let l={...f,model:o};T(l),Sn(l)},onCancel:()=>et("apiKey")}),u(i,{dimColor:!0,children:"Enter to select · Esc to go back"})]})}function Sn(n){if(Et==="anthropic"||Et==="custom"){T(n),C("custom-headers");return}Nt(n)}function iu(n){let h=n.trim();if(!ot.optional&&h.length===0){R(`${ot.label} is required.`);return}let o={...f,[Ft]:h};if(T(o),R(void 0),it<at.length-1){let l=it+1,d=at[l]?.key??"name";if(d==="model"&&!ya.has(q)&&o.baseUrl.trim().length>0){C("select-openai-model");return}P(l),B(o[d].length);return}Sn(o)}function lu(){if(R(void 0),it>0){let n=it-1,h=at[n]?.key??"name";P(n),B(f[h].length);return}if(t==="first-run"){C("select-preset");return}k()}v("confirm:no",lu,{context:"Settings",isActive:N==="form"}),v("confirm:no",()=>et("model"),{context:"Settings",isActive:N==="select-openai-model"&&(x.state==="loading"||x.state==="idle")});function ou(){if(R(void 0),rt>0){Ot(rt-1);return}C("select-preset")}v("confirm:no",ou,{context:"Settings",isActive:N==="cloud-extras"}),v("confirm:no",()=>C("form"),{context:"Settings",isActive:N==="custom-headers"}),v("confirm:no",()=>C("select-preset"),{context:"Settings",isActive:N==="anthropic-auth-choice"||N==="anthropic-oauth"});function mu(){let n=!ut(),h=[...It?[{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"},...n?[{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 - API",description:"Moonshot AI - API endpoint"},{value:"kimi-code",label:"Moonshot AI - Kimi Code",description:"Moonshot AI - Kimi Code Subscription endpoint"},{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 y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:t==="first-run"?"Set up provider":"Choose provider preset"}),u(i,{dimColor:!0,children:"Pick a preset, then confirm base URL, model, and API key."}),u(V,{options:h,onChange:(o)=>{if(o==="skip"){Lt("Provider setup skipped");return}if(o==="codex-oauth"){C("codex-oauth");return}if(o==="xai-oauth"){C("xai-oauth");return}if(o==="github-onboard"){C("github-onboard");return}if(o==="import-legacy"){(async()=>{let l=await An({force:!0});pt(Xt()),Q();let d=Ht(l);if(l.errors.length>0){R(d);return}let s=W();if(t==="first-run"&&s){c({action:"saved",activeProfileId:s.id,activeProviderName:s.name,activeProviderModel:s.model,message:d});return}if(M(d),R(void 0),t==="manage")k()})();return}cu(o)},onCancel:()=>{if(t==="first-run"){Lt("Provider setup skipped");return}k()},visibleOptionCount:Math.min(13,h.length)})]})}function eu(){return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Anthropic — choose authentication"}),u(i,{dimColor:!0,children:"Sign in with your Anthropic account in the browser, or paste an API key."}),u(V,{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:(n)=>{if(n==="oauth"){C("anthropic-oauth");return}if(n==="apiKey"){C("form");return}C("select-preset")},onCancel:()=>C("select-preset"),visibleOptionCount:3})]})}function du(){let n=(oa(),Du(la)).ConsoleOAuthFlow;return u(g,{flexDirection:"column",gap:1,children:u(n,{mode:"login",onDone:()=>{let h=Tt("anthropic"),o={provider:"anthropic",name:h.name,baseUrl:h.baseUrl,model:h.model},l=ct(o,{makeActive:!0});if(!l){R("OAuth completed, but the Anthropic profile could not be saved."),C("select-preset");return}let d=`Anthropic OAuth configured: ${l.name}`;if(Q(),t==="first-run"){c({action:"saved",activeProfileId:l.id,message:d});return}M(d),R(void 0),k()}})})}function yu(){let n=Et;if(n!=="bedrock"&&n!=="vertex"&&n!=="foundry")return null;let h=fa[n],o=h[rt]??h[0],l=Wt[o.key]??"";function d(s){let _=s.trim();if(_.length===0){R(`${o.label} is required.`);return}let J={...Wt,[o.key]:_};if(kt(J),R(void 0),rt<h.length-1){Ot(rt+1);return}Ot(0),C("form")}return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:`${n==="bedrock"?"AWS Bedrock":n==="vertex"?"Google Vertex AI":"Azure AI Foundry"} setup`}),u(i,{dimColor:!0,children:o.helpText}),y(i,{dimColor:!0,children:["Step ",rt+1," of ",h.length,": ",o.label]}),y(g,{flexDirection:"row",gap:1,children:[u(i,{children:Ct.pointer}),u(yt,{value:l,onChange:(s)=>kt((_)=>({..._,[o.key]:s})),onSubmit:d,focus:!0,showCursor:!0,placeholder:`${o.placeholder}${Ct.ellipsis}`,columns:80,cursorOffset:Hc,onChangeCursorOffset:Tc})]}),lt&&u(i,{color:"error",children:lt}),u(i,{dimColor:!0,children:"Press Enter to continue. Press Esc to go back."})]})}function Cu(){return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Custom headers (optional)"}),y(i,{dimColor:!0,children:["Add HTTP headers sent on every request. One header per line as"," ",u(i,{children:"Header: Value"}),". Leave empty to skip."]}),y(g,{flexDirection:"row",gap:1,children:[u(i,{children:Ct.pointer}),u(yt,{value:Rn,onChange:Ut,onSubmit:()=>Nt(f),focus:!0,showCursor:!0,placeholder:"X-Header: value",columns:80,multiline:!0,cursorOffset:Wc,onChangeCursorOffset:Uc})]}),lt&&u(i,{color:"error",children:lt}),u(i,{dimColor:!0,children:"Press Enter on a blank line to save. Press Esc to go back."})]})}function bu(){return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:ht?"Edit provider profile":"Create provider profile"}),u(i,{dimColor:!0,children:ot.helpText}),y(i,{dimColor:!0,children:["Provider type:"," ",q==="anthropic"?"Anthropic native API":"OpenAI-compatible API"]}),y(i,{dimColor:!0,children:["Step ",it+1," of ",at.length,": ",ot.label]}),y(g,{flexDirection:"row",gap:1,children:[u(i,{children:Ct.pointer}),u(yt,{value:Dc,onChange:(n)=>T((h)=>({...h,[Ft]:n})),onSubmit:iu,focus:!0,showCursor:!0,placeholder:`${ot.placeholder}${Ct.ellipsis}`,mask:Ft==="apiKey"?"*":void 0,columns:80,cursorOffset:Ec,onChangeCursorOffset:B})]}),lt&&u(i,{color:"error",children:lt}),u(i,{dimColor:!0,children:"Press Enter to continue. Press Esc to go back."})]})}function wu(){let n=r.length>0,h=n;return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Provider manager"}),u(i,{dimColor:!0,children:"Active profile controls base URL, model, and API key used by this session."}),fn&&u(i,{children:fn}),u(g,{flexDirection:"column",children:r.length===0?u(i,{dimColor:!0,children:"No provider profiles configured yet."}):r.map((o)=>y(i,{dimColor:!0,children:["- ",o.name,": ",Xa(o,o.id===e)]},o.id))}),u(V,{options:_n,onChange:(o)=>{switch(R(void 0),o){case"add":C("select-preset");break;case"import-legacy":{(async()=>{let l=await An({force:!0});if(pt(Xt()),Q(),l.errors.length>0)R(Ht(l));else M(Ht(l))})();break}case"activate":if(h)C("select-active");break;case"activate-project":if(h)C("select-active-project");break;case"clear-project-override":tu();break;case"edit":if(n)C("select-edit");break;case"delete":if(h)C("select-delete");break;case"logout-codex-oauth":{let l=sn();if(!l.success){R(l.warning??"Could not clear Codex OAuth credentials.");break}_t(!1),gt(void 0);let d=yn(nt(),st),s=null;if(d){let _=wn(d.id);if(!_.removed){R("Codex OAuth credentials were cleared, but the Codex profile could not be removed."),Q();break}qn(),s=_.activeProfileId?mt():null}Q(),M(s?`Codex OAuth logged out. Warning: could not clear startup provider override (${s}).`:"Codex OAuth logged out.");break}default:Lt("Provider manager closed");break}},onCancel:()=>Lt("Provider manager closed"),defaultFocusValue:Pc,visibleOptionCount:_n.length})]})}function Mt(n,h,o){let l=r.map((d)=>{let s=[];if(d.id===e)s.push("active");if(O&&d.id===O)s.push("this project");if(S&&d.id===S)s.push("global default");let _=s.length>0?` (${s.join(", ")})`:"";return{value:d.id,label:`${d.name}${_}`,description:`${d.provider==="anthropic"?"anthropic":"openai-compatible"} · ${d.baseUrl} · ${d.model}`}});if(l.length===0)return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:n}),u(i,{dimColor:!0,children:h}),u(V,{options:[{value:"back",label:"Back",description:"Return to provider manager"}],onChange:()=>k(),onCancel:()=>k(),visibleOptionCount:1})]});return y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:n}),u(V,{options:l,onChange:o,onCancel:()=>k(),visibleOptionCount:Math.min(10,Math.max(2,l.length))})]})}let G;switch(N){case"select-preset":G=mu();break;case"select-ollama-model":G=hu();break;case"select-openai-model":G=ru();break;case"select-atomic-chat-model":G=au();break;case"codex-oauth":G=u(qa,{onBack:()=>C("select-preset"),onConfigured:async(n,h)=>{let o={provider:"openai",name:Ca,baseUrl:Sc,model:ba,apiKey:""},l=yn(nt(),st),d=l?At(l.id,o):ct(o,{makeActive:!0});if(!d){R("Codex OAuth login finished, but the provider profile could not be saved."),k();return}let s=l&&e!==d.id?Rt(d.id):d;if(!s){R("Codex OAuth login finished, but the provider could not be set as the startup provider."),k();return}h({profileId:d.id});let _=mt(),J=await vt(n);_t(!0),gt(d.id),Q();let $=[J,_?`could not clear startup provider override (${_})`:null].filter((F)=>Boolean(F)),K=Dt({prefix:"Codex OAuth configured",activationWarning:J,warnings:$});if(t==="first-run"){c({action:"saved",activeProfileId:s.id,message:K});return}M(K),R(void 0),k()}});break;case"xai-oauth":G=u(Sa,{onBack:()=>C("select-preset"),onConfigured:async(n,h)=>{let l=ct({provider:"openai",name:wa,baseUrl:gn,model:Oa,apiKey:""},{makeActive:!0});if(!l){R("xAI OAuth login finished, but the provider profile could not be saved."),k();return}try{h({profileId:l.id})}catch(s){R(s instanceof Error?s.message:String(s)),k();return}Q();let d="xAI / Grok configured. Claudin switched to it for this session.";if(t==="first-run"){c({action:"saved",activeProfileId:l.id,message:d});return}M(d),R(void 0),k()}});break;case"github-onboard":G=u(Tn,{onDone:(n)=>{if(n)M(n),R(void 0);Q(),k()},onBack:()=>C("select-preset"),onChangeAPIKey:Q});break;case"anthropic-auth-choice":G=eu();break;case"anthropic-oauth":G=du();break;case"cloud-extras":G=yu();break;case"custom-headers":G=Cu();break;case"form":G=bu();break;case"select-active":G=Mt("Set active provider (Global)","No providers available. Add one first.",(n)=>{vc(n)});break;case"select-active-project":G=Mt("Set active provider (Project)","No providers available. Add one first.",(n)=>{nu(n)});break;case"select-edit":G=Mt("Edit provider","No providers available. Add one first.",(n)=>{uu(n)});break;case"select-delete":G=Mt("Delete provider","No providers available. Add one first.",(n)=>{let h=r.find(($)=>$.id===n),o=h?.provider==="openai"&&h?.extras?.githubToken!==void 0,l=yn(r,st)?.id===n,d=Lc()?.profileId,s=h?.provider==="openai"&&h.baseUrl===gn&&!h.apiKey&&d===n,_=W()?.id===n,J=wn(n);if(!J.removed)R("Could not delete provider.");else{let $=[];if(l){let F=sn();if(!F.success)$.push(F.warning??"could not clear Codex OAuth credentials");else gt(void 0);qn()}if(o){let F=$c();if(!F.success)$.push(F.warning??"could not clear GitHub Copilot token")}if(s){let F=Nc();if(!F.success)$.push(F.warning??"could not clear xAI OAuth credentials")}let K=J.activeProfileId?mt():null;if(K)$.push(`could not clear startup provider override (${K})`);if(Q(),_){let F=W();if(F)wt(),a((U)=>({...U,mainLoopModel:bt(F.model),mainLoopModelForSession:null}));else wt(),a((U)=>({...U,mainLoopModel:null,mainLoopModelForSession:null}))}M($.length>0?`Provider deleted. Warning: ${$.join("; ")}.`:"Provider deleted")}k()});break;case"menu":default:G=wu();break}return y(Fc,{color:"permission",children:[u(Kc,{enabled:kn,onDismiss:(n)=>{pt(Xt()),jc(!1),Q();let h=W();if(n==="migrated"&&t==="first-run"&&h)c({action:"saved",activeProfileId:h.id,activeProviderName:h.name,activeProviderModel:h.model})}}),kn?null:Ic?y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Loading providers..."}),u(i,{dimColor:!0,children:"Reading provider profiles from disk."})]}):xc?y(g,{flexDirection:"column",gap:1,children:[u(i,{color:"remember",bold:!0,children:"Activating provider..."}),u(i,{dimColor:!0,children:"Please wait while the provider is being configured."})]}):G]})}var b,at,dn="\x00__manual__",ya,Ca="Codex OAuth",ba="codexplan",wa="xAI / Grok (OAuth)",Oa="grok-4",fa;var Fa=j(()=>{vu();Wn();na();Ln();ca();ra();ma();ic();on();ta();aa();Fn();Zn();ha();Bn();In();ia();ua();da();Kn();mc();kc();fc();ea();Qt();b=Gt(Vt(),1),at=[{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.'}],ya=new Set(["anthropic","bedrock","vertex","foundry"]);fa={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{un as tc,In as uc,Aa as vc,Sh as wc,Fa as xc};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Ap as Aq,So as S,Xo as Zq,vo as E,wo as m,wp as l,xo as Xq,yp as Rq,zp as i}from"./cli-1.0.8-ykwgcdbt.mjs";import{Bba as h,Cba as n,Hba as vq,Ifa as D,Qfa as Qq,wba as u,yba as g}from"./cli-1.0.8-ke76gxzw.mjs";import{tha as d,vha as Uq}from"./cli-1.0.8-74zbkhyt.mjs";import{Via as P,Wia as v,_ia as f,cja as M,gja as y,qja as V,tja as e}from"./cli-1.0.8-z96bbp08.mjs";import{Qja as W,Rja as O,Sja as C,Xja as _}from"./cli-1.0.8-0w29g9sk.mjs";import{Iqa as p,_qa as qq}from"./cli-1.0.8-zjckzq5j.mjs";import{xra as N}from"./cli-1.0.8-by017547.mjs";import{homedir as a}from"os";import{resolve as t}from"path";async function Fq(Z){let q=Z.trim(),$=M(),Q=q.match(/^([a-zA-Z0-9._-]+@[^:]+:.+?(?:\.git)?)(#(.+))?$/);if(Q?.[1]){let z=Q[1],G=Q[3];return G?{source:"git",url:z,ref:G}:{source:"git",url:z}}if(q.startsWith("http://")||q.startsWith("https://")){let z=q.match(/^([^#]+)(#(.+))?$/),G=z?.[1]||q,X=z?.[3];if(G.endsWith(".git")||G.includes("/_git/"))return X?{source:"git",url:G,ref:X}:{source:"git",url:G};let Y;try{Y=new URL(G)}catch(J){return{source:"url",url:G}}if(Y.hostname==="github.com"||Y.hostname==="www.github.com"){if(Y.pathname.match(/^\/([^/]+\/[^/]+?)(\/|\.git|$)/)?.[1]){let K=G.endsWith(".git")?G:`${G}.git`;return X?{source:"git",url:K,ref:X}:{source:"git",url:K}}}return{source:"url",url:G}}let x=process.platform==="win32"&&(q.startsWith(".\\")||q.startsWith("..\\")||/^[a-zA-Z]:[/\\]/.test(q));if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")||q.startsWith("~")||x){let z=t(q.startsWith("~")?q.replace(/^~/,a()):q),G;try{G=await $.stat(z)}catch(X){let Y=O(X);return{error:Y==="ENOENT"?`Path does not exist: ${z}`:`Cannot access path: ${z} (${Y??X})`}}if(G.isFile())if(z.endsWith(".json"))return{source:"file",path:z};else return{error:`File path must point to a .json file (marketplace.json), but got: ${z}`};else if(G.isDirectory())return{source:"directory",path:z};else return{error:`Path is neither a file nor a directory: ${z}`}}if(q.includes("/")&&!q.startsWith("@")){if(q.includes(":"))return null;let z=q.match(/^([^#@]+)(?:[#@](.+))?$/),G=z?.[1]||q,X=z?.[2];return X?{source:"github",repo:G,ref:X}:{source:"github",repo:G}}return null}var r=N(()=>{_();y()});import{randomBytes as $q}from"crypto";import{readFile as Bq,rename as Gq,unlink as Yq,writeFile as Jq}from"fs/promises";import{join as Kq}from"path";function c(){return Kq(S(),xq)}async function Hq(){let Z=c();try{let q=await Bq(Z,{encoding:"utf-8"}),$=v(q);if(typeof $!=="object"||$===null||!("version"in $)||!("fetchedAt"in $)||!("counts"in $))return V("Install counts cache has invalid structure"),null;let Q=$;if(Q.version!==L)return V(`Install counts cache version mismatch (got ${Q.version}, expected ${L})`),null;if(typeof Q.fetchedAt!=="string"||!Array.isArray(Q.counts))return V("Install counts cache has invalid structure"),null;let B=new Date(Q.fetchedAt).getTime();if(Number.isNaN(B))return V("Install counts cache has invalid fetchedAt timestamp"),null;if(!Q.counts.every((G)=>typeof G==="object"&&G!==null&&typeof G.plugin==="string"&&typeof G.unique_installs==="number"))return V("Install counts cache has malformed entries"),null;if(Date.now()-B>zq)return V("Install counts cache is stale (>24h old)"),null;return{version:Q.version,fetchedAt:Q.fetchedAt,counts:Q.counts}}catch(q){if(O(q)!=="ENOENT")V(`Failed to load install counts cache: ${W(q)}`);return null}}async function Vq(Z){let q=c(),$=`${q}.${$q(8).toString("hex")}.tmp`;try{let Q=S();await M().mkdir(Q);let B=P(Z,null,2);await Jq($,B,{encoding:"utf-8",mode:384}),await Gq($,q),V("Install counts cache saved successfully")}catch(Q){D(Q);try{await Yq($)}catch{}}}async function Wq(){V(`Fetching install counts from ${I}`);let Z=performance.now();try{let q=await p.get(I,{timeout:1e4});if(!q.data?.plugins||!Array.isArray(q.data.plugins))throw Error("Invalid response format from install counts API");return E("install_counts",I,"success",performance.now()-Z),q.data.plugins}catch(q){throw E("install_counts",I,"failure",performance.now()-Z,m(q)),q}}async function nq(){let Z=await Hq();if(Z){V("Using cached install counts"),E("install_counts",I,"cache_hit",0);let q=new Map;for(let $ of Z.counts)q.set($.plugin,$.unique_installs);return q}try{let q=await Wq(),$={version:L,fetchedAt:new Date().toISOString(),counts:q};await Vq($);let Q=new Map;for(let B of q)Q.set(B.plugin,B.unique_installs);return Q}catch(q){return D(q),V(`Failed to fetch install counts: ${W(q)}`),null}}function lq(Z){if(Z<1000)return String(Z);if(Z<1e6){let B=(Z/1000).toFixed(1);return B.endsWith(".0")?`${B.slice(0,-2)}K`:`${B}K`}let $=(Z/1e6).toFixed(1);return $.endsWith(".0")?`${$.slice(0,-2)}M`:`${$}M`}var L=1,xq="install-counts-cache.json",I="https://raw.githubusercontent.com/anthropics/claude-plugins-official/refs/heads/stats/stats/plugin-installs.json",zq=86400000;var Oq=N(()=>{qq();e();_();y();Qq();f();Xq();Zq()});import{readdir as Iq,readFile as A,stat as wq}from"fs/promises";import*as H from"path";function Eq(Z){let q=H.basename(Z),$=H.basename(H.dirname(Z));if(q==="plugin.json")return"plugin";if(q==="marketplace.json")return"marketplace";if($===".claude-plugin")return"plugin";return"unknown"}function F(Z){return Z.issues.map((q)=>({path:q.path.join(".")||"root",message:q.message,code:q.code}))}function w(Z,q,$,Q){if(Z.includes(".."))$.push({path:q,message:Q?`Path contains "..": ${Z}. ${Q}`:`Path contains ".." which could be a path traversal attempt: ${Z}`})}function Nq(Z){let q=Z.replace(/^(\.\.\/)+/,"");return`Plugin source paths are resolved relative to the marketplace root (the directory containing .claude-plugin/), not relative to marketplace.json. Use "${q!==Z?`./${q}`:"./plugins/my-plugin"}" instead of "${Z}".`}async function j(Z){let q=[],$=[],Q=H.resolve(Z),B;try{B=await A(Q,{encoding:"utf-8"})}catch(X){let Y=O(X),J;if(Y==="ENOENT")J=`File not found: ${Q}`;else if(Y==="EISDIR")J=`Path is not a file: ${Q}`;else J=`Failed to read file: ${W(X)}`;return{success:!1,errors:[{path:"file",message:J,code:Y}],warnings:[],filePath:Q,fileType:"plugin"}}let x;try{x=v(B)}catch(X){return{success:!1,errors:[{path:"json",message:`Invalid JSON syntax: ${W(X)}`}],warnings:[],filePath:Q,fileType:"plugin"}}if(x&&typeof x==="object"){let X=x;if(X.commands)(Array.isArray(X.commands)?X.commands:[X.commands]).forEach((J,K)=>{if(typeof J==="string")w(J,`commands[${K}]`,q)});if(X.agents)(Array.isArray(X.agents)?X.agents:[X.agents]).forEach((J,K)=>{if(typeof J==="string")w(J,`agents[${K}]`,q)});if(X.skills)(Array.isArray(X.skills)?X.skills:[X.skills]).forEach((J,K)=>{if(typeof J==="string")w(J,`skills[${K}]`,q)})}let z=x;if(typeof x==="object"&&x!==null){let X=x,Y=Object.keys(X).filter((J)=>Mq.has(J));if(Y.length>0){let J={...X};for(let K of Y)delete J[K],$.push({path:K,message:`Field '${K}' belongs in the marketplace entry (marketplace.json), `+"not plugin.json. It's harmless here but unused — Claude Code "+"ignores it at load time."});z=J}}let G=g().strict().safeParse(z);if(!G.success)q.push(...F(G.error));if(G.success){let X=G.data;if(!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(X.name))$.push({path:"name",message:`Plugin name "${X.name}" is not kebab-case. Claude Code accepts it, but the Claude.ai marketplace sync requires kebab-case (lowercase letters, digits, and hyphens only, e.g., "my-plugin").`});if(!X.version)$.push({path:"version",message:'No version specified. Consider adding a version following semver (e.g., "1.0.0")'});if(!X.description)$.push({path:"description",message:"No description provided. Adding a description helps users understand what your plugin does"});if(!X.author)$.push({path:"author",message:"No author information provided. Consider adding author details for plugin attribution"})}return{success:q.length===0,errors:q,warnings:$,filePath:Q,fileType:"plugin"}}async function k(Z){let q=[],$=[],Q=H.resolve(Z),B;try{B=await A(Q,{encoding:"utf-8"})}catch(X){let Y=O(X),J;if(Y==="ENOENT")J=`File not found: ${Q}`;else if(Y==="EISDIR")J=`Path is not a file: ${Q}`;else J=`Failed to read file: ${W(X)}`;return{success:!1,errors:[{path:"file",message:J,code:Y}],warnings:[],filePath:Q,fileType:"marketplace"}}let x;try{x=v(B)}catch(X){return{success:!1,errors:[{path:"json",message:`Invalid JSON syntax: ${W(X)}`}],warnings:[],filePath:Q,fileType:"marketplace"}}if(x&&typeof x==="object"){let X=x;if(Array.isArray(X.plugins))X.plugins.forEach((Y,J)=>{if(Y&&typeof Y==="object"&&"source"in Y){let K=Y.source;if(typeof K==="string")w(K,`plugins[${J}].source`,q,Nq(K));if(K&&typeof K==="object"&&"path"in K&&typeof K.path==="string")w(K.path,`plugins[${J}].source.path`,q)}})}let G=n().extend({plugins:d.array(h().strict())}).strict().safeParse(x);if(!G.success)q.push(...F(G.error));if(G.success){let X=G.data;if(!X.plugins||X.plugins.length===0)$.push({path:"plugins",message:"Marketplace has no plugins defined"});if(X.plugins){X.plugins.forEach((K,U)=>{if(X.plugins.filter((R)=>R.name===K.name).length>1)q.push({path:`plugins[${U}].name`,message:`Duplicate plugin name "${K.name}" found in marketplace`})});let Y=H.dirname(Q),J=H.basename(Y)===".claude-plugin"?H.dirname(Y):Y;for(let[K,U]of X.plugins.entries()){if(!U.version||typeof U.source!=="string"||!U.source.startsWith("./"))continue;let T=H.join(J,U.source,".claude-plugin","plugin.json"),R;try{let s=await A(T,{encoding:"utf-8"}),b=v(s);if(typeof b.version==="string")R=b.version}catch{continue}if(R&&R!==U.version)$.push({path:`plugins[${K}].version`,message:`Entry declares version "${U.version}" but ${U.source}/.claude-plugin/plugin.json says "${R}". `+"At install time, plugin.json wins (calculatePluginVersion precedence) — the entry version is silently ignored. "+`Update this entry to "${R}" to match.`})}}if(!X.metadata?.description)$.push({path:"metadata.description",message:"No marketplace description provided. Adding a description helps users understand what this marketplace offers"})}return{success:q.length===0,errors:q,warnings:$,filePath:Q,fileType:"marketplace"}}function _q(Z,q,$){let Q=[],B=[],x=q.match(i);if(!x)return B.push({path:"frontmatter",message:"No frontmatter block found. Add YAML frontmatter between --- delimiters at the top of the file to set description and other metadata."}),{success:!0,errors:Q,warnings:B,filePath:Z,fileType:$};let z=x[1]||"",G;try{G=l(z)}catch(K){return Q.push({path:"frontmatter",message:`YAML frontmatter failed to parse: ${W(K)}. At runtime this ${$} loads with empty metadata (all frontmatter fields silently dropped).`}),{success:!1,errors:Q,warnings:B,filePath:Z,fileType:$}}if(G===null||typeof G!=="object"||Array.isArray(G))return Q.push({path:"frontmatter",message:`Frontmatter must be a YAML mapping (key: value pairs), got ${Array.isArray(G)?"an array":G===null?"null":typeof G}.`}),{success:!1,errors:Q,warnings:B,filePath:Z,fileType:$};let X=G;if(X.description!==void 0){let K=X.description;if(typeof K!=="string"&&typeof K!=="number"&&typeof K!=="boolean"&&K!==null)Q.push({path:"description",message:`description must be a string, got ${Array.isArray(K)?"array":typeof K}. At runtime this value is dropped.`})}else B.push({path:"description",message:`No description in frontmatter. A description helps users and Claude understand when to use this ${$}.`});if(X.name!==void 0&&X.name!==null&&typeof X.name!=="string")Q.push({path:"name",message:`name must be a string, got ${typeof X.name}.`});let Y=X["allowed-tools"];if(Y!==void 0&&Y!==null){if(typeof Y!=="string"&&!Array.isArray(Y))Q.push({path:"allowed-tools",message:`allowed-tools must be a string or array of strings, got ${typeof Y}.`});else if(Array.isArray(Y)&&Y.some((K)=>typeof K!=="string"))Q.push({path:"allowed-tools",message:"allowed-tools array must contain only strings."})}let J=X.shell;if(J!==void 0&&J!==null)if(typeof J!=="string")Q.push({path:"shell",message:`shell must be a string, got ${typeof J}.`});else{let K=J.trim().toLowerCase();if(K!=="bash"&&K!=="powershell")Q.push({path:"shell",message:`shell must be 'bash' or 'powershell', got '${J}'.`})}return{success:Q.length===0,errors:Q,warnings:B,filePath:Z,fileType:$}}async function Lq(Z){let q;try{q=await A(Z,{encoding:"utf-8"})}catch(B){if(O(B)==="ENOENT")return{success:!0,errors:[],warnings:[],filePath:Z,fileType:"hooks"};return{success:!1,errors:[{path:"file",message:`Failed to read file: ${W(B)}`}],warnings:[],filePath:Z,fileType:"hooks"}}let $;try{$=v(q)}catch(B){return{success:!1,errors:[{path:"json",message:`Invalid JSON syntax: ${W(B)}. At runtime this breaks the entire plugin load.`}],warnings:[],filePath:Z,fileType:"hooks"}}let Q=u().safeParse($);if(!Q.success)return{success:!1,errors:F(Q.error),warnings:[],filePath:Z,fileType:"hooks"};return{success:!0,errors:[],warnings:[],filePath:Z,fileType:"hooks"}}async function o(Z,q){let $;try{$=await Iq(Z,{withFileTypes:!0})}catch(B){let x=O(B);if(x==="ENOENT"||x==="ENOTDIR")return[];throw B}if(q)return $.filter((B)=>B.isDirectory()).map((B)=>H.join(Z,B.name,"SKILL.md"));let Q=[];for(let B of $){let x=H.join(Z,B.name);if(B.isDirectory())Q.push(...await o(x,!1));else if(B.isFile()&&B.name.toLowerCase().endsWith(".md"))Q.push(x)}return Q}async function QQ(Z){let q=[],$=[["skill",H.join(Z,"skills")],["agent",H.join(Z,"agents")],["command",H.join(Z,"commands")]];for(let[B,x]of $){let z=await o(x,B==="skill");for(let G of z){let X;try{X=await A(G,{encoding:"utf-8"})}catch(J){if(C(J))continue;q.push({success:!1,errors:[{path:"file",message:`Failed to read: ${W(J)}`}],warnings:[],filePath:G,fileType:B});continue}let Y=_q(G,X,B);if(Y.errors.length>0||Y.warnings.length>0)q.push(Y)}}let Q=await Lq(H.join(Z,"hooks","hooks.json"));if(Q.errors.length>0||Q.warnings.length>0)q.push(Q);return q}async function XQ(Z){let q=H.resolve(Z),$=null;try{$=await wq(q)}catch(B){if(!C(B))throw B}if($?.isDirectory()){let B=H.join(q,".claude-plugin","marketplace.json"),x=await k(B);if(x.errors[0]?.code!=="ENOENT")return x;let z=H.join(q,".claude-plugin","plugin.json"),G=await j(z);if(G.errors[0]?.code!=="ENOENT")return G;return{success:!1,errors:[{path:"directory",message:"No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json"}],warnings:[],filePath:q,fileType:"plugin"}}switch(Eq(Z)){case"plugin":return j(Z);case"marketplace":return k(Z);case"unknown":{try{let B=await A(q,{encoding:"utf-8"}),x=v(B);if(Array.isArray(x.plugins))return k(Z)}catch(B){if(O(B)==="ENOENT")return{success:!1,errors:[{path:"file",message:`File not found: ${q}`}],warnings:[],filePath:q,fileType:"plugin"}}return j(Z)}}}var Mq;var Dq=N(()=>{Uq();_();Aq();f();Rq();vq();Mq=new Set(["category","source","tags","strict","id"])});
|
|
2
|
+
export{Fq as jd,r as kd,nq as ld,lq as md,Oq as nd,QQ as od,XQ as pd,Dq as qd};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Xb as Y}from"./cli-1.0.8-t5jg9csm.mjs";import{XV as N,YV as C}from"./cli-1.0.8-sbf6n56q.mjs";import{Cfa as A,Efa as w}from"./cli-1.0.8-ke76gxzw.mjs";import{nia as B,qia as k}from"./cli-1.0.8-gmf61bcb.mjs";import{Wia as L,_ia as E,qja as W,tja as j}from"./cli-1.0.8-z96bbp08.mjs";import{Qja as G,Xja as K}from"./cli-1.0.8-0w29g9sk.mjs";k();C();import{randomUUID as O}from"crypto";j();w();K();E();function T(f){return f!==null&&typeof f==="object"&&"type"in f&&typeof f.type==="string"}function P(f){return f!==null&&typeof f==="object"&&"type"in f&&f.type==="control_response"&&"response"in f}function S(f){return f!==null&&typeof f==="object"&&"type"in f&&f.type==="control_request"&&"request_id"in f&&"request"in f}function v(f){if((f.type==="user"||f.type==="assistant")&&f.isVirtual)return!1;return f.type==="user"||f.type==="assistant"||f.type==="system"&&f.subtype==="local_command"}function q(f){if(f.type!=="user"||f.isMeta||f.toolUseResult||f.isCompactSummary)return;if(f.origin&&f.origin.kind!=="human")return;let X=f.message.content,Q;if(typeof X==="string")Q=X;else for(let Z of X)if(Z.type==="text"){Q=Z.text;break}if(!Q)return;return A(Q)||void 0}function p(f,X,Q,$,Z,z){try{let H=Y(L(f));if(P(H)){W("[bridge:repl] Ingress message type=control_response"),Z?.(H);return}if(S(H)){W(`[bridge:repl] Inbound control_request subtype=${H.request.subtype}`),z?.(H);return}if(!T(H))return;let J="uuid"in H&&typeof H.uuid==="string"?H.uuid:void 0;if(J&&X.has(J)){W(`[bridge:repl] Ignoring echo: type=${H.type} uuid=${J}`);return}if(J&&Q.has(J)){W(`[bridge:repl] Ignoring re-delivered inbound: type=${H.type} uuid=${J}`);return}if(W(`[bridge:repl] Ingress message type=${H.type}${J?` uuid=${J}`:""}`),H.type==="user"){if(J)Q.add(J);B("tengu_bridge_message_received",{is_repl:!0}),$?.(H)}else W(`[bridge:repl] Ignoring non-user inbound message: type=${H.type}`)}catch(H){W(`[bridge:repl] Failed to parse ingress message: ${G(H)}`)}}var y="This session is outbound-only. Enable Remote Control locally to allow inbound control.";function g(f,X){let{transport:Q,sessionId:$,outboundOnly:Z,onInterrupt:z,onSetModel:H,onSetMaxThinkingTokens:J,onSetPermissionMode:h}=X;if(!Q){W("[bridge:repl] Cannot respond to control_request: transport not configured");return}let V;if(Z&&f.request.subtype!=="initialize"){V={type:"control_response",response:{subtype:"error",request_id:f.request_id,error:y}};let x={...V,session_id:$};Q.write(x),W(`[bridge:repl] Rejected ${f.request.subtype} (outbound-only) request_id=${f.request_id}`);return}switch(f.request.subtype){case"initialize":V={type:"control_response",response:{subtype:"success",request_id:f.request_id,response:{commands:[],output_style:"normal",available_output_styles:["normal"],models:[],account:{},pid:process.pid}}};break;case"set_model":H?.(f.request.model),V={type:"control_response",response:{subtype:"success",request_id:f.request_id}};break;case"set_max_thinking_tokens":J?.(f.request.max_thinking_tokens),V={type:"control_response",response:{subtype:"success",request_id:f.request_id}};break;case"set_permission_mode":{let x=h?.(f.request.mode)??{ok:!1,error:"set_permission_mode is not supported in this context (onSetPermissionMode callback not registered)"};if(x.ok)V={type:"control_response",response:{subtype:"success",request_id:f.request_id}};else V={type:"control_response",response:{subtype:"error",request_id:f.request_id,error:x.error}};break}case"interrupt":z?.(),V={type:"control_response",response:{subtype:"success",request_id:f.request_id}};break;default:V={type:"control_response",response:{subtype:"error",request_id:f.request_id,error:`REPL bridge does not handle control_request subtype: ${f.request.subtype}`}}}let _={...V,session_id:$};Q.write(_),W(`[bridge:repl] Sent control_response for ${f.request.subtype} request_id=${f.request_id} result=${V.response.subtype}`)}function d(f){return{type:"result",subtype:"success",duration_ms:0,duration_api_ms:0,is_error:!1,num_turns:0,result:"",stop_reason:null,total_cost_usd:0,usage:{...N},modelUsage:{},permission_denials:[],session_id:f,uuid:O()}}class R{capacity;ring;set=new Set;writeIdx=0;constructor(f){this.capacity=f,this.ring=Array(f)}add(f){if(this.set.has(f))return;let X=this.ring[this.writeIdx];if(X!==void 0)this.set.delete(X);this.ring[this.writeIdx]=f,this.set.add(f),this.writeIdx=(this.writeIdx+1)%this.capacity}has(f){return this.set.has(f)}clear(){this.set.clear(),this.ring.fill(void 0),this.writeIdx=0}}
|
|
2
|
+
export{v as Rb,q as Sb,p as Tb,g as Ub,d as Vb,R as Wb};
|