@claudiolabs/claudin 1.1.37 → 1.1.39
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/App-1.1.39-k3pzg19w.mjs +1 -0
- package/dist/chunks/ApproveApiKey-1.1.39-bycvt1g5.mjs +1 -0
- package/dist/chunks/AutoModeOptInDialog-1.1.39-4j00w97q.mjs +1 -0
- package/dist/chunks/BypassPermissionsModeDialog-1.1.39-38wypq07.mjs +1 -0
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.1.39-edm7rsre.mjs +1 -0
- package/dist/chunks/ConsoleOAuthFlow-1.1.39-my209qf5.mjs +1 -0
- package/dist/chunks/DiffDialog-1.1.39-dt5qmt50.mjs +6 -0
- package/dist/chunks/Doctor-1.1.39-kv2tpcs1.mjs +1 -0
- package/dist/chunks/ExplorerDialog-1.1.39-d5t22ss6.mjs +6 -0
- package/dist/chunks/ITermBackend-1.1.39-z3zx6y4m.mjs +1 -0
- package/dist/chunks/InvalidConfigDialog-1.1.39-nwstppyf.mjs +1 -0
- package/dist/chunks/InvalidSettingsDialog-1.1.39-pfjzxc4p.mjs +1 -0
- package/dist/chunks/MigrationDialog-1.1.39-3mpd0tbf.mjs +1 -0
- package/dist/chunks/Onboarding-1.1.39-r5976zwt.mjs +1 -0
- package/dist/chunks/ProviderManager-1.1.39-dzacd3pt.mjs +1 -0
- package/dist/chunks/REPL-1.1.39-ww7zvk7k.mjs +1 -0
- package/dist/chunks/ResumeConversation-1.1.39-mdn16ej3.mjs +1 -0
- package/dist/chunks/TeleportProgress-1.1.39-tnhzkmtn.mjs +1 -0
- package/dist/chunks/TeleportRepoMismatchDialog-1.1.39-vz4td3jg.mjs +1 -0
- package/dist/chunks/TeleportResumeWrapper-1.1.39-rfjygmym.mjs +1 -0
- package/dist/chunks/TmuxBackend-1.1.39-vbqywsj7.mjs +9 -0
- package/dist/chunks/ToolSearchTool-1.1.39-bb46mna1.mjs +1 -0
- package/dist/chunks/TrustDialog-1.1.39-b57dgsm7.mjs +1 -0
- package/dist/chunks/activeProvider-1.1.39-jgfyp0cs.mjs +1 -0
- package/dist/chunks/add-dir-1.1.39-1wp8d118.mjs +1 -0
- package/dist/chunks/agentTypes-1.1.39-0x20gy8e.mjs +1 -0
- package/dist/chunks/agents-1.1.39-b3k5kxn7.mjs +110 -0
- package/dist/chunks/agents-1.1.39-nt8wcmtp.mjs +3 -0
- package/dist/chunks/api-1.1.39-tn9g67g0.mjs +1 -0
- package/dist/chunks/asciicast-1.1.39-22byg1gm.mjs +1 -0
- package/dist/chunks/auth-1.1.39-1x1eer36.mjs +1 -0
- package/dist/chunks/auth-1.1.39-vz0zkq99.mjs +1 -0
- package/dist/chunks/autoMode-1.1.39-sjezrxh7.mjs +52 -0
- package/dist/chunks/autoModeSetup-1.1.39-e6gvda2k.mjs +44 -0
- package/dist/chunks/autoUpdater-1.1.39-cz95xv2n.mjs +1 -0
- package/dist/chunks/backgroundHousekeeping-1.1.39-vsn9w5k2.mjs +1 -0
- package/dist/chunks/branch-1.1.39-e0ww5bkp.mjs +4 -0
- package/dist/chunks/bridge-1.1.39-k5vb0mmb.mjs +2 -0
- package/dist/chunks/bridgeConfig-1.1.39-6czf6nvj.mjs +1 -0
- package/dist/chunks/bridgeEnabled-1.1.39-crv4d7xn.mjs +1 -0
- package/dist/chunks/bridgeMain-1.1.39-488k7mc8.mjs +64 -0
- package/dist/chunks/bridgePointer-1.1.39-xb9s18xx.mjs +1 -0
- package/dist/chunks/btw-1.1.39-n1psbg89.mjs +1 -0
- package/dist/chunks/buddy-1.1.39-ms13d421.mjs +3 -0
- package/dist/chunks/cache-probe-1.1.39-j0aybz93.mjs +21 -0
- package/dist/chunks/cacheStats-1.1.39-dg202ye5.mjs +4 -0
- package/dist/chunks/caches-1.1.39-v3nps0e9.mjs +1 -0
- package/dist/chunks/cd-1.1.39-awhhtq1z.mjs +3 -0
- package/dist/chunks/claudeDesktop-1.1.39-azj9es6w.mjs +1 -0
- package/dist/chunks/claudemd-1.1.39-7a02xhkm.mjs +1 -0
- package/dist/chunks/clear-1.1.39-k197h5f0.mjs +1 -0
- package/dist/chunks/clearTerminal-1.1.39-twgf5kky.mjs +1 -0
- package/dist/chunks/cli-1.1.39-01qgb22d.mjs +4 -0
- package/dist/chunks/cli-1.1.39-07d1v3y9.mjs +2 -0
- package/dist/chunks/cli-1.1.39-0k9p4g5p.mjs +2 -0
- package/dist/chunks/cli-1.1.39-0mtb82ww.mjs +2 -0
- package/dist/chunks/cli-1.1.39-0rsjfyh1.mjs +9 -0
- package/dist/chunks/cli-1.1.39-0s0eqwsn.mjs +2 -0
- package/dist/chunks/cli-1.1.39-10wrcybe.mjs +2 -0
- package/dist/chunks/cli-1.1.39-111vm2e1.mjs +24 -0
- package/dist/chunks/cli-1.1.39-14jxs3k5.mjs +3 -0
- package/dist/chunks/cli-1.1.39-15jr1t97.mjs +2 -0
- package/dist/chunks/cli-1.1.39-17mj2gq0.mjs +2 -0
- package/dist/chunks/cli-1.1.39-1es853x9.mjs +2 -0
- package/dist/chunks/cli-1.1.39-1m7bzjpd.mjs +2 -0
- package/dist/chunks/cli-1.1.39-1mpe0mv2.mjs +17 -0
- package/dist/chunks/cli-1.1.39-1q43eavk.mjs +4 -0
- package/dist/chunks/cli-1.1.39-1r1cbvk8.mjs +2 -0
- package/dist/chunks/cli-1.1.39-1tcqp8ky.mjs +2 -0
- package/dist/chunks/cli-1.1.39-1wg6zvk6.mjs +2 -0
- package/dist/chunks/cli-1.1.39-1yysfg6y.mjs +2 -0
- package/dist/chunks/cli-1.1.39-212q1ba2.mjs +2 -0
- package/dist/chunks/cli-1.1.39-24z9gjkg.mjs +6 -0
- package/dist/chunks/cli-1.1.39-2gzgjcxr.mjs +6 -0
- package/dist/chunks/cli-1.1.39-2hgsp1ry.mjs +2 -0
- package/dist/chunks/cli-1.1.39-2k0w4c3v.mjs +6 -0
- package/dist/chunks/cli-1.1.39-2vf0yc3g.mjs +2 -0
- package/dist/chunks/cli-1.1.39-2x3kj4gh.mjs +2 -0
- package/dist/chunks/cli-1.1.39-2xmkpvn8.mjs +2 -0
- package/dist/chunks/cli-1.1.39-31e9rw45.mjs +2 -0
- package/dist/chunks/cli-1.1.39-3g0p54p8.mjs +2 -0
- package/dist/chunks/cli-1.1.39-3mghgnn1.mjs +24 -0
- package/dist/chunks/cli-1.1.39-3yy2wxqa.mjs +24 -0
- package/dist/chunks/cli-1.1.39-4bdssx8e.mjs +2 -0
- package/dist/chunks/cli-1.1.39-4he45b53.mjs +2 -0
- package/dist/chunks/cli-1.1.39-4p4c56cn.mjs +2 -0
- package/dist/chunks/cli-1.1.39-4w5sz267.mjs +2 -0
- package/dist/chunks/cli-1.1.39-52k1fj82.mjs +2 -0
- package/dist/chunks/cli-1.1.39-5gdtmek1.mjs +2 -0
- package/dist/chunks/cli-1.1.39-5ge6mqxz.mjs +63 -0
- package/dist/chunks/cli-1.1.39-5h7tfgqc.mjs +2 -0
- package/dist/chunks/cli-1.1.39-5r6zjkfz.mjs +2 -0
- package/dist/chunks/cli-1.1.39-5t4113gt.mjs +2 -0
- package/dist/chunks/cli-1.1.39-5xkhxv1a.mjs +2 -0
- package/dist/chunks/cli-1.1.39-5yxt37n7.mjs +2 -0
- package/dist/chunks/cli-1.1.39-5zc15zgx.mjs +2 -0
- package/dist/chunks/cli-1.1.39-6pkc868v.mjs +2 -0
- package/dist/chunks/cli-1.1.39-6y7dsvjs.mjs +2 -0
- package/dist/chunks/cli-1.1.39-70t1q2pm.mjs +2 -0
- package/dist/chunks/cli-1.1.39-75gxbxsn.mjs +7 -0
- package/dist/chunks/cli-1.1.39-7ck7pqh0.mjs +2 -0
- package/dist/chunks/cli-1.1.39-7d9k8cma.mjs +2 -0
- package/dist/chunks/cli-1.1.39-7hm6zgk1.mjs +15 -0
- package/dist/chunks/cli-1.1.39-7jhstkb2.mjs +2 -0
- package/dist/chunks/cli-1.1.39-7kjnzaa8.mjs +2 -0
- package/dist/chunks/cli-1.1.39-7tchegvs.mjs +5 -0
- package/dist/chunks/cli-1.1.39-7tgaawmj.mjs +2 -0
- package/dist/chunks/cli-1.1.39-7xc1qp70.mjs +2 -0
- package/dist/chunks/cli-1.1.39-89e5xfsc.mjs +2 -0
- package/dist/chunks/cli-1.1.39-8e62hz1p.mjs +3 -0
- package/dist/chunks/cli-1.1.39-8gscnd8w.mjs +2 -0
- package/dist/chunks/cli-1.1.39-8jw8s604.mjs +2 -0
- package/dist/chunks/cli-1.1.39-8k3rh435.mjs +2 -0
- package/dist/chunks/cli-1.1.39-8xf0xfkw.mjs +2 -0
- package/dist/chunks/cli-1.1.39-905jk7a7.mjs +133 -0
- package/dist/chunks/cli-1.1.39-9afxesb0.mjs +3 -0
- package/dist/chunks/cli-1.1.39-9bh2t20k.mjs +3 -0
- package/dist/chunks/cli-1.1.39-9dfw3wt9.mjs +2 -0
- package/dist/chunks/cli-1.1.39-9j9vfcg0.mjs +10 -0
- package/dist/chunks/cli-1.1.39-9qsdqnm7.mjs +6 -0
- package/dist/chunks/cli-1.1.39-9yg363zk.mjs +2 -0
- package/dist/chunks/cli-1.1.39-a1rc9y55.mjs +3 -0
- package/dist/chunks/cli-1.1.39-a40ak4sd.mjs +2 -0
- package/dist/chunks/cli-1.1.39-ay2p31kb.mjs +39 -0
- package/dist/chunks/cli-1.1.39-b1gewbgs.mjs +2 -0
- package/dist/chunks/cli-1.1.39-b314axe0.mjs +2 -0
- package/dist/chunks/cli-1.1.39-b3geta93.mjs +21 -0
- package/dist/chunks/cli-1.1.39-bd66bjj3.mjs +2 -0
- package/dist/chunks/cli-1.1.39-brzpjtja.mjs +2 -0
- package/dist/chunks/cli-1.1.39-c4c832m5.mjs +2 -0
- package/dist/chunks/cli-1.1.39-c6mm3w1n.mjs +135 -0
- package/dist/chunks/cli-1.1.39-c86mbrv2.mjs +2 -0
- package/dist/chunks/cli-1.1.39-chveh83h.mjs +2 -0
- package/dist/chunks/cli-1.1.39-cjc01sak.mjs +2 -0
- package/dist/chunks/cli-1.1.39-ck0k3rxx.mjs +2 -0
- package/dist/chunks/cli-1.1.39-ckty7bt1.mjs +2 -0
- package/dist/chunks/cli-1.1.39-cq5nwqfw.mjs +2 -0
- package/dist/chunks/cli-1.1.39-cvbzp08c.mjs +2 -0
- package/dist/chunks/cli-1.1.39-cyx7zw76.mjs +50 -0
- package/dist/chunks/cli-1.1.39-czh4aj72.mjs +4 -0
- package/dist/chunks/cli-1.1.39-d25xsy5x.mjs +2 -0
- package/dist/chunks/cli-1.1.39-dfrms96j.mjs +2 -0
- package/dist/chunks/cli-1.1.39-djtdv45d.mjs +4 -0
- package/dist/chunks/cli-1.1.39-dm5rqr07.mjs +8 -0
- package/dist/chunks/cli-1.1.39-dvfdgp8r.mjs +2 -0
- package/dist/chunks/cli-1.1.39-dwfknzds.mjs +2 -0
- package/dist/chunks/cli-1.1.39-dwgjp6zp.mjs +2 -0
- package/dist/chunks/cli-1.1.39-e4p7vgrg.mjs +2 -0
- package/dist/chunks/cli-1.1.39-e98w7pr4.mjs +2 -0
- package/dist/chunks/cli-1.1.39-en8a3nq6.mjs +11 -0
- package/dist/chunks/cli-1.1.39-epktaska.mjs +3 -0
- package/dist/chunks/cli-1.1.39-esp4w3m4.mjs +2 -0
- package/dist/chunks/cli-1.1.39-evs7a20p.mjs +9 -0
- package/dist/chunks/cli-1.1.39-eyp8d7vv.mjs +2 -0
- package/dist/chunks/cli-1.1.39-f0wf0m0n.mjs +2 -0
- package/dist/chunks/cli-1.1.39-f1schffw.mjs +25 -0
- package/dist/chunks/cli-1.1.39-f2qc1x1n.mjs +2 -0
- package/dist/chunks/cli-1.1.39-f5azyvet.mjs +2 -0
- package/dist/chunks/cli-1.1.39-fka8qdkr.mjs +2 -0
- package/dist/chunks/cli-1.1.39-fm08hbtj.mjs +2 -0
- package/dist/chunks/cli-1.1.39-fqsaf1st.mjs +2 -0
- package/dist/chunks/cli-1.1.39-g751n1kp.mjs +2 -0
- package/dist/chunks/cli-1.1.39-g7mbr2ky.mjs +2 -0
- package/dist/chunks/cli-1.1.39-g9rcf6cw.mjs +2 -0
- package/dist/chunks/cli-1.1.39-ghja51c5.mjs +2 -0
- package/dist/chunks/cli-1.1.39-gnkk8fs7.mjs +2 -0
- package/dist/chunks/cli-1.1.39-gtm67f9z.mjs +2 -0
- package/dist/chunks/cli-1.1.39-h06axtf8.mjs +4 -0
- package/dist/chunks/cli-1.1.39-h8ahn5vw.mjs +2 -0
- package/dist/chunks/cli-1.1.39-h90nz8dv.mjs +2 -0
- package/dist/chunks/cli-1.1.39-ha8fn1m0.mjs +2 -0
- package/dist/chunks/cli-1.1.39-hgm87yas.mjs +10 -0
- package/dist/chunks/cli-1.1.39-j6nvja1z.mjs +2 -0
- package/dist/chunks/cli-1.1.39-jmh4b6db.mjs +2 -0
- package/dist/chunks/cli-1.1.39-jncrq8d3.mjs +2 -0
- package/dist/chunks/cli-1.1.39-jq1a84j4.mjs +2 -0
- package/dist/chunks/cli-1.1.39-k8n2ksgh.mjs +2 -0
- package/dist/chunks/cli-1.1.39-kcq7gw24.mjs +60 -0
- package/dist/chunks/cli-1.1.39-kfztpa2h.mjs +2 -0
- package/dist/chunks/cli-1.1.39-kkgyntg1.mjs +7 -0
- package/dist/chunks/cli-1.1.39-kw258d7x.mjs +4 -0
- package/dist/chunks/cli-1.1.39-mhv15208.mjs +2 -0
- package/dist/chunks/cli-1.1.39-ms0zz1pq.mjs +2 -0
- package/dist/chunks/cli-1.1.39-mtdpf384.mjs +2 -0
- package/dist/chunks/cli-1.1.39-n8j5q839.mjs +2 -0
- package/dist/chunks/cli-1.1.39-nc39g50q.mjs +2 -0
- package/dist/chunks/cli-1.1.39-nde8mxzw.mjs +2 -0
- package/dist/chunks/cli-1.1.39-ne2jz4j1.mjs +12 -0
- package/dist/chunks/cli-1.1.39-nhgqks5q.mjs +2 -0
- package/dist/chunks/cli-1.1.39-nk9xnj41.mjs +2 -0
- package/dist/chunks/cli-1.1.39-nkv70wmc.mjs +10 -0
- package/dist/chunks/cli-1.1.39-nmm4w3bh.mjs +16 -0
- package/dist/chunks/cli-1.1.39-nnc7eg6p.mjs +2 -0
- package/dist/chunks/cli-1.1.39-nsgjkze0.mjs +2 -0
- package/dist/chunks/cli-1.1.39-nxv718fh.mjs +3 -0
- package/dist/chunks/cli-1.1.39-p2sg5g92.mjs +250 -0
- package/dist/chunks/cli-1.1.39-pc9dgxhx.mjs +5 -0
- package/dist/chunks/cli-1.1.39-q8q90rxq.mjs +2 -0
- package/dist/chunks/cli-1.1.39-rfkva6dd.mjs +42 -0
- package/dist/chunks/cli-1.1.39-rhqy2d5w.mjs +2 -0
- package/dist/chunks/cli-1.1.39-rjxm15hw.mjs +2 -0
- package/dist/chunks/cli-1.1.39-rp6sehng.mjs +3 -0
- package/dist/chunks/cli-1.1.39-rprv5zq8.mjs +25 -0
- package/dist/chunks/cli-1.1.39-rqs6bqnm.mjs +2 -0
- package/dist/chunks/cli-1.1.39-rxpy9zgc.mjs +2 -0
- package/dist/chunks/cli-1.1.39-s4g9xyv5.mjs +2 -0
- package/dist/chunks/cli-1.1.39-srjkdp3j.mjs +2 -0
- package/dist/chunks/cli-1.1.39-swktejeb.mjs +2 -0
- package/dist/chunks/cli-1.1.39-t2jqv0s9.mjs +2 -0
- package/dist/chunks/cli-1.1.39-t4a22cet.mjs +6 -0
- package/dist/chunks/cli-1.1.39-tc87f2ta.mjs +2 -0
- package/dist/chunks/cli-1.1.39-tjpdjpp5.mjs +15 -0
- package/dist/chunks/cli-1.1.39-tveshzdb.mjs +2 -0
- package/dist/chunks/cli-1.1.39-v92y62n9.mjs +2 -0
- package/dist/chunks/cli-1.1.39-vh86jjp2.mjs +4 -0
- package/dist/chunks/cli-1.1.39-vhqah8m7.mjs +2 -0
- package/dist/chunks/cli-1.1.39-vtt2tmb9.mjs +18 -0
- package/dist/chunks/cli-1.1.39-wdctfdbb.mjs +4 -0
- package/dist/chunks/cli-1.1.39-whzghgxz.mjs +2 -0
- package/dist/chunks/cli-1.1.39-x6jkg8mf.mjs +20 -0
- package/dist/chunks/cli-1.1.39-xg4cr6x8.mjs +2 -0
- package/dist/chunks/cli-1.1.39-xm6k98xf.mjs +2 -0
- package/dist/chunks/cli-1.1.39-xyddt40c.mjs +2 -0
- package/dist/chunks/cli-1.1.39-y341qw3m.mjs +2 -0
- package/dist/chunks/cli-1.1.39-yjwk9mw8.mjs +2 -0
- package/dist/chunks/cli-1.1.39-ypma7nx9.mjs +2 -0
- package/dist/chunks/cli-1.1.39-ytvr80fj.mjs +15 -0
- package/dist/chunks/cli-1.1.39-yyqx9zb5.mjs +5522 -0
- package/dist/chunks/cli-1.1.39-z1akavz2.mjs +2 -0
- package/dist/chunks/cli-1.1.39-z21b507j.mjs +2 -0
- package/dist/chunks/cli-1.1.39-z6fepfnh.mjs +2 -0
- package/dist/chunks/cli-1.1.39-z8ts6axr.mjs +2 -0
- package/dist/chunks/cli-1.1.39-zc1b8zf6.mjs +2 -0
- package/dist/chunks/cli-1.1.39-zdsdsv4h.mjs +3 -0
- package/dist/chunks/cli-1.1.39-zfb5hcs0.mjs +34 -0
- package/dist/chunks/client-1.1.39-zrdzybfj.mjs +1 -0
- package/dist/chunks/color-1.1.39-qsgg6xt0.mjs +1 -0
- package/dist/chunks/compact-1.1.39-ye5nj18m.mjs +2 -0
- package/dist/chunks/config-1.1.39-cfgcj726.mjs +1 -0
- package/dist/chunks/config-1.1.39-nsgxmahr.mjs +1 -0
- package/dist/chunks/constants-1.1.39-s4anaxa3.mjs +1 -0
- package/dist/chunks/context-1.1.39-a93qe83k.mjs +1 -0
- package/dist/chunks/context-noninteractive-1.1.39-2428zhce.mjs +1 -0
- package/dist/chunks/conversation-1.1.39-x581tx1z.mjs +1 -0
- package/dist/chunks/copilotHeaders-1.1.39-bnzefwe6.mjs +1 -0
- package/dist/chunks/copy-1.1.39-tqab4hm1.mjs +9 -0
- package/dist/chunks/cost-1.1.39-ak71khd3.mjs +1 -0
- package/dist/chunks/createSession-1.1.39-yv7a37ye.mjs +1 -0
- package/dist/chunks/debug-1.1.39-50dvjcn3.mjs +1 -0
- package/dist/chunks/defaultActionDeps-1.1.39-483fm6xk.mjs +1458 -0
- package/dist/chunks/desktop-1.1.39-hbx627a1.mjs +2 -0
- package/dist/chunks/detectRepository-1.1.39-nq1yyp24.mjs +1 -0
- package/dist/chunks/detection-1.1.39-myz8dcyc.mjs +1 -0
- package/dist/chunks/diff-1.1.39-zwwd0sxq.mjs +1 -0
- package/dist/chunks/doctor-1.1.39-bw8w0sdj.mjs +1 -0
- package/dist/chunks/doctorDiagnostic-1.1.39-x9azkqjy.mjs +1 -0
- package/dist/chunks/earlyInput-1.1.39-3wtxyym8.mjs +1 -0
- package/dist/chunks/effort-1.1.39-4r28x4kv.mjs +13 -0
- package/dist/chunks/engine-1.1.39-jjwgtndr.mjs +1 -0
- package/dist/chunks/envUtils-1.1.39-azqd5ff8.mjs +1 -0
- package/dist/chunks/errors-1.1.39-z6wpc1z1.mjs +1 -0
- package/dist/chunks/exampleCommands-1.1.39-fhwx5xxp.mjs +1 -0
- package/dist/chunks/execFileNoThrow-1.1.39-raa250pr.mjs +1 -0
- package/dist/chunks/exit-1.1.39-vwjekv6v.mjs +1 -0
- package/dist/chunks/explorer-1.1.39-rs5cjdex.mjs +1 -0
- package/dist/chunks/export-1.1.39-eg5q8fpq.mjs +2 -0
- package/dist/chunks/fast-1.1.39-j8zrdcv9.mjs +1 -0
- package/dist/chunks/feedback-1.1.39-tt17q1d1.mjs +16 -0
- package/dist/chunks/git-1.1.39-hf1cm8nf.mjs +1 -0
- package/dist/chunks/githubModelsCredentials-1.1.39-yb2392an.mjs +1 -0
- package/dist/chunks/goal-1.1.39-6q6twvx9.mjs +4 -0
- package/dist/chunks/headless-1.1.39-e745sf98.mjs +2 -0
- package/dist/chunks/heapdump-1.1.39-1mf2vt2g.mjs +6 -0
- package/dist/chunks/help-1.1.39-szdr1nvx.mjs +1 -0
- package/dist/chunks/hooks-1.1.39-5pws6gsg.mjs +79 -0
- package/dist/chunks/hooks-1.1.39-6tz18s8r.mjs +1 -0
- package/dist/chunks/ide-1.1.39-nk0vmfg1.mjs +3 -0
- package/dist/chunks/image-processor-napi-1.1.39-rx4ypf8k.mjs +1 -0
- package/dist/chunks/import-1.1.39-eyddkf9v.mjs +260 -0
- package/dist/chunks/inboundAttachments-1.1.39-g0fjztwj.mjs +1 -0
- package/dist/chunks/index-1.1.39-1wfhz9pz.mjs +1 -0
- package/dist/chunks/index-1.1.39-27vjd0t1.mjs +1 -0
- package/dist/chunks/index-1.1.39-3mp0kdhv.mjs +1 -0
- package/dist/chunks/index-1.1.39-aj2fb3nf.mjs +30 -0
- package/dist/chunks/index-1.1.39-ajb8kk03.mjs +1 -0
- package/dist/chunks/index-1.1.39-bznxqgpz.mjs +1 -0
- package/dist/chunks/index-1.1.39-cf96agzw.mjs +2 -0
- package/dist/chunks/index-1.1.39-d4j661cs.mjs +1 -0
- package/dist/chunks/index-1.1.39-dapcfrje.mjs +1 -0
- package/dist/chunks/index-1.1.39-e9fjpss8.mjs +1 -0
- package/dist/chunks/index-1.1.39-eg0vw6jg.mjs +1 -0
- package/dist/chunks/index-1.1.39-eqm0e7bk.mjs +1 -0
- package/dist/chunks/index-1.1.39-frzv879p.mjs +23 -0
- package/dist/chunks/index-1.1.39-fthy3yb2.mjs +1 -0
- package/dist/chunks/index-1.1.39-h7tvkmm7.mjs +9 -0
- package/dist/chunks/index-1.1.39-hn7czx81.mjs +5 -0
- package/dist/chunks/index-1.1.39-jeg0xvtv.mjs +1 -0
- package/dist/chunks/index-1.1.39-qh6j97r3.mjs +2 -0
- package/dist/chunks/index-1.1.39-szfdrv3c.mjs +9 -0
- package/dist/chunks/index-1.1.39-t358fdhx.mjs +1 -0
- package/dist/chunks/index-1.1.39-w73ez3fh.mjs +1 -0
- package/dist/chunks/index-1.1.39-xcj56xfg.mjs +1 -0
- package/dist/chunks/index-1.1.39-zy7eyf9r.mjs +1 -0
- package/dist/chunks/init-1.1.39-fm3907f2.mjs +2 -0
- package/dist/chunks/initReplBridge-1.1.39-76qw9tbk.mjs +1 -0
- package/dist/chunks/ink-1.1.39-f9cyw022.mjs +1 -0
- package/dist/chunks/insights-1.1.39-ee2ra979.mjs +870 -0
- package/dist/chunks/install-1.1.39-1hv4f4fk.mjs +1 -0
- package/dist/chunks/install-github-app-1.1.39-tg2jfpvx.mjs +149 -0
- package/dist/chunks/install-slack-app-1.1.39-69fgekh2.mjs +1 -0
- package/dist/chunks/interactiveHelpers-1.1.39-5caf0pb7.mjs +1 -0
- package/dist/chunks/latestVersionCache-1.1.39-31bygz1b.mjs +1 -0
- package/dist/chunks/loadAgentsDir-1.1.39-1jtdv1bq.mjs +1 -0
- package/dist/chunks/loadPluginHooks-1.1.39-4xw48447.mjs +1 -0
- package/dist/chunks/log-1.1.39-50bfm8j0.mjs +1 -0
- package/dist/chunks/main-1.1.39-f3n951kv.mjs +1 -0
- package/dist/chunks/managedEnv-1.1.39-bwtexcjv.mjs +1 -0
- package/dist/chunks/mcp-1.1.39-15sz3hsq.mjs +1 -0
- package/dist/chunks/mcp-1.1.39-h4h304ze.mjs +4 -0
- package/dist/chunks/mcp-1.1.39-rdsgsc15.mjs +17 -0
- package/dist/chunks/mcpb-1.1.39-5qywjc26.mjs +1 -0
- package/dist/chunks/memory-1.1.39-8edv180p.mjs +128 -0
- package/dist/chunks/model-1.1.39-95b780x9.mjs +2 -0
- package/dist/chunks/model-1.1.39-a5xmtpbv.mjs +1 -0
- package/dist/chunks/new-1.1.39-9476r8p1.mjs +1 -0
- package/dist/chunks/node-1.1.39-pqhskkn0.mjs +15 -0
- package/dist/chunks/node-1.1.39-xgvdgvgj.mjs +1 -0
- package/dist/chunks/oauth-1.1.39-5h69g0mf.mjs +1 -0
- package/dist/chunks/openaiShim-1.1.39-jnp9fkcv.mjs +14 -0
- package/dist/chunks/output-style-1.1.39-e5qsw51y.mjs +1 -0
- package/dist/chunks/package-V72LKFNW-1.1.39-0gcw2fkh.mjs +1 -0
- package/dist/chunks/permissions-1.1.39-0m2h5ctr.mjs +3 -0
- package/dist/chunks/permissions-1.1.39-djt32qkn.mjs +1 -0
- package/dist/chunks/plan-1.1.39-qcq9a7rg.mjs +1 -0
- package/dist/chunks/plist-1.1.39-esb4db3e.mjs +1 -0
- package/dist/chunks/plugin-1.1.39-xztkvc83.mjs +29 -0
- package/dist/chunks/pluginStartupCheck-1.1.39-pzynd625.mjs +1 -0
- package/dist/chunks/plugins-1.1.39-2vnnwfwq.mjs +9 -0
- package/dist/chunks/preActionHook-1.1.39-w6ay049g.mjs +2 -0
- package/dist/chunks/print-1.1.39-m20hre3d.mjs +57 -0
- package/dist/chunks/process-1.1.39-7pp4m6p6.mjs +1 -0
- package/dist/chunks/processBashCommand-1.1.39-z8xyxzeb.mjs +1 -0
- package/dist/chunks/processSlashCommand-1.1.39-025rdqc4.mjs +9 -0
- package/dist/chunks/prompt-1.1.39-8cves1th.mjs +1 -0
- package/dist/chunks/prompt-1.1.39-vys3tszv.mjs +1 -0
- package/dist/chunks/prompts-1.1.39-agk5ys12.mjs +1 -0
- package/dist/chunks/provider-1.1.39-ezn3013z.mjs +2 -0
- package/dist/chunks/providerProfiles-1.1.39-c20aqfkp.mjs +1 -0
- package/dist/chunks/providerValidation-1.1.39-5bwc03ac.mjs +6 -0
- package/dist/chunks/registerSubcommands-1.1.39-tg42q4mt.mjs +26 -0
- package/dist/chunks/registry-1.1.39-69kg9048.mjs +1 -0
- package/dist/chunks/release-notes-1.1.39-vm602996.mjs +5 -0
- package/dist/chunks/reload-plugins-1.1.39-hq5jb4fe.mjs +2 -0
- package/dist/chunks/remote-env-1.1.39-b742xwt8.mjs +1 -0
- package/dist/chunks/rename-1.1.39-37583s4r.mjs +1 -0
- package/dist/chunks/replLauncher-1.1.39-x7vm725e.mjs +1 -0
- package/dist/chunks/resume-1.1.39-7x78pwef.mjs +2 -0
- package/dist/chunks/rewind-1.1.39-36y4s8ng.mjs +1 -0
- package/dist/chunks/rootOptions-1.1.39-ns1nx8k9.mjs +1 -0
- package/dist/chunks/runWorkflowHeadless-1.1.39-8p1cbkrx.mjs +10 -0
- package/dist/chunks/sandbox-adapter-1.1.39-bt6cm9af.mjs +1 -0
- package/dist/chunks/sandbox-toggle-1.1.39-a3p74qsk.mjs +1 -0
- package/dist/chunks/session-1.1.39-qgpx4589.mjs +2 -0
- package/dist/chunks/sessionStorage-1.1.39-fp105vvb.mjs +1 -0
- package/dist/chunks/settings-1.1.39-qe258cgb.mjs +1 -0
- package/dist/chunks/setup-1.1.39-4zjv96k3.mjs +12 -0
- package/dist/chunks/sinks-1.1.39-6xx75cg6.mjs +1 -0
- package/dist/chunks/skills-1.1.39-2d5tfynf.mjs +1 -0
- package/dist/chunks/startupProfiler-1.1.39-jcvdrk17.mjs +1 -0
- package/dist/chunks/startupUpdateCheck-1.1.39-43maz2ha.mjs +1 -0
- package/dist/chunks/state-1.1.39-4sbpam9q.mjs +1 -0
- package/dist/chunks/stats-1.1.39-8p35mm3v.mjs +1 -0
- package/dist/chunks/status-1.1.39-1qcsfp99.mjs +1 -0
- package/dist/chunks/stickers-1.1.39-hppwbrtb.mjs +1 -0
- package/dist/chunks/subprocessEnv-1.1.39-hp2bbefp.mjs +1 -0
- package/dist/chunks/tasks-1.1.39-qs8xddg1.mjs +1 -0
- package/dist/chunks/teamHelpers-1.1.39-qnvqd2j1.mjs +1 -0
- package/dist/chunks/teammateModeSnapshot-1.1.39-pr2vnqzw.mjs +1 -0
- package/dist/chunks/teleport-1.1.39-zt8tze77.mjs +1 -0
- package/dist/chunks/terminalSetup-1.1.39-715qq4cf.mjs +1 -0
- package/dist/chunks/theme-1.1.39-gnxdfpcb.mjs +1 -0
- package/dist/chunks/toolPool-1.1.39-77884kvy.mjs +1 -0
- package/dist/chunks/toolSearch-1.1.39-b2k8yjaz.mjs +1 -0
- package/dist/chunks/tools-1.1.39-7nbe7hrf.mjs +1 -0
- package/dist/chunks/turndown.cjs-1.1.39-h0gz7em7.mjs +69 -0
- package/dist/chunks/types-1.1.39-jcqnbyss.mjs +1 -0
- package/dist/chunks/update-1.1.39-1w75psfh.mjs +72 -0
- package/dist/chunks/upload-1.1.39-z8ymn737.mjs +7 -0
- package/dist/chunks/upstreamproxy-1.1.39-j1d74feb.mjs +14 -0
- package/dist/chunks/usage-1.1.39-s31k5fep.mjs +1 -0
- package/dist/chunks/util-1.1.39-ad8sk0dp.mjs +1 -0
- package/dist/chunks/utils-1.1.39-ya8kcrhm.mjs +1 -0
- package/dist/chunks/vim-1.1.39-b6pfmpbz.mjs +1 -0
- package/dist/chunks/watchLoop-1.1.39-h3bxe3p9.mjs +13 -0
- package/dist/chunks/wiki-1.1.39-5aj4xh5m.mjs +132 -0
- package/dist/chunks/workflows-1.1.39-f31ham8r.mjs +1 -0
- package/dist/chunks/worktree-1.1.39-sf55cdqj.mjs +1 -0
- package/dist/chunks/worktreeModeEnabled-1.1.39-4ja3es46.mjs +1 -0
- package/dist/chunks/wrapper-1.1.39-r1fj52tb.mjs +7 -0
- package/dist/cli.mjs +2 -2
- package/dist/help.txt +1 -1
- package/package.json +9 -9
- package/dist/chunks/App-1.1.37-gvacrdsk.mjs +0 -1
- package/dist/chunks/ApproveApiKey-1.1.37-rnnbn40a.mjs +0 -1
- package/dist/chunks/AutoModeOptInDialog-1.1.37-g6ta4m2v.mjs +0 -1
- package/dist/chunks/BypassPermissionsModeDialog-1.1.37-pk4aghdz.mjs +0 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.1.37-hymvtk1w.mjs +0 -1
- package/dist/chunks/ConsoleOAuthFlow-1.1.37-p8fwd4tm.mjs +0 -1
- package/dist/chunks/DiffDialog-1.1.37-hb26z7b7.mjs +0 -6
- package/dist/chunks/Doctor-1.1.37-g60gf1vr.mjs +0 -1
- package/dist/chunks/ExplorerDialog-1.1.37-w0ek8efz.mjs +0 -6
- package/dist/chunks/ITermBackend-1.1.37-tp4qnkf7.mjs +0 -1
- package/dist/chunks/InvalidConfigDialog-1.1.37-5ds363er.mjs +0 -1
- package/dist/chunks/InvalidSettingsDialog-1.1.37-qaz2nf35.mjs +0 -1
- package/dist/chunks/MigrationDialog-1.1.37-cxe5gn9z.mjs +0 -1
- package/dist/chunks/Onboarding-1.1.37-jsrbvfaa.mjs +0 -1
- package/dist/chunks/ProviderManager-1.1.37-kmfet3bc.mjs +0 -1
- package/dist/chunks/REPL-1.1.37-mx8g4asq.mjs +0 -1
- package/dist/chunks/ResumeConversation-1.1.37-1j1egpzv.mjs +0 -1
- package/dist/chunks/TeleportProgress-1.1.37-s6gpj3tk.mjs +0 -1
- package/dist/chunks/TeleportRepoMismatchDialog-1.1.37-06r6s8k3.mjs +0 -1
- package/dist/chunks/TeleportResumeWrapper-1.1.37-vk5478hq.mjs +0 -1
- package/dist/chunks/TmuxBackend-1.1.37-08ypek7f.mjs +0 -9
- package/dist/chunks/ToolSearchTool-1.1.37-j3j1tnac.mjs +0 -1
- package/dist/chunks/TrustDialog-1.1.37-dy4r3sef.mjs +0 -1
- package/dist/chunks/activeProvider-1.1.37-r4p9gt6p.mjs +0 -1
- package/dist/chunks/add-dir-1.1.37-hsgnnqm5.mjs +0 -1
- package/dist/chunks/agentTypes-1.1.37-e0zrjgxd.mjs +0 -1
- package/dist/chunks/agents-1.1.37-770krh9a.mjs +0 -110
- package/dist/chunks/agents-1.1.37-n5gk09na.mjs +0 -3
- package/dist/chunks/api-1.1.37-bwy6n0v8.mjs +0 -1
- package/dist/chunks/asciicast-1.1.37-t7zpdmt1.mjs +0 -1
- package/dist/chunks/auth-1.1.37-apskerg1.mjs +0 -1
- package/dist/chunks/auth-1.1.37-t0yjn0qg.mjs +0 -1
- package/dist/chunks/autoMode-1.1.37-a94rgbvb.mjs +0 -52
- package/dist/chunks/autoModeSetup-1.1.37-8g5tdnzc.mjs +0 -44
- package/dist/chunks/autoUpdater-1.1.37-pe8hzmys.mjs +0 -1
- package/dist/chunks/backgroundHousekeeping-1.1.37-r98mdthk.mjs +0 -1
- package/dist/chunks/branch-1.1.37-1a761dqp.mjs +0 -4
- package/dist/chunks/bridge-1.1.37-djx2nh0s.mjs +0 -2
- package/dist/chunks/bridgeConfig-1.1.37-wsz2v4gw.mjs +0 -1
- package/dist/chunks/bridgeEnabled-1.1.37-pht9tpgd.mjs +0 -1
- package/dist/chunks/bridgeMain-1.1.37-btaaq723.mjs +0 -64
- package/dist/chunks/bridgePointer-1.1.37-97bjx2gt.mjs +0 -1
- package/dist/chunks/btw-1.1.37-kzbnzfwv.mjs +0 -1
- package/dist/chunks/buddy-1.1.37-r155thdv.mjs +0 -3
- package/dist/chunks/cache-probe-1.1.37-szdjedc6.mjs +0 -21
- package/dist/chunks/cacheStats-1.1.37-zcq6bfv7.mjs +0 -4
- package/dist/chunks/caches-1.1.37-m3bsp8q4.mjs +0 -1
- package/dist/chunks/cd-1.1.37-bgh3jr0j.mjs +0 -3
- package/dist/chunks/claudeDesktop-1.1.37-d5rmp7j9.mjs +0 -1
- package/dist/chunks/claudemd-1.1.37-zqxz2brp.mjs +0 -1
- package/dist/chunks/clear-1.1.37-a28jd9f5.mjs +0 -1
- package/dist/chunks/clearTerminal-1.1.37-1vwtn9rv.mjs +0 -1
- package/dist/chunks/cli-1.1.37-07v28734.mjs +0 -24
- package/dist/chunks/cli-1.1.37-0g18ppvn.mjs +0 -2
- package/dist/chunks/cli-1.1.37-0t8trtcs.mjs +0 -135
- package/dist/chunks/cli-1.1.37-160hvn22.mjs +0 -2
- package/dist/chunks/cli-1.1.37-16r2w6eh.mjs +0 -2
- package/dist/chunks/cli-1.1.37-16ycb15m.mjs +0 -2
- package/dist/chunks/cli-1.1.37-1esm8vyn.mjs +0 -2
- package/dist/chunks/cli-1.1.37-1nx0h24b.mjs +0 -34
- package/dist/chunks/cli-1.1.37-1sn4ganc.mjs +0 -6
- package/dist/chunks/cli-1.1.37-22erav9m.mjs +0 -2
- package/dist/chunks/cli-1.1.37-240c02km.mjs +0 -4
- package/dist/chunks/cli-1.1.37-26cht952.mjs +0 -4
- package/dist/chunks/cli-1.1.37-2gsgt0yq.mjs +0 -2
- package/dist/chunks/cli-1.1.37-2xne39h9.mjs +0 -6
- package/dist/chunks/cli-1.1.37-37swmf5n.mjs +0 -2
- package/dist/chunks/cli-1.1.37-39bw2pz6.mjs +0 -2
- package/dist/chunks/cli-1.1.37-3j7g0j34.mjs +0 -2
- package/dist/chunks/cli-1.1.37-3k4d07av.mjs +0 -2
- package/dist/chunks/cli-1.1.37-3pyzesy7.mjs +0 -2
- package/dist/chunks/cli-1.1.37-41q5f236.mjs +0 -63
- package/dist/chunks/cli-1.1.37-45phxq6t.mjs +0 -2
- package/dist/chunks/cli-1.1.37-46pcgpjk.mjs +0 -5
- package/dist/chunks/cli-1.1.37-4829k99z.mjs +0 -8
- package/dist/chunks/cli-1.1.37-4cwzzzkp.mjs +0 -2
- package/dist/chunks/cli-1.1.37-4cyg3kha.mjs +0 -15
- package/dist/chunks/cli-1.1.37-4s29t03n.mjs +0 -2
- package/dist/chunks/cli-1.1.37-519yanf4.mjs +0 -2
- package/dist/chunks/cli-1.1.37-51efrsrh.mjs +0 -2
- package/dist/chunks/cli-1.1.37-58pbecmv.mjs +0 -2
- package/dist/chunks/cli-1.1.37-5gj77q8j.mjs +0 -2
- package/dist/chunks/cli-1.1.37-5k40cazp.mjs +0 -2
- package/dist/chunks/cli-1.1.37-5ppknhpq.mjs +0 -50
- package/dist/chunks/cli-1.1.37-67ncf860.mjs +0 -2
- package/dist/chunks/cli-1.1.37-6k9f1kb2.mjs +0 -6
- package/dist/chunks/cli-1.1.37-6pcx2j1q.mjs +0 -2
- package/dist/chunks/cli-1.1.37-72ezs6b8.mjs +0 -2
- package/dist/chunks/cli-1.1.37-7483gf56.mjs +0 -3
- package/dist/chunks/cli-1.1.37-7614bfhm.mjs +0 -25
- package/dist/chunks/cli-1.1.37-7f3hdq3p.mjs +0 -2
- package/dist/chunks/cli-1.1.37-7h3edez5.mjs +0 -2
- package/dist/chunks/cli-1.1.37-7prgb5qb.mjs +0 -2
- package/dist/chunks/cli-1.1.37-7qda9cmg.mjs +0 -2
- package/dist/chunks/cli-1.1.37-8n5vy3kh.mjs +0 -2
- package/dist/chunks/cli-1.1.37-8v3e4pnr.mjs +0 -2
- package/dist/chunks/cli-1.1.37-8wfxbqcm.mjs +0 -20
- package/dist/chunks/cli-1.1.37-944j3qt1.mjs +0 -2
- package/dist/chunks/cli-1.1.37-94bfnv5a.mjs +0 -2
- package/dist/chunks/cli-1.1.37-96sf5t1p.mjs +0 -2
- package/dist/chunks/cli-1.1.37-9x24mgyx.mjs +0 -2
- package/dist/chunks/cli-1.1.37-a3xp4gqs.mjs +0 -3
- package/dist/chunks/cli-1.1.37-a489vqjv.mjs +0 -2
- package/dist/chunks/cli-1.1.37-a5ddx2f0.mjs +0 -2
- package/dist/chunks/cli-1.1.37-a6pppj4k.mjs +0 -2
- package/dist/chunks/cli-1.1.37-a7jrq85d.mjs +0 -2
- package/dist/chunks/cli-1.1.37-ayhzfa69.mjs +0 -2
- package/dist/chunks/cli-1.1.37-ayqpwfm4.mjs +0 -2
- package/dist/chunks/cli-1.1.37-b26at90a.mjs +0 -4
- package/dist/chunks/cli-1.1.37-be0x6tdq.mjs +0 -18
- package/dist/chunks/cli-1.1.37-bkp0a6f1.mjs +0 -2
- package/dist/chunks/cli-1.1.37-cmbtcpwy.mjs +0 -2
- package/dist/chunks/cli-1.1.37-crpgw5qe.mjs +0 -133
- package/dist/chunks/cli-1.1.37-cw718qh8.mjs +0 -42
- package/dist/chunks/cli-1.1.37-d1fcgxg0.mjs +0 -2
- package/dist/chunks/cli-1.1.37-d23vxnm9.mjs +0 -2
- package/dist/chunks/cli-1.1.37-d6n91ex7.mjs +0 -15
- package/dist/chunks/cli-1.1.37-dj2tqhmt.mjs +0 -2
- package/dist/chunks/cli-1.1.37-dt1m5cht.mjs +0 -2
- package/dist/chunks/cli-1.1.37-ecm5tm4s.mjs +0 -2
- package/dist/chunks/cli-1.1.37-ekft3ygw.mjs +0 -2
- package/dist/chunks/cli-1.1.37-ev14s3y6.mjs +0 -4
- package/dist/chunks/cli-1.1.37-ex5tn3t8.mjs +0 -6
- package/dist/chunks/cli-1.1.37-f4cc288j.mjs +0 -2
- package/dist/chunks/cli-1.1.37-f7e57y66.mjs +0 -2
- package/dist/chunks/cli-1.1.37-f9mv7jky.mjs +0 -2
- package/dist/chunks/cli-1.1.37-fdkc3sf9.mjs +0 -2
- package/dist/chunks/cli-1.1.37-fksjv0et.mjs +0 -2
- package/dist/chunks/cli-1.1.37-fsjyvbbb.mjs +0 -2
- package/dist/chunks/cli-1.1.37-g7m905sy.mjs +0 -3
- package/dist/chunks/cli-1.1.37-g9d8qc79.mjs +0 -2
- package/dist/chunks/cli-1.1.37-gfbpxehy.mjs +0 -2
- package/dist/chunks/cli-1.1.37-gpk56nss.mjs +0 -2
- package/dist/chunks/cli-1.1.37-grsmntjy.mjs +0 -5557
- package/dist/chunks/cli-1.1.37-gswxz7xc.mjs +0 -25
- package/dist/chunks/cli-1.1.37-h0jx10pf.mjs +0 -11
- package/dist/chunks/cli-1.1.37-h4spe8tn.mjs +0 -16
- package/dist/chunks/cli-1.1.37-h7r11vsm.mjs +0 -15
- package/dist/chunks/cli-1.1.37-he99jbx1.mjs +0 -2
- package/dist/chunks/cli-1.1.37-hef24tpw.mjs +0 -3
- package/dist/chunks/cli-1.1.37-hgz1n58h.mjs +0 -2
- package/dist/chunks/cli-1.1.37-htprtn3s.mjs +0 -2
- package/dist/chunks/cli-1.1.37-hwan9xgw.mjs +0 -2
- package/dist/chunks/cli-1.1.37-j1vf4g9d.mjs +0 -4
- package/dist/chunks/cli-1.1.37-j6kremq2.mjs +0 -2
- package/dist/chunks/cli-1.1.37-jb5tx7mz.mjs +0 -2
- package/dist/chunks/cli-1.1.37-jbqk7r70.mjs +0 -2
- package/dist/chunks/cli-1.1.37-jfqs1fqm.mjs +0 -2
- package/dist/chunks/cli-1.1.37-jr1vseya.mjs +0 -4
- package/dist/chunks/cli-1.1.37-jr69vbpp.mjs +0 -3
- package/dist/chunks/cli-1.1.37-jv2bhmv9.mjs +0 -2
- package/dist/chunks/cli-1.1.37-jz75ctqt.mjs +0 -4
- package/dist/chunks/cli-1.1.37-kahw2epk.mjs +0 -39
- package/dist/chunks/cli-1.1.37-kb946f3c.mjs +0 -2
- package/dist/chunks/cli-1.1.37-kemsps6y.mjs +0 -60
- package/dist/chunks/cli-1.1.37-khfxdt5q.mjs +0 -2
- package/dist/chunks/cli-1.1.37-kn42c81a.mjs +0 -3
- package/dist/chunks/cli-1.1.37-kwaccfak.mjs +0 -2
- package/dist/chunks/cli-1.1.37-m1fep5be.mjs +0 -2
- package/dist/chunks/cli-1.1.37-m456xrwv.mjs +0 -2
- package/dist/chunks/cli-1.1.37-m5yt8y0j.mjs +0 -2
- package/dist/chunks/cli-1.1.37-m6gntr6v.mjs +0 -2
- package/dist/chunks/cli-1.1.37-ma9krcyk.mjs +0 -2
- package/dist/chunks/cli-1.1.37-mexv9k9t.mjs +0 -2
- package/dist/chunks/cli-1.1.37-mf2q6gmp.mjs +0 -2
- package/dist/chunks/cli-1.1.37-mqc9bwxe.mjs +0 -2
- package/dist/chunks/cli-1.1.37-mrvnfwyz.mjs +0 -2
- package/dist/chunks/cli-1.1.37-mw2jz1zw.mjs +0 -7
- package/dist/chunks/cli-1.1.37-n183zk9b.mjs +0 -24
- package/dist/chunks/cli-1.1.37-n5rtec8d.mjs +0 -2
- package/dist/chunks/cli-1.1.37-n96tca8q.mjs +0 -2
- package/dist/chunks/cli-1.1.37-ncfrm58b.mjs +0 -2
- package/dist/chunks/cli-1.1.37-nhcj6483.mjs +0 -2
- package/dist/chunks/cli-1.1.37-nmaxyg7j.mjs +0 -2
- package/dist/chunks/cli-1.1.37-nzbxb3mg.mjs +0 -2
- package/dist/chunks/cli-1.1.37-p6s3mz30.mjs +0 -9
- package/dist/chunks/cli-1.1.37-pek0pwba.mjs +0 -2
- package/dist/chunks/cli-1.1.37-ptf1j7na.mjs +0 -2
- package/dist/chunks/cli-1.1.37-pvh445g5.mjs +0 -3
- package/dist/chunks/cli-1.1.37-pw36zafa.mjs +0 -2
- package/dist/chunks/cli-1.1.37-q1053cc2.mjs +0 -17
- package/dist/chunks/cli-1.1.37-qcn1j79h.mjs +0 -2
- package/dist/chunks/cli-1.1.37-qq29akkh.mjs +0 -2
- package/dist/chunks/cli-1.1.37-qx20qhv7.mjs +0 -2
- package/dist/chunks/cli-1.1.37-rdmqbzqh.mjs +0 -2
- package/dist/chunks/cli-1.1.37-rwsh9ddm.mjs +0 -3
- package/dist/chunks/cli-1.1.37-ryrmx9mz.mjs +0 -10
- package/dist/chunks/cli-1.1.37-s09fpmwg.mjs +0 -2
- package/dist/chunks/cli-1.1.37-s66bx6wx.mjs +0 -24
- package/dist/chunks/cli-1.1.37-sf9mv58v.mjs +0 -10
- package/dist/chunks/cli-1.1.37-sm7wj6sf.mjs +0 -4
- package/dist/chunks/cli-1.1.37-sqyyjrzq.mjs +0 -5
- package/dist/chunks/cli-1.1.37-ss1k0v1c.mjs +0 -2
- package/dist/chunks/cli-1.1.37-ssstmvw3.mjs +0 -3
- package/dist/chunks/cli-1.1.37-sxzqtyda.mjs +0 -2
- package/dist/chunks/cli-1.1.37-syfanvjj.mjs +0 -2
- package/dist/chunks/cli-1.1.37-sygz2s62.mjs +0 -2
- package/dist/chunks/cli-1.1.37-tkdarzaz.mjs +0 -2
- package/dist/chunks/cli-1.1.37-tntw41wr.mjs +0 -2
- package/dist/chunks/cli-1.1.37-tqgcfdy1.mjs +0 -2
- package/dist/chunks/cli-1.1.37-v43zxjn1.mjs +0 -2
- package/dist/chunks/cli-1.1.37-v7ra9bdg.mjs +0 -10
- package/dist/chunks/cli-1.1.37-v901k2xy.mjs +0 -2
- package/dist/chunks/cli-1.1.37-v90enr9t.mjs +0 -2
- package/dist/chunks/cli-1.1.37-vfcg5s15.mjs +0 -2
- package/dist/chunks/cli-1.1.37-vg7rr3sv.mjs +0 -2
- package/dist/chunks/cli-1.1.37-vhmf8afh.mjs +0 -2
- package/dist/chunks/cli-1.1.37-vhmsvame.mjs +0 -2
- package/dist/chunks/cli-1.1.37-vrdgh1e0.mjs +0 -2
- package/dist/chunks/cli-1.1.37-w0tvj01c.mjs +0 -2
- package/dist/chunks/cli-1.1.37-wm28b2wb.mjs +0 -2
- package/dist/chunks/cli-1.1.37-wv9phckk.mjs +0 -9
- package/dist/chunks/cli-1.1.37-x03y4qkg.mjs +0 -2
- package/dist/chunks/cli-1.1.37-x0nz472y.mjs +0 -2
- package/dist/chunks/cli-1.1.37-x27pf2df.mjs +0 -2
- package/dist/chunks/cli-1.1.37-x363x6yv.mjs +0 -12
- package/dist/chunks/cli-1.1.37-xqs4w5xj.mjs +0 -2
- package/dist/chunks/cli-1.1.37-xxa2yvvm.mjs +0 -2
- package/dist/chunks/cli-1.1.37-y101rdsg.mjs +0 -2
- package/dist/chunks/cli-1.1.37-y2c4zsfh.mjs +0 -6
- package/dist/chunks/cli-1.1.37-y3knvtaz.mjs +0 -2
- package/dist/chunks/cli-1.1.37-ye5hkqff.mjs +0 -2
- package/dist/chunks/cli-1.1.37-yx7j10g7.mjs +0 -2
- package/dist/chunks/cli-1.1.37-z0tedaby.mjs +0 -2
- package/dist/chunks/cli-1.1.37-z414tkgs.mjs +0 -2
- package/dist/chunks/cli-1.1.37-z4wav0zf.mjs +0 -251
- package/dist/chunks/cli-1.1.37-z6pkdynf.mjs +0 -2
- package/dist/chunks/cli-1.1.37-z9fbkmx6.mjs +0 -2
- package/dist/chunks/cli-1.1.37-zb319x4t.mjs +0 -21
- package/dist/chunks/cli-1.1.37-zdpyj00a.mjs +0 -2
- package/dist/chunks/cli-1.1.37-zmvkkbkz.mjs +0 -2
- package/dist/chunks/cli-1.1.37-zp02yw3a.mjs +0 -7
- package/dist/chunks/cli-1.1.37-zv5qmddr.mjs +0 -2
- package/dist/chunks/cli-1.1.37-zyh3q51q.mjs +0 -2
- package/dist/chunks/client-1.1.37-xgmkbazy.mjs +0 -1
- package/dist/chunks/color-1.1.37-y730edtg.mjs +0 -1
- package/dist/chunks/compact-1.1.37-w4h4spv3.mjs +0 -2
- package/dist/chunks/config-1.1.37-kw2by168.mjs +0 -1
- package/dist/chunks/config-1.1.37-nxkma2y7.mjs +0 -1
- package/dist/chunks/constants-1.1.37-ctp81rsa.mjs +0 -1
- package/dist/chunks/context-1.1.37-ayxgyhvf.mjs +0 -1
- package/dist/chunks/context-noninteractive-1.1.37-9fnpakkn.mjs +0 -1
- package/dist/chunks/conversation-1.1.37-c5qptech.mjs +0 -1
- package/dist/chunks/copilotHeaders-1.1.37-2jh9xkzj.mjs +0 -1
- package/dist/chunks/copy-1.1.37-3x6yh3re.mjs +0 -9
- package/dist/chunks/cost-1.1.37-k4egf2cb.mjs +0 -1
- package/dist/chunks/createSession-1.1.37-ps0330f5.mjs +0 -1
- package/dist/chunks/debug-1.1.37-rg6428fc.mjs +0 -1
- package/dist/chunks/defaultActionDeps-1.1.37-0p69kpbf.mjs +0 -1458
- package/dist/chunks/desktop-1.1.37-vw4rzhtp.mjs +0 -2
- package/dist/chunks/detectRepository-1.1.37-de5st3z1.mjs +0 -1
- package/dist/chunks/detection-1.1.37-2ah57ykf.mjs +0 -1
- package/dist/chunks/diff-1.1.37-h35ry5bf.mjs +0 -1
- package/dist/chunks/doctor-1.1.37-4sdv75rj.mjs +0 -1
- package/dist/chunks/doctorDiagnostic-1.1.37-aj2q1yxr.mjs +0 -1
- package/dist/chunks/earlyInput-1.1.37-f1bz41ba.mjs +0 -1
- package/dist/chunks/effort-1.1.37-qme7s71h.mjs +0 -13
- package/dist/chunks/engine-1.1.37-vhnerrj8.mjs +0 -1
- package/dist/chunks/envUtils-1.1.37-jmnztajb.mjs +0 -1
- package/dist/chunks/errors-1.1.37-gx18q68s.mjs +0 -1
- package/dist/chunks/exampleCommands-1.1.37-jeewe5zp.mjs +0 -1
- package/dist/chunks/execFileNoThrow-1.1.37-9znv87jk.mjs +0 -1
- package/dist/chunks/exit-1.1.37-g21nsxb0.mjs +0 -1
- package/dist/chunks/explorer-1.1.37-x26rvwxm.mjs +0 -1
- package/dist/chunks/export-1.1.37-f9367qzp.mjs +0 -2
- package/dist/chunks/fast-1.1.37-66kcejyq.mjs +0 -1
- package/dist/chunks/feedback-1.1.37-cmzfc89p.mjs +0 -16
- package/dist/chunks/git-1.1.37-2v8rmfsp.mjs +0 -1
- package/dist/chunks/githubModelsCredentials-1.1.37-qa9ahy75.mjs +0 -1
- package/dist/chunks/goal-1.1.37-qxqx92gp.mjs +0 -4
- package/dist/chunks/headless-1.1.37-dkg8aqth.mjs +0 -2
- package/dist/chunks/heapdump-1.1.37-4hzv26jg.mjs +0 -6
- package/dist/chunks/help-1.1.37-94a27s9t.mjs +0 -1
- package/dist/chunks/hooks-1.1.37-ekx4v46c.mjs +0 -79
- package/dist/chunks/hooks-1.1.37-yeewd50h.mjs +0 -1
- package/dist/chunks/ide-1.1.37-knedgvva.mjs +0 -3
- package/dist/chunks/image-processor-napi-1.1.37-cdpery4t.mjs +0 -1
- package/dist/chunks/import-1.1.37-e6j4yen6.mjs +0 -261
- package/dist/chunks/inboundAttachments-1.1.37-jjm28zc3.mjs +0 -1
- package/dist/chunks/index-1.1.37-21b053j0.mjs +0 -1
- package/dist/chunks/index-1.1.37-3v1qr5g5.mjs +0 -9
- package/dist/chunks/index-1.1.37-5jd6yv91.mjs +0 -1
- package/dist/chunks/index-1.1.37-5m0x7mgr.mjs +0 -2
- package/dist/chunks/index-1.1.37-7p4s9e93.mjs +0 -5
- package/dist/chunks/index-1.1.37-8d8wz2jd.mjs +0 -1
- package/dist/chunks/index-1.1.37-8nj0y31t.mjs +0 -1
- package/dist/chunks/index-1.1.37-9mdrpppp.mjs +0 -1
- package/dist/chunks/index-1.1.37-fsrw22yr.mjs +0 -1
- package/dist/chunks/index-1.1.37-gbkrjwx2.mjs +0 -1
- package/dist/chunks/index-1.1.37-j22mymj3.mjs +0 -1
- package/dist/chunks/index-1.1.37-j7mg2v2z.mjs +0 -1
- package/dist/chunks/index-1.1.37-jt0qvhqx.mjs +0 -9
- package/dist/chunks/index-1.1.37-kqbx8bd4.mjs +0 -1
- package/dist/chunks/index-1.1.37-md3nqn7b.mjs +0 -1
- package/dist/chunks/index-1.1.37-nvrt1jkm.mjs +0 -1
- package/dist/chunks/index-1.1.37-qs532q75.mjs +0 -2
- package/dist/chunks/index-1.1.37-vrf2sks4.mjs +0 -1
- package/dist/chunks/index-1.1.37-w2vtqz1f.mjs +0 -30
- package/dist/chunks/index-1.1.37-wtf428dj.mjs +0 -1
- package/dist/chunks/index-1.1.37-x3qnjdnj.mjs +0 -23
- package/dist/chunks/index-1.1.37-xvds1tk7.mjs +0 -1
- package/dist/chunks/index-1.1.37-ycghwm8a.mjs +0 -1
- package/dist/chunks/init-1.1.37-rej95xjh.mjs +0 -2
- package/dist/chunks/initReplBridge-1.1.37-fg8xhcbg.mjs +0 -1
- package/dist/chunks/ink-1.1.37-9hasxe0p.mjs +0 -1
- package/dist/chunks/insights-1.1.37-t8pdcny6.mjs +0 -870
- package/dist/chunks/install-1.1.37-3qw7jywz.mjs +0 -1
- package/dist/chunks/install-github-app-1.1.37-xxm8pfc7.mjs +0 -149
- package/dist/chunks/install-slack-app-1.1.37-k2gvh481.mjs +0 -1
- package/dist/chunks/interactiveHelpers-1.1.37-65a5va0g.mjs +0 -1
- package/dist/chunks/latestVersionCache-1.1.37-3a47ekt3.mjs +0 -1
- package/dist/chunks/loadAgentsDir-1.1.37-tacjzkxh.mjs +0 -1
- package/dist/chunks/loadPluginHooks-1.1.37-xp0k0sev.mjs +0 -1
- package/dist/chunks/log-1.1.37-zxjr2p0h.mjs +0 -1
- package/dist/chunks/main-1.1.37-z5knsc2c.mjs +0 -1
- package/dist/chunks/managedEnv-1.1.37-v6d9x7gc.mjs +0 -1
- package/dist/chunks/mcp-1.1.37-2f8vksgy.mjs +0 -1
- package/dist/chunks/mcp-1.1.37-t42e1h6v.mjs +0 -17
- package/dist/chunks/mcp-1.1.37-z5yx7ce8.mjs +0 -4
- package/dist/chunks/mcpb-1.1.37-nxn1ew24.mjs +0 -1
- package/dist/chunks/memory-1.1.37-e17frzj2.mjs +0 -128
- package/dist/chunks/model-1.1.37-415ebhh8.mjs +0 -2
- package/dist/chunks/model-1.1.37-51zfsc21.mjs +0 -1
- package/dist/chunks/new-1.1.37-qmpxmvhh.mjs +0 -1
- package/dist/chunks/node-1.1.37-60r1zc7a.mjs +0 -1
- package/dist/chunks/node-1.1.37-bzzjhz9b.mjs +0 -15
- package/dist/chunks/oauth-1.1.37-an1mr5z0.mjs +0 -1
- package/dist/chunks/openaiShim-1.1.37-d7tbje1m.mjs +0 -14
- package/dist/chunks/output-style-1.1.37-ky7bh1p8.mjs +0 -1
- package/dist/chunks/package-F6O7J2XI-1.1.37-cpdvge3d.mjs +0 -1
- package/dist/chunks/permissions-1.1.37-jfdwfjhx.mjs +0 -1
- package/dist/chunks/permissions-1.1.37-xa1rr619.mjs +0 -3
- package/dist/chunks/plan-1.1.37-mkad4kke.mjs +0 -1
- package/dist/chunks/plist-1.1.37-jp82073r.mjs +0 -1
- package/dist/chunks/plugin-1.1.37-4y7stngn.mjs +0 -29
- package/dist/chunks/pluginStartupCheck-1.1.37-mb876t1m.mjs +0 -1
- package/dist/chunks/plugins-1.1.37-vgwj76jr.mjs +0 -9
- package/dist/chunks/preActionHook-1.1.37-y5x9wxpb.mjs +0 -2
- package/dist/chunks/print-1.1.37-39471kxm.mjs +0 -57
- package/dist/chunks/process-1.1.37-0sxw7yj7.mjs +0 -1
- package/dist/chunks/processBashCommand-1.1.37-3a9hjw0c.mjs +0 -1
- package/dist/chunks/processSlashCommand-1.1.37-qkdzw4bn.mjs +0 -9
- package/dist/chunks/prompt-1.1.37-7ty4xbzv.mjs +0 -1
- package/dist/chunks/prompt-1.1.37-t1pkc4hm.mjs +0 -1
- package/dist/chunks/prompts-1.1.37-vc8tkqtx.mjs +0 -1
- package/dist/chunks/provider-1.1.37-d5ky3fex.mjs +0 -2
- package/dist/chunks/providerProfiles-1.1.37-qds9eqzt.mjs +0 -1
- package/dist/chunks/providerValidation-1.1.37-njz9qc5m.mjs +0 -6
- package/dist/chunks/registerSubcommands-1.1.37-mh25jf7y.mjs +0 -26
- package/dist/chunks/registry-1.1.37-j99mgf8f.mjs +0 -1
- package/dist/chunks/release-notes-1.1.37-9gkg8tfr.mjs +0 -5
- package/dist/chunks/reload-plugins-1.1.37-4sptja72.mjs +0 -2
- package/dist/chunks/remote-env-1.1.37-t2zt0dx6.mjs +0 -1
- package/dist/chunks/rename-1.1.37-r3rf1zcp.mjs +0 -1
- package/dist/chunks/replLauncher-1.1.37-q72zpdec.mjs +0 -1
- package/dist/chunks/resume-1.1.37-7y7v8kjq.mjs +0 -2
- package/dist/chunks/rewind-1.1.37-g7g9fq2x.mjs +0 -1
- package/dist/chunks/rootOptions-1.1.37-gab9zhq2.mjs +0 -1
- package/dist/chunks/runWorkflowHeadless-1.1.37-hfkacx24.mjs +0 -10
- package/dist/chunks/sandbox-adapter-1.1.37-0z182pcd.mjs +0 -1
- package/dist/chunks/sandbox-toggle-1.1.37-qpef07xe.mjs +0 -1
- package/dist/chunks/session-1.1.37-23e3vg40.mjs +0 -2
- package/dist/chunks/sessionStorage-1.1.37-80sj7d1y.mjs +0 -1
- package/dist/chunks/settings-1.1.37-9ydtb00s.mjs +0 -1
- package/dist/chunks/setup-1.1.37-zw16kqhk.mjs +0 -12
- package/dist/chunks/sinks-1.1.37-zfyvj9zb.mjs +0 -1
- package/dist/chunks/skills-1.1.37-k5m03dxr.mjs +0 -1
- package/dist/chunks/startupProfiler-1.1.37-c215kgmn.mjs +0 -1
- package/dist/chunks/startupUpdateCheck-1.1.37-gkvkp8j3.mjs +0 -1
- package/dist/chunks/state-1.1.37-n5ptmgvs.mjs +0 -1
- package/dist/chunks/stats-1.1.37-aa4vr5s9.mjs +0 -1
- package/dist/chunks/status-1.1.37-ay3wwhz4.mjs +0 -1
- package/dist/chunks/stickers-1.1.37-9s6a0we7.mjs +0 -1
- package/dist/chunks/subprocessEnv-1.1.37-j60ejzj9.mjs +0 -1
- package/dist/chunks/tasks-1.1.37-0kkyatcs.mjs +0 -1
- package/dist/chunks/teamHelpers-1.1.37-bh946f2s.mjs +0 -1
- package/dist/chunks/teammateModeSnapshot-1.1.37-hvr3p8hm.mjs +0 -1
- package/dist/chunks/teleport-1.1.37-r8pztaf5.mjs +0 -1
- package/dist/chunks/terminalSetup-1.1.37-db8a6fsx.mjs +0 -1
- package/dist/chunks/theme-1.1.37-syjd1g1y.mjs +0 -1
- package/dist/chunks/toolPool-1.1.37-99ckwfft.mjs +0 -1
- package/dist/chunks/toolSearch-1.1.37-w702g2e2.mjs +0 -1
- package/dist/chunks/tools-1.1.37-q0g8gdy1.mjs +0 -1
- package/dist/chunks/turndown.cjs-1.1.37-p3av7xdw.mjs +0 -69
- package/dist/chunks/types-1.1.37-0zw1rq84.mjs +0 -1
- package/dist/chunks/update-1.1.37-njeg6bcd.mjs +0 -72
- package/dist/chunks/upload-1.1.37-gzm0qpn7.mjs +0 -7
- package/dist/chunks/upstreamproxy-1.1.37-v8bpt97q.mjs +0 -14
- package/dist/chunks/usage-1.1.37-b2a8dppj.mjs +0 -1
- package/dist/chunks/util-1.1.37-psbfj1x5.mjs +0 -1
- package/dist/chunks/utils-1.1.37-efqgjtyn.mjs +0 -1
- package/dist/chunks/vim-1.1.37-3vwhey1j.mjs +0 -1
- package/dist/chunks/watchLoop-1.1.37-hmgj516c.mjs +0 -13
- package/dist/chunks/wiki-1.1.37-y24wnewk.mjs +0 -132
- package/dist/chunks/workflows-1.1.37-eywdbk9a.mjs +0 -1
- package/dist/chunks/worktree-1.1.37-k9y7x7fq.mjs +0 -1
- package/dist/chunks/worktreeModeEnabled-1.1.37-bq8bmkt7.mjs +0 -1
- package/dist/chunks/wrapper-1.1.37-mam70w68.mjs +0 -7
- /package/dist/chunks/{cli-1.1.37-6defhmsy.mjs → cli-1.1.39-avfsydnr.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.37-g7xfccj8.mjs → cli-1.1.39-erbg35qn.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.37-tfvyj3nx.mjs → cli-1.1.39-hn5s43sr.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.37-422098yx.mjs → cli-1.1.39-jsnryd3j.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.37-tb7ktts9.mjs → cli-1.1.39-qnem4654.mjs} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{rZ as M,sZ as D}from"./cli-1.1.39-nxv718fh.mjs";import{Aea as F,Gfa as S,Iea as _,Jfa as p,Tea as l,Wea as L,Xea as c}from"./cli-1.1.39-p2sg5g92.mjs";import{ika as Y,oka as m}from"./cli-1.1.39-e4p7vgrg.mjs";import{Nqa as B}from"./cli-1.1.39-z8ts6axr.mjs";function R(J){if(!J)return;let Q=J.trim().replace(/^https?:\/\//i,"").replace(/\/+$/,"");if(!Q||Q.toLowerCase()==="github.com")return;return Q}function b(J){return J?`https://${J}/login/device/code`:T}function v(J){return J?`https://${J}/login/oauth/access_token`:f}function h(J){return J?`https://api.${J}/copilot_internal/v2/token`:G}function H(){return process.env.GITHUB_DEVICE_FLOW_CLIENT_ID?.trim()||E}function P(J){return new Promise((Q)=>setTimeout(Q,J))}async function r(J){let Q=J?.clientId??H();if(!Q)throw new q("No OAuth client ID: set GITHUB_DEVICE_FLOW_CLIENT_ID.");let Z=J?.fetchImpl??fetch,j=J?.scope?.trim()||C,$=j===C?[j]:[j,C],z="Device code request failed.",y=b(R(J?.domain));for(let V of $){let W=await Z(y,{method:"POST",headers:{Accept:"application/json"},body:new URLSearchParams({client_id:Q,scope:V})});if(!W.ok){let x=await W.text().catch(()=>"");z=`Device code request failed: ${W.status} ${x}`;let k=/invalid_scope/i.test(x);if(V!==C&&k)continue;throw new q(z)}let X=await W.json(),N=X.device_code,K=X.user_code,w=X.verification_uri;if(typeof N!=="string"||typeof K!=="string"||typeof w!=="string")throw new q("Malformed device code response from GitHub");return{device_code:N,user_code:K,verification_uri:w,expires_in:typeof X.expires_in==="number"?X.expires_in:900,interval:typeof X.interval==="number"?X.interval:5}}throw new q(z)}async function o(J,Q){let Z=Q?.clientId??H();if(!Z)throw new q("client_id required for polling");let j=Math.max(1,Q?.initialInterval??5),$=Q?.timeoutSeconds??900,z=Q?.fetchImpl??fetch,y=v(R(Q?.domain)),V=Date.now();while((Date.now()-V)/1000<$){let W=await z(y,{method:"POST",headers:{Accept:"application/json"},body:new URLSearchParams({client_id:Z,device_code:J,grant_type:"urn:ietf:params:oauth:grant-type:device_code"})});if(!W.ok){let K=await W.text().catch(()=>"");throw new q(`Token request failed: ${W.status} ${K}`)}let X=await W.json(),N=X.error;if(N==null){let K=X.access_token;if(typeof K==="string"&&K)return K;throw new q("No access_token in response")}if(N==="authorization_pending"){await P(j*1000);continue}if(N==="slow_down"){j=typeof X.interval==="number"?X.interval:j+5,await P(j*1000);continue}if(N==="expired_token")throw new q("Device code expired. Start the login flow again.");if(N==="access_denied")throw new q("Authorization was denied or cancelled.");throw new q(`GitHub OAuth error: ${N}`)}throw new q("Timed out waiting for authorization.")}async function e(J){await M(J)}async function I(J,Q){let Z=typeof Q==="function"?{fetchImpl:Q}:Q??{},j=Z.fetchImpl??fetch,$=h(R(Z.domain)),z=await j($,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${J}`,...u}});if(!z.ok){let K=await z.text().catch(()=>"");throw new q(`Copilot token exchange failed: ${z.status} ${K}`)}let y=await z.json(),V=y.token,W=y.expires_at,X=y.refresh_in,N=y.endpoints;if(typeof V!=="string"||typeof W!=="number"||typeof X!=="number"||!N||typeof N!=="object"||typeof N.api!=="string")throw new q("Malformed Copilot token response");return{token:V,expires_at:W,refresh_in:X,endpoints:N}}var E="Iv1.b507a08c87ecfe98",T="https://github.com/login/device/code",f="https://github.com/login/oauth/access_token",G="https://api.github.com/copilot_internal/v2/token",C="read:user",u,q;var O=B(()=>{D();u={"User-Agent":"GitHubCopilotChat/0.26.7","Editor-Version":"vscode/1.99.3","Editor-Plugin-Version":"copilot-chat/0.26.7","Copilot-Integration-Id":"vscode-chat"};q=class q extends Error{constructor(J){super(J);this.name="GitHubDeviceFlowError"}}});function g(){return S()?.transport==="github_copilot"}function d(J){let Q=J.match(/exp=(\d+)/);if(Q){let $=Number(Q[1]);if(!Number.isNaN($))return Date.now()>=$*1000?"expired":"valid"}let Z=J.split(".");if(Z.length===3&&Z.every(($)=>/^[A-Za-z0-9_-]+$/.test($)))try{let $=Z[1].replace(/-/g,"+").replace(/_/g,"/"),z=$+"=".repeat((4-$.length%4)%4),y=Buffer.from(z,"base64").toString("utf8"),V=JSON.parse(y);if(V&&typeof V==="object"&&V.exp)return Date.now()>=V.exp*1000?"expired":"valid"}catch{return"invalid_format"}return"invalid_format"}function a(){if(Y())return;try{return L().read()?.githubModels?.accessToken?.trim()||void 0}catch{return}}async function WJ(){if(Y())return;try{return(await L().readAsync())?.githubModels?.accessToken?.trim()||void 0}catch{return}}function jJ(){if(!g())return;if(Y())return;if(a())return}async function yJ(){if(!g())return!1;if(Y())return!1;if(A)return A;return A=(async()=>{try{let Z=L().read()?.githubModels,j=Z?.accessToken?.trim()||"",$=Z?.oauthAccessToken?.trim()||"";if(!j&&!$)return!1;if((j?d(j):"expired")==="valid")return!1;if(!$)return!1;let y=Z?.enterpriseDomain?.trim()||void 0,V=await I($,{domain:y});if(!n(V.token,$,y).success)return!1;let X=F().find((N)=>N.provider==="openai"&&N.extras?.githubToken!==void 0);if(X)_(X.id,{provider:"openai",name:X.name,baseUrl:X.baseUrl,model:X.model,apiKey:V.token,extras:{...X.extras,githubToken:V.token}});return!0}catch{return!1}finally{A=null}})(),A}function n(J,Q,Z){if(Y())return{success:!1,warning:"Bare mode: secure storage is disabled."};let j=J.trim();if(!j)return{success:!1,warning:"Token is empty."};let $=L(),z=$.read()||{},y=z[U],V=Q?.trim(),W={accessToken:j};if(V){if(W.oauthAccessToken=V,Z?.trim())W.enterpriseDomain=Z.trim()}else{if(y?.oauthAccessToken?.trim())W.oauthAccessToken=y.oauthAccessToken.trim();let N=Z?.trim()||y?.enterpriseDomain?.trim();if(N)W.enterpriseDomain=N}let X={...z,[U]:W};return $.update(X)}function zJ(){if(Y())return{success:!0};let J=L(),Z={...J.read()||{}};return delete Z[U],J.update(Z)}var U="githubModels",VJ="CLAUDE_CODE_GITHUB_TOKEN_HYDRATED",A=null;var s=B(()=>{p();m();c();O();l()});
|
|
2
|
+
export{R as bZ,r as cZ,o as dZ,e as eZ,I as fZ,O as gZ,U as hZ,VJ as iZ,a as jZ,WJ as kZ,jJ as lZ,yJ as mZ,n as nZ,zJ as oZ,s as pZ};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{Gm as h,Hm as wQ,Im as u,Jm as LQ,Sl as jQ,iN as E,jN as MQ}from"./cli-1.1.39-yyqx9zb5.mjs";import{hja as U,lja as UQ,vja as j,yja as XQ}from"./cli-1.1.39-pc9dgxhx.mjs";import{Wja as _,aka as vQ}from"./cli-1.1.39-wdctfdbb.mjs";import{Jqa as GQ,Nqa as C}from"./cli-1.1.39-z8ts6axr.mjs";function WQ(Z){let Q=[],$=null;return Z.split(`
|
|
2
|
+
`).forEach((W,Y)=>{let J=r.exec(W);if(J){$=$===null?J[1]??"":null;return}Q.push({text:W,number:Y+1,fence:$})}),Q}function YQ(Z){return Z.split(/\s+/).map((Q)=>Q.replace(/[,;]+$/,"")).filter((Q)=>Q.length>0)}function qQ(Z){return Z.match(a)?.length??0}function JQ(Z,Q,$){let W="",Y=[];for(let{text:J,number:q,fence:z}of Z){if(z===null||b.has(z))continue;let V=s.exec(J);if(V?.[1]!==void 0){W=V[1],Y=[];continue}let H=l.exec(J);if(!H)continue;let K=qQ(H[1]??""),B=Y[K]??W,G=J.slice(H[0].length).split(o)[0]??"",w=!1,X=null;for(let L of YQ(G)){let S=t.exec(L);if(S?.[1]!==void 0&&X!==null){$.push({path:X,claimed:Number(S[1].replace(/,/g,"")),line:J,lineNumber:q}),X=null;continue}X=null;let y=n.test(L);if(!y&&!i.test(L))continue;let M=B+L;if(Q.push({path:M,line:J,lineNumber:q}),!y)continue;if(X=M,!w)Y[K+1]=M,w=!0}Y.length=Math.min(Y.length,K+2)}}function VQ(Z,Q,$){for(let{text:W,number:Y,fence:J}of Z){if(J!==null&&b.has(J))continue;for(let q of W.matchAll(e)){let z=q[1],V=q[2];if(z===void 0||V===void 0)continue;let H=QQ.exec(V);if(H?.[1]!==void 0){let B=H[2]?.toLowerCase()==="k"?1000:1,G=Math.round(Number(H[1].replace(/,/g,""))*B);if(Number.isFinite(G)&&G>0)Q.push({file:z,claimed:G,line:W,lineNumber:Y});continue}let K=V.split(",").map((B)=>B.trim());if(K.length===0||K.some((B)=>B.length===0))continue;if(!K.every((B)=>ZQ.test(B)&&$Q.test(B)))continue;$.push({file:z,symbols:K,line:W,lineNumber:Y})}}}function I(Z){let Q=WQ(Z),$={fencedPaths:[],dirCounts:[],attributions:[],lineCounts:[]};return JQ(Q,$.fencedPaths,$.dirCounts),VQ(Q,$.lineCounts,$.attributions),$}function A(Z,Q){if(Q.includes("/"))return Z.includes(Q)?Q:null;let $=null;for(let W of Z){if(!W.endsWith(`/${Q}`)&&W!==Q)continue;if($!==null)return null;$=W}return $}function T(Z,Q,$){let W=Q.endsWith("/")?Q:`${Q}/`;return Z.filter((Y)=>Y.startsWith(W)&&$.some((J)=>Y.endsWith(J))).length}function k(Z){let Q=Z.slice(Z.lastIndexOf("/")+1),$=Q.lastIndexOf(".");if($<=0)return null;return Q.slice($).toLowerCase()}function P(Z){let Q=new Map;for(let $ of Z){let W=k($);if(W===null)continue;Q.set(W,(Q.get(W)??0)+1)}return Q}function O(Z){let Q=[...Z.values()].reduce((J,q)=>J+q,0);if(Q===0)return[];let $=[...Z].sort(([,J],[,q])=>q-J),W=[],Y=0;for(let[J,q]of $){if(W.length>=KQ)break;if(W.length>0&&q/Q<BQ)break;if(W.push(J),Y+=q,Y/Q>=zQ)break}return W}function N(Z){let Q=Z.filter((W)=>{let Y=k(W);return Y!==null&&!HQ.has(Y)}),$=O(P(Q));return $.length>0?$:O(P(Z))}function p(Z,Q){return Math.abs(Q-Z)>Math.max(3,Z*0.1)}function x(Z,Q){return Q*2<Z||Z*2<Q}var b,r,l,a,s,o,n,i,t,e,QQ,ZQ,$Q,HQ,zQ=0.9,BQ=0.02,KQ=6;var F=C(()=>{b=new Set(["typescript","ts","tsx","javascript","js","jsx","json","jsonc","yaml","yml","diff","python","go","rust"]),r=/^\s*```(\S*)/,l=/^((?:[│|]\s{0,4}|\s{4}|\s{2})*)(?:├──|└──|├─|└─|\|--)\s*/,a=/[│|]\s{0,4}|\s{4}|\s{2}/g,s=/^((?:[\w.@-]+\/)+)\s*$/,o=/\s*(?:←|<-|<--)\s*/,n=/^[\w.@-]+\/$/,i=/^[\w.@-]*[\w-]\.[a-zA-Z]\w{0,3}$/,t=/^\((\d[\d,]*)\)$/,e=/((?:[\w.@-]+\/)*[\w.@-]*[\w-]\.[a-zA-Z]\w{0,3})`?\s*\(([^()\n]*)\)/g,QQ=/~?(\d[\d,]*(?:\.\d+)?)\s*(k?)[-\s]lines?\b/i,ZQ=/^[A-Za-z_$][\w$]*$/,$Q=/[a-z][A-Z]|_/;HQ=new Set([".md",".mdx",".txt",".json",".jsonc",".yml",".yaml",".toml",".mod",".ini",".cfg",".lock",".snap",".csv",".svg",".png",".jpg",".jpeg",".gif",".ico",".webp",".pdf",".pem",".exe",".bin",".wasm",".map"])});import{execFile as AQ}from"child_process";import{isAbsolute as f,join as v,relative as DQ,sep as R}from"path";import{promisify as SQ}from"util";async function RQ(Z){try{let{stdout:Q}=await OQ("git",["-c","core.quotepath=false","ls-files"],{cwd:Z,encoding:"utf8",timeout:CQ,maxBuffer:bQ});return Q.split(`
|
|
3
|
+
`).filter(($)=>$.length>0)}catch(Q){return j(`[rulesLint] git ls-files failed in ${Z}: ${String(Q)}`),null}}function gQ(Z){if(Z.length===0)return!1;if(NQ.some((Q)=>Z.includes(Q)))return!1;if(f(Z))return!1;if(!Z.includes("/"))return!1;return/^[\w.@-]+(?:\/[\w.@-]+)+\/?$/.test(Z)}function D(Z,Q){let $=U();if($.existsSync(v(Z,Q)))return!0;if(!g.test(Q))return!1;let W=Q.replace(g,"");return[".ts",".tsx"].some((Y)=>$.existsSync(v(Z,W+Y)))}function d(Z,Q){let $=Q.split("/")[0];if(!$)return!1;let W=U(),Y=v(Z,$);try{return W.existsSync(Y)&&W.statSync(Y).isDirectory()}catch{return!1}}function _Q(Z){let Q=new Set,$=[];for(let W of Z.split(`
|
|
4
|
+
`))for(let Y of W.matchAll(IQ)){let J=Y[1];if(!J)continue;let q=J.trim().replace(kQ,"").replace(TQ,"");if(gQ(q)&&!Q.has(q))Q.add(q),$.push({path:q,line:W})}return $}async function hQ(Z,Q){let $=U();try{let W=await $.readFile(v(Z,Q),{encoding:"utf8"}),Y=W.split(`
|
|
5
|
+
`).length;return W.endsWith(`
|
|
6
|
+
`)?Y-1:Y}catch(W){return j(`[rulesLint] unreadable source ${Q}: ${String(W)}`),null}}async function uQ(Z,Q){let $=h(Q);if($===null)return null;let W=U(),Y;try{Y=await W.readFile(v(Z,Q),{encoding:"utf8"})}catch(q){return j(`[rulesLint] unreadable source ${Q}: ${String(q)}`),null}if(xQ.test(Y))return null;let J=new Set(u(Y,$).map((q)=>q.name));for(let q of Y.matchAll(FQ))for(let z of(q[1]??"").split(",")){let V=z.trim().split(/\s+as\s+/).pop()?.trim();if(V)J.add(V.replace(/^type\s+/,""))}return J}async function EQ(Z,Q,$,W,Y){let J=N(W);for(let{path:q,lineNumber:z}of $.fencedPaths){if(!d(Z,q))continue;if(D(Z,q))continue;Y.push({file:Q,line:z,kind:"missing_path",severity:"warning",message:`names \`${q}\` inside a fenced block, which does not exist`,fix:"Update or remove it — a map that lists a directory the tree no longer has sends the agent to search for nothing."})}for(let{path:q,claimed:z,lineNumber:V}of $.dirCounts){if(!D(Z,q))continue;let H=T(W,q,J);if(!p(z,H))continue;Y.push({file:Q,line:V,kind:"dir_count_drift",severity:"warning",message:`says \`${q}\` holds ${z} files; it holds ${H}`,fix:"Re-count or run `bun run verify:rules --fix`. A gap this size means the slice moved, split or died, not that it grew."})}for(let{file:q,claimed:z,lineNumber:V}of $.lineCounts){let H=A(W,q);if(H===null)continue;let K=await hQ(Z,H);if(K===null||!x(z,K))continue;Y.push({file:Q,line:V,kind:"stale_line_count",severity:"warning",message:`says \`${H}\` is ~${z.toLocaleString()} lines; it is ${K.toLocaleString()}`,fix:"Re-measure, or point the claim at the directory — a barrel and its implementation siblings are the usual mix-up."})}for(let{file:q,symbols:z,lineNumber:V}of $.attributions){let H=A(W,q);if(H===null)continue;let K=await uQ(Z,H);if(K===null)continue;let B=z.filter((G)=>!K.has(G));if(B.length===0)continue;Y.push({file:Q,line:V,kind:"wrong_attribution",severity:"warning",message:`places ${B.map((G)=>`\`${G}\``).join(", ")} in \`${H}\`, which does not define ${B.length===1?"it":"them"}`,fix:"Attribute the symbol to the file that declares it — importing a name is not defining it, and the map is what decides where the agent greps."})}}async function c(Z){let Q=U(),$;try{$=await Q.readdir(Z)}catch(Y){let J=_(Y);if(J==="ENOENT"||J==="EACCES"||J==="ENOTDIR")return[];throw Y}let W=[];for(let Y of $){let J=v(Z,Y.name);if(Y.isDirectory())W.push(...await c(J));else if(Y.isFile()&&Y.name.endsWith(".md"))W.push(J)}return W.sort()}function mQ(Z,Q){let $=m.default().add(Z);return Q.some((W)=>{if(W.startsWith("..")||f(W))return!1;return $.ignores(W)})}async function QZ(Z={}){let Q=U(),$=Z.root??Q.cwd(),W=await c(v($,PQ)),Y=yQ.map((V)=>v($,V)).filter((V)=>Q.existsSync(V)),J=Z.trackedFiles??await RQ($)??null,q=[],z=[];for(let V of[...W,...Y]){let H;try{H=await Q.readFile(V,{encoding:"utf8"})}catch(G){j(`[rulesLint] unreadable rule file ${V}: ${String(G)}`);continue}let K=!V.includes(`${R}rules${R}`),B=E(H);if(K)z.push({file:V,chars:H.length});if(!K){for(let G of B.unsupportedKeys)q.push({file:V,kind:"unsupported_key",severity:"error",message:`frontmatter key \`${G}\` is not supported and is ignored`,fix:G==="globs"?"Rename `globs:` to `paths:` — as written, the rule loads into every session instead of the files you scoped it to.":"Remove the key. Only `paths` is read; anything else leaves the rule unconditional."});if(B.malformedPaths)q.push({file:V,kind:"malformed_paths",severity:"error",message:"`paths:` is not a string or a list of strings",fix:'Write `paths: "src/**/*.ts"` or a YAML list of strings.'});if(!B.paths)z.push({file:V,chars:H.length});else if(J){if(!mQ(B.paths,J))q.push({file:V,kind:"inert_paths",severity:"error",message:`\`paths:\` matches no tracked file (${B.paths.join(", ")})`,fix:"Fix the patterns. As written the rule never loads, which is indistinguishable from a working rule at runtime."})}}for(let{path:G,line:w}of _Q(B.content)){if(!d($,G))continue;if(D($,G))continue;if(pQ.test(w))continue;q.push({file:V,kind:"missing_path",severity:"warning",message:`cites \`${G}\`, which does not exist`,fix:"Update or remove the reference — a rule that names a moved file sends the agent to the wrong place."})}if(J)await EQ($,V,I(H),J,q)}return{findings:q,unconditional:z,unconditionalChars:z.reduce((V,H)=>V+H.chars,0),filesChecked:W.length+Y.length}}function ZZ(Z,Q){let $=DQ(Z,Q);return $.length>0&&!$.startsWith("..")?$:Q}var m,yQ,PQ,OQ,CQ=1e4,bQ=33554432,IQ,TQ,kQ,NQ,pQ,g,xQ,FQ;var fQ=C(()=>{XQ();vQ();UQ();MQ();F();wQ();LQ();m=GQ(jQ(),1),yQ=["AGENTS.md","CLAUDE.md"],PQ=v(".claudin","rules"),OQ=SQ(AQ),IQ=/`([^`\n]+)`/g,TQ=/:\d+(?:-\d+)?$/,kQ=/[.,;:)\]]+$/,NQ=["<",">","*","~","...","$","|","://"," ","path/to"],pQ=/\b(removed|deleted|dropped|no longer|used to|formerly|superseded)\b/i,g=/\.js$/,xQ=/^\s*export\s+\*\s+from\s/m,FQ=/^\s*export\s*\{([^}]*)\}/gm});
|
|
7
|
+
export{o as ag,I as bg,A as cg,T as dg,N as eg,p as fg,x as gg,F as hg,RQ as ig,QZ as jg,ZZ as kg,fQ as lg};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{$x as x,HL as M,QR as I,Rt as $,St as l,Sx as v,Ux as D,Wx as T,YJ as E,Zx as C,_J as Hw,_i as y,_t as O,_x as u,by as A,cj as s,dA as G,hy as t,iu as c,kS as qw,lA as ww,my as B,ny as e,ou as P,ru as i}from"./cli-1.1.39-yyqx9zb5.mjs";import{_V as _,eW as jw}from"./cli-1.1.39-zfb5hcs0.mjs";import{rX as U,sX as a}from"./cli-1.1.39-kcq7gw24.mjs";import{F3 as S,d4 as n}from"./cli-1.1.39-nmm4w3bh.mjs";import{d6 as m,e6 as d}from"./cli-1.1.39-2k0w4c3v.mjs";import{D_ as W,E_ as p,Lda as g,N$ as Q,Z$ as F,daa as o,f_ as J,h_ as f,k_ as K,m_ as H,vea as N,yda as Z}from"./cli-1.1.39-p2sg5g92.mjs";import{vja as R,yja as r}from"./cli-1.1.39-pc9dgxhx.mjs";N();function Zw(w){let j=H().numStartups;K((q)=>{let z=q.tipsHistory??{};if(z[w]===j)return q;return{...q,tipsHistory:{...z,[w]:j}}})}function k(w){let j=H(),q=j.tipsHistory?.[w];if(!q)return 1/0;return j.numStartups-q}d();r();ww();g();jw();a();e();Hw();N();f();s();o();t();n();p();i();c();l();qw();var V;async function zw(){if(V!==void 0)return V;let w=await O();return V=$ in w,V}async function L(w,j,q){if(!await zw())return!1;if(P(`${w}@${$}`))return!1;let{bashTools:z}=j??{};if(q.cli&&z?.size){if(q.cli.some((X)=>z.has(X)))return!0}if(q.filePath&&j?.readFileState){if(y(j.readFileState).some((b)=>q.filePath.test(b)))return!0}return!1}var Bw=[{id:"new-user-warmup",content:async()=>"Start with small features or bug fixes, tell Claudin to propose a plan, and verify its suggested edits",cooldownSessions:3,async isRelevant(){return H().numStartups<10}},{id:"plan-mode-for-complex-tasks",content:async()=>`Use Plan Mode to prepare for a complex request before making changes. Press ${B("chat:cycleMode","Chat","shift+tab")} twice to enable.`,cooldownSessions:5,isRelevant:async()=>{let w=H();return(w.lastPlanModeUse?(Date.now()-w.lastPlanModeUse)/86400000:1/0)>7}},{id:"default-permission-mode-config",content:async()=>"Use /config to change your default permission mode (including Plan Mode)",cooldownSessions:10,isRelevant:async()=>{try{let w=H(),j=Z(),q=Boolean(w.lastPlanModeUse),z=Boolean(j?.permissions?.defaultMode);return q&&!z}catch(w){return R(`Failed to check default-permission-mode-config tip relevance: ${w}`,{level:"warn"}),!1}}},{id:"git-worktrees",content:async()=>"Use git worktrees to run multiple Claudin sessions in parallel.",cooldownSessions:10,isRelevant:async()=>{try{let w=H();return await F()<=1&&w.numStartups>50}catch(w){return!1}}},{id:"diff-reviewer",content:async()=>`Review local changes, stashes and the git log side by side — run /diff or hit ${B("chat:openDiff","Chat","ctrl+g")}.`,cooldownSessions:10,isRelevant:async()=>{try{return await Q()}catch(w){return!1}}},{id:"diff-git-log",content:async()=>`Scroll back through your git log and open any commit's diff in /diff (or hit ${B("chat:openDiff","Chat","ctrl+g")}).`,cooldownSessions:15,isRelevant:async()=>{try{return await Q()}catch(w){return!1}}},{id:"diff-source-cycle",content:async()=>`In /diff, ${B("diff:previousSource","DiffDialog","[")} and ${B("diff:nextSource","DiffDialog","]")} cycle what you are reviewing: the working tree, one diff per agent turn, then every stash.`,cooldownSessions:15,isRelevant:async()=>{try{return await Q()}catch(w){return!1}}},{id:"diff-line-selection",content:async()=>`Press ${B("diff:select","DiffDialog","v")} in the /diff pane to select lines, then Enter to drop them into your prompt as @file#L12-L30 — dragging the mouse over them does the same.`,cooldownSessions:15,isRelevant:async()=>{try{return await Q()}catch(w){return!1}}},{id:"diff-expand-context",content:async()=>`Need more context in /diff? Hit Enter on a "··· N lines" gap to reveal more around it, or ${B("diff:expandAll","DiffDialog","a")} to expand the whole file.`,cooldownSessions:20,isRelevant:async()=>{try{return await Q()}catch(w){return!1}}},{id:"file-explorer",content:async()=>`Browse and edit files without leaving the REPL — run /explorer or hit ${B("chat:openExplorer","Chat","ctrl+e")} for a file tree with a built-in nvim-style editor.`,cooldownSessions:10,isRelevant:async()=>!0},{id:"explorer-fuzzy-find",content:async()=>"Inside /explorer, press / to fuzzy-find any file by name, or @ to drop it into your prompt.",cooldownSessions:15,isRelevant:async()=>!0},{id:"explorer-create-delete",content:async()=>"Inside /explorer, press a to create, r to rename, or d to delete the selected file.",cooldownSessions:15,isRelevant:async()=>!0},{id:"explorer-changed-files",content:async()=>"The /explorer tree opens with a Changed group — every file git sees as modified, in one flat list at the top.",cooldownSessions:15,isRelevant:async()=>{try{return await Q()}catch(w){return!1}}},{id:"explorer-editor-ex-commands",content:async()=>"In the /explorer editor, :w saves, :q quits, :wq does both, and :42 jumps to line 42.",cooldownSessions:15,isRelevant:async()=>!0},{id:"explorer-editor-motions",content:async()=>"The /explorer editor speaks vim: dd cuts a line, yy copies, p pastes, u undoes and ctrl+r redoes.",cooldownSessions:20,isRelevant:async()=>!0},{id:"bash-output-filter-token-saving",content:async()=>"Bash output filter is active — redundant command output is trimmed before reaching the model, reducing token usage. Disable in /config.",cooldownSessions:20,async isRelevant(){let w=H();return w.numStartups>5&&w.bashOutputFilterEnabled!==!1}},{id:"color-when-multi-clauding",content:async()=>"Running multiple Claudin sessions? Use /color and /rename to tell them apart at a glance.",cooldownSessions:10,isRelevant:async()=>{if(I())return!1;return await E()>=2}},{id:"terminal-setup",content:async()=>J.terminal==="Apple_Terminal"?"Run /terminal-setup to enable convenient terminal integration like Option + Enter for new line and more":"Run /terminal-setup to enable convenient terminal integration like Shift + Enter for new line and more",cooldownSessions:10,async isRelevant(){let w=H();if(J.terminal==="Apple_Terminal")return!w.optionAsMetaKeyInstalled;return!w.shiftEnterKeyBindingInstalled}},{id:"shift-enter",content:async()=>J.terminal==="Apple_Terminal"?"Press Option+Enter to send a multi-line message":"Press Shift+Enter to send a multi-line message",cooldownSessions:10,async isRelevant(){let w=H();return Boolean((J.terminal==="Apple_Terminal"?w.optionAsMetaKeyInstalled:w.shiftEnterKeyBindingInstalled)&&w.numStartups>3)}},{id:"shift-enter-setup",content:async()=>J.terminal==="Apple_Terminal"?"Run /terminal-setup to enable Option+Enter for new lines":"Run /terminal-setup to enable Shift+Enter for new lines",cooldownSessions:10,async isRelevant(){if(!_())return!1;let w=H();return!(J.terminal==="Apple_Terminal"?w.optionAsMetaKeyInstalled:w.shiftEnterKeyBindingInstalled)}},{id:"memory-command",content:async()=>"Use /memory to view and manage Claudin memory",cooldownSessions:15,async isRelevant(){return H().memoryUsageCount<=0}},{id:"theme-command",content:async()=>"Use /theme to change the color theme",cooldownSessions:20,isRelevant:async()=>!0},{id:"colorterm-truecolor",content:async()=>"Try setting environment variable COLORTERM=truecolor for richer colors",cooldownSessions:30,isRelevant:async()=>!process.env.COLORTERM&&m.level<3},{id:"powershell-tool-env",content:async()=>"Set CLAUDIN_USE_POWERSHELL_TOOL=1 to enable the PowerShell tool (preview)",cooldownSessions:10,isRelevant:async()=>W()==="windows"&&process.env.CLAUDIN_USE_POWERSHELL_TOOL===void 0},{id:"status-line",content:async()=>"Use /statusline to set up a custom status line that will display beneath the input box",cooldownSessions:25,isRelevant:async()=>Z().statusLine===void 0},{id:"prompt-queue",content:async()=>"Hit Enter to queue up additional messages while Claudin is working.",cooldownSessions:5,async isRelevant(){return H().promptQueueUseCount<=3}},{id:"enter-to-steer-in-relatime",content:async()=>"Send messages to Claudin while it works to steer Claudin in real-time",cooldownSessions:20,isRelevant:async()=>!0},{id:"todo-list",content:async()=>"Ask Claudin to create a todo list when working on complex tasks to track progress and remain on track",cooldownSessions:20,isRelevant:async()=>!0},{id:"vscode-command-install",content:async()=>`Open the Command Palette (Cmd+Shift+P) and run "Shell Command: Install '${J.terminal==="vscode"?"code":J.terminal}' command in PATH" to enable IDE integration`,cooldownSessions:0,async isRelevant(){if(!v())return!1;if(W()!=="macos")return!1;switch(J.terminal){case"vscode":return!await x();case"cursor":return!await C();case"windsurf":return!await u();default:return!1}}},{id:"ide-upsell-external-terminal",content:async()=>"Connect Claudin to your IDE · /ide",cooldownSessions:4,async isRelevant(){if(D())return!1;if((await T()).length!==0)return!1;return(await A()).length>0}},{id:"install-github-app",content:async()=>"Run /install-github-app to tag @claude right from your Github issues and PRs",cooldownSessions:10,isRelevant:async()=>!H().githubActionSetupCount},{id:"install-slack-app",content:async()=>"Run /install-slack-app to use Claude in Slack",cooldownSessions:10,isRelevant:async()=>!H().slackAppInstallCount},{id:"permissions",content:async()=>"Use /permissions to pre-approve and pre-deny bash, edit, and MCP tools",cooldownSessions:10,async isRelevant(){return H().numStartups>10}},{id:"drag-and-drop-images",content:async()=>"Did you know you can drag and drop image files into your terminal?",cooldownSessions:10,isRelevant:async()=>!J.isSSH()},{id:"paste-images-mac",content:async()=>"Paste images into Claudin using control+v (not cmd+v!)",cooldownSessions:10,isRelevant:async()=>W()==="macos"},{id:"double-esc",content:async()=>"Double-tap esc to rewind the conversation to a previous point in time",cooldownSessions:10,isRelevant:async()=>!G()},{id:"double-esc-code-restore",content:async()=>"Double-tap esc to rewind the code and/or conversation to a previous point in time",cooldownSessions:10,isRelevant:async()=>G()},{id:"continue",content:async()=>"Run claudin --continue or claudin --resume to resume a conversation",cooldownSessions:10,isRelevant:async()=>!0},{id:"rename-conversation",content:async()=>"Name your conversations with /rename to find them easily in /resume later",cooldownSessions:15,isRelevant:async()=>M()&&H().numStartups>10},{id:"custom-commands",content:async()=>"Create skills by adding .md files to .claudin/skills/ in your project or ~/.claudin/skills/ for skills that work in any project",cooldownSessions:15,async isRelevant(){return H().numStartups>10}},{id:"shift-tab",content:async()=>`Hit ${B("chat:cycleMode","Chat","shift+tab")} to cycle between default mode, auto-accept edit mode, and plan mode`,cooldownSessions:10,isRelevant:async()=>!0},{id:"image-paste",content:async()=>`Use ${B("chat:imagePaste","Chat","ctrl+v")} to paste images from your clipboard`,cooldownSessions:20,isRelevant:async()=>!0},{id:"custom-agents",content:async()=>"Use /agents to optimize specific tasks. Eg. Software Architect, Code Writer, Code Reviewer",cooldownSessions:15,async isRelevant(){return H().numStartups>5}},{id:"agent-flag",content:async()=>"Use --agent <agent_name> to directly start a conversation with a subagent",cooldownSessions:15,async isRelevant(){return H().numStartups>5}},{id:"opusplan-mode-reminder",content:async()=>`Your default model setting is Opus Plan Mode. Press ${B("chat:cycleMode","Chat","shift+tab")} twice to activate Plan Mode and plan with Claude Opus.`,cooldownSessions:2,async isRelevant(){let w=H(),q=S()==="opusplan",z=w.lastPlanModeUse?(Date.now()-w.lastPlanModeUse)/86400000:1/0;return q&&z>3}},{id:"frontend-design-plugin",content:async(w)=>{return`Working with HTML/CSS? Install the frontend-design plugin:
|
|
2
|
+
${U("suggestion",w.theme)(`/plugin install frontend-design@${$}`)}`},cooldownSessions:3,isRelevant:async(w)=>L("frontend-design",w,{filePath:/\.(html|css|htm)$/i})},{id:"vercel-plugin",content:async(w)=>{return`Working with Vercel? Install the vercel plugin:
|
|
3
|
+
${U("suggestion",w.theme)(`/plugin install vercel@${$}`)}`},cooldownSessions:3,isRelevant:async(w)=>L("vercel",w,{filePath:/(?:^|[/\\])vercel\.json$/i,cli:["vercel"]})},{id:"feedback-command",content:async()=>"Use /feedback to help us improve!",cooldownSessions:15,async isRelevant(){return H().numStartups>5}}],Jw=[];function Qw(){let j=Z().spinnerTipsOverride;if(!j?.tips?.length)return[];return j.tips.map((q,z)=>({id:`custom-tip-${z}`,content:async()=>q,cooldownSessions:0,isRelevant:async()=>!0}))}async function uw(w){let q=Z().spinnerTipsOverride,z=Qw();if(q?.excludeDefault&&z.length>0)return z;let X=[...Bw,...Jw],b=await Promise.all(X.map((Y)=>Y.isRelevant(w)));return[...X.filter((Y,h)=>b[h]).filter((Y)=>k(Y.id)>=Y.cooldownSessions),...z]}
|
|
4
|
+
export{Zw as Ia,k as Ja,uw as Ka};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Gd as V,Id as B}from"./cli-1.1.39-tjpdjpp5.mjs";import{Iq as Q,Jq as q,Wj as L,eO as U,gO as w,pR as F}from"./cli-1.1.39-yyqx9zb5.mjs";import{O9 as K,T9 as k}from"./cli-1.1.39-p2sg5g92.mjs";import{vja as I,yja as $}from"./cli-1.1.39-pc9dgxhx.mjs";import{Vja as G,aka as _}from"./cli-1.1.39-wdctfdbb.mjs";import{Nqa as Z}from"./cli-1.1.39-z8ts6axr.mjs";async function C(W,X){let E=V(W);if(!E)return null;try{let A=await U({systemPrompt:Q(['Generate a short kebab-case name (2-4 words) that captures the main topic of this conversation. Use lowercase words separated by hyphens. Examples: "fix-login-bug", "add-auth-feature", "refactor-api-client", "debug-test-failures". Return JSON with a "name" field.']),userPrompt:E,outputFormat:{type:"json_schema",schema:{type:"object",properties:{name:{type:"string"}},required:["name"],additionalProperties:!1}},signal:X,options:{querySource:"rename_generate_name",agents:[],isNonInteractiveSession:!1,hasAppendSystemPrompt:!1,mcpTools:[]}}),Y=L(A.message.content),z=K(Y);if(z&&typeof z==="object"&&"name"in z&&typeof z.name==="string")return z.name;return null}catch(A){return I(`generateSessionName failed: ${G(A)}`,{level:"error"}),null}}var D=Z(()=>{w();$();_();k();F();B();q()});
|
|
2
|
+
export{C as Ed,D as Fd};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{J5 as D,v5 as m}from"./cli-1.1.39-nmm4w3bh.mjs";import{Nqa as z}from"./cli-1.1.39-z8ts6axr.mjs";function q(){return G()||!!process.env.CLAUDE_BRIDGE_OAUTH_TOKEN}function F(){return q()}async function J(){return F()}async function K(){if(!q())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 G(){try{return m()}catch{return!1}}var H=z(()=>{D()});
|
|
2
|
+
export{F as VT,J as WT,K as XT,H as YT};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Db as H,Gb as O}from"./cli-1.1.39-9dfw3wt9.mjs";import{Se as N,Ve as P,We as R}from"./cli-1.1.39-7kjnzaa8.mjs";import{B8 as C,T8 as _}from"./cli-1.1.39-3yy2wxqa.mjs";import{$ia as A,_ia as U,dja as h}from"./cli-1.1.39-pc9dgxhx.mjs";_();R();O();var S="environments-2025-11-01",x=/^[a-zA-Z0-9_-]+$/;function M(q,J){if(!q||!x.test(q))throw Error(`Invalid ${J}: contains unsafe characters`);return q}class j extends Error{status;errorType;constructor(q,J,Q){super(q);this.name="BridgeFatalError",this.status=J,this.errorType=Q}}function f(q){function J(z){q.onDebug?.(z)}let Q=0,Z=100;function X(z){return{Authorization:`Bearer ${z}`,"Content-Type":"application/json","anthropic-version":"2023-06-01","anthropic-beta":S,"x-environment-runner-version":q.runnerVersion}}function G(){let z=q.getAccessToken();if(!z)throw Error(H);return z}async function D(z,K){let $=G(),W=await z($);if(W.status!==401)return W;if(!q.onAuth401)return J(`[bridge:api] ${K}: 401 received, no refresh handler`),W;if(J(`[bridge:api] ${K}: 401 received, attempting token refresh`),await q.onAuth401($)){J(`[bridge:api] ${K}: Token refreshed, retrying request`);let V=G(),F=await z(V);if(F.status!==401)return F;J(`[bridge:api] ${K}: Retry after refresh also got 401`)}else J(`[bridge:api] ${K}: Token refresh failed`);return W}return{async registerBridgeEnvironment(z){J(`[bridge:api] POST /v1/environments/bridge bridgeId=${z.bridgeId}`);let K=await D(($)=>C.post(`${q.baseUrl}/v1/environments/bridge`,{machine_name:z.machineName,directory:z.dir,branch:z.branch,git_repo_url:z.gitRepoUrl,max_sessions:z.maxSessions,metadata:{worker_type:z.workerType},...z.reuseEnvironmentId&&{environment_id:z.reuseEnvironmentId}},{headers:X($),timeout:15000,validateStatus:(W)=>W<500}),"Registration");return L(K.status,K.data,"Registration"),J(`[bridge:api] POST /v1/environments/bridge -> ${K.status} environment_id=${K.data.environment_id}`),J(`[bridge:api] >>> ${N({machine_name:z.machineName,directory:z.dir,branch:z.branch,git_repo_url:z.gitRepoUrl,max_sessions:z.maxSessions,metadata:{worker_type:z.workerType}})}`),J(`[bridge:api] <<< ${N(K.data)}`),K.data},async pollForWork(z,K,$,W){M(z,"environmentId");let Y=Q;Q=0;let V=await C.get(`${q.baseUrl}/v1/environments/${z}/work/poll`,{headers:X(K),params:W!==void 0?{reclaim_older_than_ms:W}:void 0,timeout:1e4,signal:$,validateStatus:(F)=>F<500});if(L(V.status,V.data,"Poll"),!V.data){if(Q=Y+1,Q===1||Q%Z===0)J(`[bridge:api] GET .../work/poll -> ${V.status} (no work, ${Q} consecutive empty polls)`);return null}return J(`[bridge:api] GET .../work/poll -> ${V.status} workId=${V.data.id} type=${V.data.data?.type}${V.data.data?.id?` sessionId=${V.data.data.id}`:""}`),J(`[bridge:api] <<< ${N(V.data)}`),V.data},async acknowledgeWork(z,K,$){M(z,"environmentId"),M(K,"workId"),J(`[bridge:api] POST .../work/${K}/ack`);let W=await C.post(`${q.baseUrl}/v1/environments/${z}/work/${K}/ack`,{},{headers:X($),timeout:1e4,validateStatus:(Y)=>Y<500});L(W.status,W.data,"Acknowledge"),J(`[bridge:api] POST .../work/${K}/ack -> ${W.status}`)},async stopWork(z,K,$){M(z,"environmentId"),M(K,"workId"),J(`[bridge:api] POST .../work/${K}/stop force=${$}`);let W=await D((Y)=>C.post(`${q.baseUrl}/v1/environments/${z}/work/${K}/stop`,{force:$},{headers:X(Y),timeout:1e4,validateStatus:(V)=>V<500}),"StopWork");L(W.status,W.data,"StopWork"),J(`[bridge:api] POST .../work/${K}/stop -> ${W.status}`)},async deregisterEnvironment(z){M(z,"environmentId"),J(`[bridge:api] DELETE /v1/environments/bridge/${z}`);let K=await D(($)=>C.delete(`${q.baseUrl}/v1/environments/bridge/${z}`,{headers:X($),timeout:1e4,validateStatus:(W)=>W<500}),"Deregister");L(K.status,K.data,"Deregister"),J(`[bridge:api] DELETE /v1/environments/bridge/${z} -> ${K.status}`)},async archiveSession(z){M(z,"sessionId"),J(`[bridge:api] POST /v1/sessions/${z}/archive`);let K=await D(($)=>C.post(`${q.baseUrl}/v1/sessions/${z}/archive`,{},{headers:X($),timeout:1e4,validateStatus:(W)=>W<500}),"ArchiveSession");if(K.status===409){J(`[bridge:api] POST /v1/sessions/${z}/archive -> 409 (already archived)`);return}L(K.status,K.data,"ArchiveSession"),J(`[bridge:api] POST /v1/sessions/${z}/archive -> ${K.status}`)},async reconnectSession(z,K){M(z,"environmentId"),M(K,"sessionId"),J(`[bridge:api] POST /v1/environments/${z}/bridge/reconnect session_id=${K}`);let $=await D((W)=>C.post(`${q.baseUrl}/v1/environments/${z}/bridge/reconnect`,{session_id:K},{headers:X(W),timeout:1e4,validateStatus:(Y)=>Y<500}),"ReconnectSession");L($.status,$.data,"ReconnectSession"),J(`[bridge:api] POST .../bridge/reconnect -> ${$.status}`)},async heartbeatWork(z,K,$){M(z,"environmentId"),M(K,"workId"),J(`[bridge:api] POST .../work/${K}/heartbeat`);let W=await C.post(`${q.baseUrl}/v1/environments/${z}/work/${K}/heartbeat`,{},{headers:X($),timeout:1e4,validateStatus:(Y)=>Y<500});return L(W.status,W.data,"Heartbeat"),J(`[bridge:api] POST .../work/${K}/heartbeat -> ${W.status} lease_extended=${W.data.lease_extended} state=${W.data.state}`),W.data},async sendPermissionResponseEvent(z,K,$){M(z,"sessionId"),J(`[bridge:api] POST /v1/sessions/${z}/events type=${K.type}`);let W=await C.post(`${q.baseUrl}/v1/sessions/${z}/events`,{events:[K]},{headers:X($),timeout:1e4,validateStatus:(Y)=>Y<500});L(W.status,W.data,"SendPermissionResponseEvent"),J(`[bridge:api] POST /v1/sessions/${z}/events -> ${W.status}`),J(`[bridge:api] >>> ${N({events:[K]})}`),J(`[bridge:api] <<< ${N(W.data)}`)}}}function L(q,J,Q){if(q===200||q===204)return;let Z=P(J),X=E(J);switch(q){case 401:throw new j(`${Q}: Authentication failed (401)${Z?`: ${Z}`:""}. ${H}`,401,X);case 403:throw new j(B(X)?"Remote Control session has expired. Please restart with `claudin remote-control` or /remote-control.":`${Q}: Access denied (403)${Z?`: ${Z}`:""}. Check your organization permissions.`,403,X);case 404:throw new j(Z??`${Q}: Not found (404). Remote Control may not be available for this organization.`,404,X);case 410:throw new j(Z??"Remote Control session has expired. Please restart with `claudin remote-control` or /remote-control.",410,X??"environment_expired");case 429:throw Error(`${Q}: Rate limited (429). Polling too frequently.`);default:throw Error(`${Q}: Failed with status ${q}${Z?`: ${Z}`:""}`)}}function B(q){if(!q)return!1;return q.includes("expired")||q.includes("lifetime")}function b(q){if(q.status!==403)return!1;return q.message.includes("external_poll_sessions")||q.message.includes("environments:manage")}function E(q){if(q&&typeof q==="object"){if("error"in q&&q.error&&typeof q.error==="object"&&"type"in q.error&&typeof q.error.type==="string")return q.error.type}return}_();h();function u(q){let J=Buffer.from(q,"base64url").toString("utf-8"),Q=A(J);if(!Q||typeof Q!=="object"||!("version"in Q)||Q.version!==1)throw Error(`Unsupported work secret version: ${Q&&typeof Q==="object"&&"version"in Q?Q.version:"unknown"}`);let Z=Q;if(typeof Z.session_ingress_token!=="string"||Z.session_ingress_token.length===0)throw Error("Invalid work secret: missing or empty session_ingress_token");if(typeof Z.api_base_url!=="string")throw Error("Invalid work secret: missing api_base_url");return Q}function I(q,J){let Q=new URL(q).hostname,Z=Q==="localhost"||Q==="127.0.0.1",X=Z?"ws":"wss",G=Z?"v2":"v1",D=q.replace(/^https?:\/\//,"").replace(/\/+$/,"");return`${X}://${D}/${G}/session_ingress/ws/${J}`}function l(q,J){if(q===J)return!0;let Q=q.slice(q.lastIndexOf("_")+1),Z=J.slice(J.lastIndexOf("_")+1);return Q.length>=4&&Q===Z}function c(q,J){return`${q.replace(/\/+$/,"")}/v1/code/sessions/${J}`}async function g(q,J){let Q=await C.post(`${q}/worker/register`,{},{headers:{Authorization:`Bearer ${J}`,"Content-Type":"application/json","anthropic-version":"2023-06-01"},timeout:1e4}),Z=Q.data?.worker_epoch,X=typeof Z==="string"?Number(Z):Z;if(typeof X!=="number"||!Number.isFinite(X)||!Number.isSafeInteger(X))throw Error(`registerWorker: invalid worker_epoch in response: ${U(Q.data)}`);return X}function i(q){let J=new AbortController;function Q(){J.abort(),J=new AbortController}function Z(){let X=new AbortController,G=()=>X.abort();if(q.aborted||J.signal.aborted)return X.abort(),{signal:X.signal,cleanup:()=>{}};q.addEventListener("abort",G,{once:!0});let D=J.signal;return D.addEventListener("abort",G,{once:!0}),{signal:X.signal,cleanup:()=>{q.removeEventListener("abort",G),D.removeEventListener("abort",G)}}}return{signal:Z,wake:Q}}
|
|
2
|
+
export{M as $a,j as ab,f as bb,B as cb,b as db,u as eb,I as fb,l as gb,c as hb,g as ib,i as jb};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Nqa as l}from"./cli-1.1.39-z8ts6axr.mjs";function o(i,e,r){var t=null;if(r!==void 0&&(t=""+r),e.key!==void 0&&(t=""+e.key),"key"in e){r={};for(var s in e)s!=="key"&&(r[s]=e[s])}else r=e;return e=r.ref,{$$typeof:n,type:i,key:t,ref:e!==void 0?e:null,props:r}}var n,d,u,E,a;var c=l(()=>{n=Symbol.for("react.transitional.element"),d=Symbol.for("react.fragment");u=d,E=o,a=o});
|
|
2
|
+
export{u as B1,E as C1,a as D1,c as E1};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Ha as S}from"./cli-1.1.39-4bdssx8e.mjs";import{tc as P,xc as Tq}from"./cli-1.1.39-8jw8s604.mjs";import{Pc as I,Qc as v,Rc as $,Sc as Vq}from"./cli-1.1.39-d25xsy5x.mjs";import{$y as A,Bs as D,Cs as a,EO as M,FO as E,Fu as C,HO as Jq,IO as f,Iu as r,JO as Qq,Ju as N,Pu as e,bz as Gq,gv as L,hv as qq,lv as h,nv as Bq,rt as F,st as s}from"./cli-1.1.39-yyqx9zb5.mjs";import{F1 as t}from"./cli-1.1.39-esp4w3m4.mjs";import{Caa as w,Eaa as o,Rfa as _,Wfa as n,t_ as y,v_ as l}from"./cli-1.1.39-p2sg5g92.mjs";import{vja as j,yja as d}from"./cli-1.1.39-pc9dgxhx.mjs";import{Uja as x,aka as p}from"./cli-1.1.39-wdctfdbb.mjs";import{Jqa as i}from"./cli-1.1.39-z8ts6axr.mjs";Qq();Bq();Jq();Vq();o();d();l();p();n();a();s();e();qq();Gq();var T=i(t(),1);Tq();r();function Fq({enabled:V=!0}={}){let c=T.useSyncExternalStore(v,I,I),H=E(),O=M((J)=>J.plugins.needsRefresh),{addNotification:z}=f(),R=T.useCallback(async()=>{try{let{enabled:J,disabled:W,errors:Q}=await C();await S();let Z=P();if(Object.keys(Z).length>0)z({key:"plugin-delisted-flagged",text:"Plugins flagged. Check /plugins",color:"warning",priority:"high"});let X=[],Y=[];try{X=await F(),$(X)}catch(q){let B=q instanceof Error?q.message:String(q);Q.push({type:"generic-error",source:"plugin-commands",error:`Failed to load plugin commands: ${B}`}),$([])}try{Y=await D()}catch(q){let B=q instanceof Error?q.message:String(q);Q.push({type:"generic-error",source:"plugin-agents",error:`Failed to load plugin agents: ${B}`})}try{await N()}catch(q){let B=q instanceof Error?q.message:String(q);Q.push({type:"generic-error",source:"plugin-hooks",error:`Failed to load plugin hooks: ${B}`})}let b=(await Promise.all(J.map(async(q)=>{if(q.mcpServers)return Object.keys(q.mcpServers).length;let B=await A(q,Q);if(B)q.mcpServers=B;return B?Object.keys(B).length:0}))).reduce((q,B)=>q+B,0),m=(await Promise.all(J.map(async(q)=>{if(q.lspServers)return Object.keys(q.lspServers).length;let B=await L(q,Q);if(B)q.lspServers=B;return B?Object.keys(B).length:0}))).reduce((q,B)=>q+B,0);h(),H((q)=>{let B=q.plugins.errors.filter((G)=>G.source==="lsp-manager"||G.source.startsWith("plugin:")),K=new Set(Q.map((G)=>G.type==="generic-error"?`generic-error:${G.source}:${G.error}`:`${G.type}:${G.source}`)),U=[...B.filter((G)=>{let g=G.type==="generic-error"?`generic-error:${G.source}:${G.error}`:`${G.type}:${G.source}`;return!K.has(g)}),...Q];return{...q,plugins:{...q.plugins,enabled:J,disabled:W,commands:[],errors:U}}}),j(`Loaded plugins - Enabled: ${J.length}, Disabled: ${W.length}, Commands: ${X.length}, Agents: ${Y.length}, Errors: ${Q.length}`);let u=J.reduce((q,B)=>{if(!B.hooksConfig)return q;return q+Object.values(B.hooksConfig).reduce((K,k)=>K+(k?.reduce((U,G)=>U+G.hooks.length,0)??0),0)},0);return{enabled_count:J.length,disabled_count:W.length,inline_count:w(J,(q)=>q.source.endsWith("@inline")),marketplace_count:w(J,(q)=>!q.source.endsWith("@inline")),error_count:Q.length,skill_count:X.length,agent_count:Y.length,hook_count:u,mcp_count:b,lsp_count:m}}catch(J){let W=x(J);return _(W),j(`Error loading plugins: ${J}`),$([]),H((Q)=>{let Z=Q.plugins.errors.filter((Y)=>Y.source==="lsp-manager"||Y.source.startsWith("plugin:")),X={type:"generic-error",source:"plugin-system",error:W.message};return{...Q,plugins:{...Q.plugins,enabled:[],disabled:[],commands:[],errors:[...Z,X]}}}),{enabled_count:0,disabled_count:0,inline_count:0,marketplace_count:0,error_count:1,skill_count:0,agent_count:0,hook_count:0,mcp_count:0,lsp_count:0,load_failed:!0,ant_enabled_names:void 0}}},[H,z]);return T.useEffect(()=>{if(!V)return;R().then((J)=>{let{ant_enabled_names:W,...Q}=J,Z={...Q,has_custom_plugin_cache_dir:!!process.env.CLAUDIN_PLUGIN_CACHE_DIR};y("info","plugins_loaded",Z)})},[R,V]),T.useEffect(()=>{if(V)return;$([])},[V]),T.useEffect(()=>{if(!V||!O)return;z({key:"plugin-reload-pending",text:"Plugins changed. Run /reload-plugins to activate.",color:"suggestion",priority:"low"})},[V,O,z]),V?c:[]}
|
|
2
|
+
export{Fq as Ga};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{J5 as D,p5 as q}from"./cli-1.1.39-nmm4w3bh.mjs";import{uia as m,via as z}from"./cli-1.1.39-b1gewbgs.mjs";import{Nqa as x}from"./cli-1.1.39-z8ts6axr.mjs";function E(){return process.env.CLAUDE_BRIDGE_OAUTH_TOKEN||void 0}function F(){return process.env.CLAUDE_BRIDGE_BASE_URL||void 0}function K(){return E()??q()?.accessToken}function M(){return F()??m().BASE_API_URL}var G=x(()=>{z();D()});
|
|
2
|
+
export{E as li,F as mi,K as ni,M as oi,G as pi};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{f6 as D}from"./cli-1.1.39-905jk7a7.mjs";import{B8 as j,T8 as bJ}from"./cli-1.1.39-3yy2wxqa.mjs";import{_8 as KJ}from"./cli-1.1.39-2gzgjcxr.mjs";import{hja as E,lja as QJ,vja as G,yja as a}from"./cli-1.1.39-pc9dgxhx.mjs";import{fka as g,gka as HJ,oka as JJ}from"./cli-1.1.39-e4p7vgrg.mjs";import{Ypa as U,Zpa as c}from"./cli-1.1.39-17mj2gq0.mjs";import{Jqa as XJ,Nqa as H,Oqa as e}from"./cli-1.1.39-z8ts6axr.mjs";function cJ(){F.cache.clear?.(),G("Cleared CA certificates cache")}var F;var p=H(()=>{c();a();JJ();QJ();F=U(()=>{let J=g("--use-system-ca")||g("--use-openssl-ca"),Q=process.env.NODE_EXTRA_CA_CERTS;if(G(`CA certs: useSystemCA=${J}, extraCertsPath=${Q}`),!J&&!Q)return;let Z=e("tls"),$=[];if(J){let Y=Z.getCACertificates,w=Y?.("system");if(w&&w.length>0)$.push(...w),G(`CA certs: Loaded ${$.length} system CA certificates (--use-system-ca)`);else if(!Y&&!Q){G("CA certs: --use-system-ca set but system CA API unavailable, deferring to runtime");return}else $.push(...Z.rootCertificates),G(`CA certs: Loaded ${$.length} bundled root certificates as base (--use-system-ca fallback)`)}else $.push(...Z.rootCertificates),G(`CA certs: Loaded ${$.length} bundled root certificates as base`);if(Q)try{let Y=E().readFileSync(Q,{encoding:"utf8"});$.push(Y),G(`CA certs: Appended extra certificates from NODE_EXTRA_CA_CERTS (${Q})`)}catch(Y){G(`CA certs: Failed to read NODE_EXTRA_CA_CERTS file (${Q}): ${Y}`,{level:"error"})}return $.length>0?$:void 0})});import{Agent as EJ}from"https";function oJ(){let J=N(),Q=F();if(!J&&!Q)return;return{...J,...Q&&{ca:Q}}}function v(){let J=N(),Q=F();if(!J&&!Q)return{};let Z={...J,...Q&&{ca:Q}};if(typeof Bun<"u")return{tls:Z};return G("TLS: Created undici agent with custom certificates"),{dispatcher:new(D()).Agent({connect:{cert:Z.cert,key:Z.key,passphrase:Z.passphrase,...Z.ca&&{ca:Z.ca}},pipelining:1})}}function tJ(){N.cache.clear?.(),C.cache.clear?.(),G("Cleared mTLS configuration cache")}function eJ(){if(!N())return;if(process.env.NODE_EXTRA_CA_CERTS)G("NODE_EXTRA_CA_CERTS detected - Node.js will automatically append to built-in CAs")}var N,C;var ZJ=H(()=>{c();p();a();QJ();N=U(()=>{let J={};if(process.env.CLAUDIN_CLIENT_CERT)try{J.cert=E().readFileSync(process.env.CLAUDIN_CLIENT_CERT,{encoding:"utf8"}),G("mTLS: Loaded client certificate from CLAUDIN_CLIENT_CERT")}catch(Q){G(`mTLS: Failed to load client certificate: ${Q}`,{level:"error"})}if(process.env.CLAUDIN_CLIENT_KEY)try{J.key=E().readFileSync(process.env.CLAUDIN_CLIENT_KEY,{encoding:"utf8"}),G("mTLS: Loaded client key from CLAUDIN_CLIENT_KEY")}catch(Q){G(`mTLS: Failed to load client key: ${Q}`,{level:"error"})}if(process.env.CLAUDIN_CLIENT_KEY_PASSPHRASE)J.passphrase=process.env.CLAUDIN_CLIENT_KEY_PASSPHRASE,G("mTLS: Using client key passphrase");if(Object.keys(J).length===0)return;return J}),C=U(()=>{let J=N(),Q=F();if(!J&&!Q)return;let Z={...J,...Q&&{ca:Q},keepAlive:!0};return G("mTLS: Creating HTTPS agent with custom certificates"),new EJ(Z)})});var $J=()=>{};import*as YJ from"net";import*as wJ from"http";import{Agent as DJ}from"https";var B,i;var GJ=H(()=>{$J();B=Symbol("AgentBaseInternalState");i=class i extends wJ.Agent{constructor(J){super(J);this[B]={}}isSecureEndpoint(J){if(J){if(typeof J.secureEndpoint==="boolean")return J.secureEndpoint;if(typeof J.protocol==="string")return J.protocol==="https:"}let{stack:Q}=Error();if(typeof Q!=="string")return!1;return Q.split(`
|
|
2
|
+
`).some((Z)=>Z.indexOf("(https.js:")!==-1||Z.indexOf("node:https:")!==-1)}incrementSockets(J){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;if(!this.sockets[J])this.sockets[J]=[];let Q=new YJ.Socket({writable:!1});return this.sockets[J].push(Q),this.totalSocketCount++,Q}decrementSockets(J,Q){if(!this.sockets[J]||Q===null)return;let Z=this.sockets[J],$=Z.indexOf(Q);if($!==-1){if(Z.splice($,1),this.totalSocketCount--,Z.length===0)delete this.sockets[J]}}getName(J){if(this.isSecureEndpoint(J))return DJ.prototype.getName.call(this,J);return super.getName(J)}createSocket(J,Q,Z){let $={...Q,secureEndpoint:this.isSecureEndpoint(Q)},Y=this.getName($),w=this.incrementSockets(Y);Promise.resolve().then(()=>this.connect(J,$)).then((X)=>{if(this.decrementSockets(Y,w),typeof X.addRequest==="function")try{return X.addRequest(J,$)}catch(W){return Z(W)}this[B].currentSocket=X,super.createSocket(J,Q,Z)},(X)=>{this.decrementSockets(Y,w),Z(X)})}createConnection(){let J=this[B].currentSocket;if(this[B].currentSocket=void 0,!J)throw Error("No socket was returned in the `connect()` function");return J}get defaultPort(){return this[B].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(J){if(this[B])this[B].defaultPort=J}get protocol(){return this[B].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(J){if(this[B])this[B].protocol=J}}});function n(J){return new Promise((Q,Z)=>{let $=0,Y=[];function w(){let K=J.read();if(K)q(K);else J.once("readable",w)}function X(){J.removeListener("end",W),J.removeListener("error",V),J.removeListener("readable",w)}function W(){X(),k("onend"),Z(Error("Proxy connection ended before receiving CONNECT response"))}function V(K){X(),k("onerror %o",K),Z(K)}function q(K){Y.push(K),$+=K.length;let z=Buffer.concat(Y,$),O=z.indexOf(`\r
|
|
3
|
+
\r
|
|
4
|
+
`);if(O===-1){k("have not received end of HTTP headers yet..."),w();return}let b=z.slice(0,O).toString("ascii").split(`\r
|
|
5
|
+
`),h=b.shift();if(!h)return J.destroy(),Z(Error("No header received from proxy CONNECT response"));let t=h.split(" "),IJ=+t[1],LJ=t.slice(2).join(" "),I={};for(let L of b){if(!L)continue;let y=L.indexOf(":");if(y===-1)return J.destroy(),Z(Error(`Invalid header from proxy CONNECT response: "${L}"`));let d=L.slice(0,y).toLowerCase(),l=L.slice(y+1).trimStart(),A=I[d];if(typeof A==="string")I[d]=[A,l];else if(Array.isArray(A))A.push(l);else I[d]=l}k("got proxy server response: %o %o",h,I),X(),Q({connect:{statusCode:IJ,statusText:LJ,headers:I},buffered:z})}J.on("error",V),J.on("end",W),w()})}var zJ,k;var WJ=H(()=>{zJ=XJ(KJ(),1),k=zJ.default("https-proxy-agent:parse-proxy-response")});function VJ(){return async({response:J,scheme:Q})=>{if(Q.toLowerCase()!=="negotiate")throw Error(`Expected Negotiate scheme but got "${Q}"`);let Z;try{Z=await import("kerberos")}catch{throw Error('The "kerberos" package is required for Negotiate proxy authentication. Install it with: npm install kerberos')}let $=J.headers["proxy-authenticate"]||"",Y=Array.isArray($)?$[0]:$,w=typeof Y==="string"&&Y.includes(" ")?Y.split(" ").slice(1).join(" "):void 0,W=await(await Z.initializeClient("HTTP@proxy",{mechOID:Z.GSS_MECH_OID_SPNEGO})).step(w||"");if(!W)throw Error("Kerberos client.step() returned no token");return{headers:{"Proxy-Authorization":`Negotiate ${W}`}}}}var BJ=()=>{};import*as M from"net";import*as R from"tls";import RJ from"assert";import{URL as OJ}from"url";function MJ(J){setImmediate(()=>{J.resume()})}function s(J,...Q){let Z={},$;for($ in J)if(!Q.includes($))Z[$]=J[$];return Z}var jJ,_,P=(J)=>{if(J.servername===void 0&&J.host&&!M.isIP(J.host))return{...J,servername:J.host};return J},m;var qJ=H(()=>{GJ();WJ();BJ();jJ=XJ(KJ(),1),_=jJ.default("https-proxy-agent");m=class m extends i{constructor(J,Q){super(Q);if(this.options={path:void 0},this.proxy=typeof J==="string"?new OJ(J):J,this.proxyHeaders=Q?.headers??{},_("Creating new HttpsProxyAgent instance: %o",this.proxy.href),Q?.negotiate)this.onProxyAuth=VJ();else if(Q?.onProxyAuth)this.onProxyAuth=Q.onProxyAuth;let Z=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),$=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...Q?s(Q,"headers","onProxyAuth","negotiate"):null,host:Z,port:$}}async connect(J,Q){let{proxy:Z}=this;if(!Q.host)throw TypeError('No "host" provided');let $;if(Z.protocol==="https:")_("Creating `tls.Socket`: %o",this.connectOpts),$=R.connect(P(this.connectOpts));else _("Creating `net.Socket`: %o",this.connectOpts),$=M.connect(this.connectOpts);let Y=typeof this.proxyHeaders==="function"?this.proxyHeaders():{...this.proxyHeaders},w=M.isIPv6(Q.host)?`[${Q.host}]`:Q.host,X=`CONNECT ${w}:${Q.port} HTTP/1.1\r
|
|
6
|
+
`;if(Z.username||Z.password){let z=`${decodeURIComponent(Z.username)}:${decodeURIComponent(Z.password)}`;Y["Proxy-Authorization"]=`Basic ${Buffer.from(z).toString("base64")}`}if(Y.Host=`${w}:${Q.port}`,!Y["Proxy-Connection"])Y["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close";for(let z of Object.keys(Y))X+=`${z}: ${Y[z]}\r
|
|
7
|
+
`;let W=n($);$.write(`${X}\r
|
|
8
|
+
`);let{connect:V,buffered:q}=await W;if(J.emit("proxyConnect",V),this.emit("proxyConnect",V,J),J.emit("proxy",{proxy:this.proxy.href,socket:$}),V.statusCode===200){if(J.once("socket",MJ),Q.secureEndpoint)return _("Upgrading socket connection to TLS"),R.connect({...s(P(Q),"host","path","port"),socket:$});return $}if(V.statusCode===407&&this.onProxyAuth){_("Got 407 response, invoking onProxyAuth callback"),$.destroy();let z=V.headers["proxy-authenticate"]||"",O=Array.isArray(z)?z[0].split(/\s/)[0]:z.split(/\s/)[0],b=await this.onProxyAuth({response:V,scheme:O});return this._connectWithAuth(J,Q,b.headers)}$.destroy();let K=new M.Socket({writable:!1});return K.readable=!0,J.once("socket",(z)=>{_("Replaying proxy buffer for failed request"),RJ(z.listenerCount("data")>0),z.push(q),z.push(null)}),K}async _connectWithAuth(J,Q,Z){let{proxy:$}=this,Y;if($.protocol==="https:")Y=R.connect(P(this.connectOpts));else Y=M.connect(this.connectOpts);let w=typeof this.proxyHeaders==="function"?this.proxyHeaders():{...this.proxyHeaders},X=M.isIPv6(Q.host)?`[${Q.host}]`:Q.host,W=`CONNECT ${X}:${Q.port} HTTP/1.1\r
|
|
9
|
+
`;if($.username||$.password){let K=`${decodeURIComponent($.username)}:${decodeURIComponent($.password)}`;w["Proxy-Authorization"]=`Basic ${Buffer.from(K).toString("base64")}`}if(Object.assign(w,Z),w.Host=`${X}:${Q.port}`,!w["Proxy-Connection"])w["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close";for(let K of Object.keys(w))W+=`${K}: ${w[K]}\r
|
|
10
|
+
`;let V=n(Y);Y.write(`${W}\r
|
|
11
|
+
`);let{connect:q}=await V;if(J.emit("proxyConnect",q),this.emit("proxyConnect",q,J),q.statusCode===200){if(J.once("socket",MJ),Q.secureEndpoint)return _("Upgrading socket connection to TLS"),R.connect({...s(P(Q),"host","path","port"),socket:Y});return Y}throw Y.destroy(),Error(`Proxy authentication failed with status ${q.statusCode} after retry`)}};m.protocols=["http","https"]});function TQ(J){r.set(J,!0),UJ(J)}function UJ(J){SJ.cache.delete?.(J)}function _Q(J){FJ.set(J,!0),UJ(J)}function AJ(J){return FJ.get(J)===!0}function CJ(J){switch(J.family){case 0:case 4:case 6:return J.family;case"IPv6":return 6;case"IPv4":case void 0:return 4;default:throw Error(`Unsupported address family: ${J.family}`)}}function S(J=process.env){return J.https_proxy||J.HTTPS_PROXY||J.http_proxy||J.HTTP_PROXY}function NJ(J=process.env){return J.no_proxy||J.NO_PROXY}function fJ(J){let Q,Z=0,$=kJ.exec(J);if($)Q=$[1],Z=Number($[2]);else{let Y=J.replace(TJ,"$1"),w=PJ.exec(Y);if(Q=w?w[1]:Y,w)Z=Number(w[2])}return{hostname:Q.replace(mJ,"").replace(xJ,"$1").toLowerCase(),port:Z,wildcard:J.startsWith("*")}}function f(J,Q=NJ()){if(!Q)return!1;if(Q==="*")return!0;try{let Z=new URL(J),$=Z.hostname.replace(TJ,"$1").toLowerCase(),Y=Number(Z.port)||(Z.protocol==="https:"||Z.protocol==="wss:"?443:80);return Q.split(vJ).filter(Boolean).map(fJ).some((w)=>{if(w.port&&w.port!==Y)return!1;if(w.hostname==="*")return!0;if(!w.wildcard&&$===w.hostname)return!0;return $.endsWith(`.${w.hostname}`)})}catch{return!1}}function u(J,Q={}){let Z=N(),$=F(),Y={...Z&&{cert:Z.cert,key:Z.key,passphrase:Z.passphrase},...$&&{ca:$}};if(HJ(process.env.CLAUDIN_PROXY_RESOLVES_HOSTS))Y.lookup=(w,X,W)=>{W(null,w,CJ(X))};return new m(J,{...Y,...Q})}function SQ(J={}){let Q=S(),Z=C(),$=j.create({proxy:!1});if(!Q){if(Z)$.defaults.httpsAgent=Z;return $}let Y=u(Q,J);return $.interceptors.request.use((w)=>{if(w.url&&f(w.url))w.httpsAgent=Z,w.httpAgent=Z;else w.httpsAgent=Y,w.httpAgent=Y;return w}),$}function IQ(J){let Q=S();if(!Q)return;if(f(J))return;return u(Q)}function LQ(J){let Q=S();if(!Q)return;if(f(J))return;return Q}function EQ(J){let Q=J?.provider&&r.get(J.provider)?{keepalive:!1}:{};if(J?.forAnthropicAPI){let Y=process.env.ANTHROPIC_UNIX_SOCKET;if(Y&&typeof Bun<"u")return{...Q,unix:Y}}let Z=S();if(Z){if(typeof Bun<"u")return{...Q,proxy:Z,...v()};return{...Q,dispatcher:o(Z)}}let $=v();if(J?.provider&&!$.dispatcher)return{...Q,...$,dispatcher:SJ(J.provider)};return{...Q,...$}}function DQ(){let J=S(),Q=C();if(x!==void 0)j.interceptors.request.eject(x),x=void 0;if(j.defaults.proxy=void 0,j.defaults.httpAgent=void 0,j.defaults.httpsAgent=void 0,J){j.defaults.proxy=!1;let Z=u(J);x=j.interceptors.request.use(($)=>{if($.url&&f($.url))if(Q)$.httpsAgent=Q,$.httpAgent=Q;else delete $.httpsAgent,delete $.httpAgent;else $.httpsAgent=Z,$.httpAgent=Z;return $}),D().setGlobalDispatcher(o(J))}else if(Q){j.defaults.httpsAgent=Q;let Z=v();if(Z.dispatcher)D().setGlobalDispatcher(Z.dispatcher)}}async function RQ(){let J=S();if(!J)return{};let[{NodeHttpHandler:Q},{defaultProvider:Z}]=await Promise.all([import("./index-1.1.39-3mp0kdhv.mjs"),import("./index-1.1.39-h7tvkmm7.mjs")]),$=u(J),Y=new Q({httpAgent:$,httpsAgent:$});return{requestHandler:Y,credentials:Z({clientConfig:{requestHandler:Y}})}}function OQ(){o.cache.clear?.(),G("Cleared proxy agent cache")}var r,FJ,vJ,kJ,TJ,PJ,mJ,xJ,o,T,_J,uJ,SJ,x;var hJ=H(()=>{bJ();qJ();c();p();a();JJ();ZJ();r=new Map;FJ=new Map;vJ=/[,\s]+/,kJ=/^\[(.+)\]:(\d+)$/,TJ=/^\[(.+)\]$/,PJ=/^([^:]+):(\d+)$/,mJ=/^\*?\./,xJ=/^(.+)\.$/;o=U((J)=>{let Q=D(),Z=N(),$=F(),Y={httpProxy:J,httpsProxy:J,noProxy:NJ()};if(Z||$){let w={...Z&&{cert:Z.cert,key:Z.key,passphrase:Z.passphrase},...$&&{ca:$}};Y.connect=w,Y.requestTls=w}return new Q.EnvHttpProxyAgent(Y)}),T={connections:12,keepAliveTimeout:30000,pipelining:1},_J={firstParty:{...T,allowH2:!0},openai:{...T,allowH2:!0},gemini:{...T,allowH2:!0},mistral:{...T,allowH2:!0},github:{...T,allowH2:!0},codex:{...T,allowH2:!0},"nvidia-nim":{...T,allowH2:!0},minimax:{...T,allowH2:!0}},uJ=_J.openai,SJ=U((J)=>{let Q=D(),Z=_J[J]??uJ,$={...Z,allowH2:Z.allowH2&&!AJ(J),keepAliveTimeout:r.get(J)?100:Z.keepAliveTimeout};return new Q.Agent($)})});
|
|
12
|
+
export{cJ as K5,p as L5,N as M5,oJ as N5,tJ as O5,eJ as P5,ZJ as Q5,TQ as R5,_Q as S5,AJ as T5,S as U5,f as V5,SQ as W5,IQ as X5,LQ as Y5,EQ as Z5,DQ as _5,RQ as $5,OQ as a6,hJ as b6};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Rfa as B,Wfa as N,m_ as A,vea as L}from"./cli-1.1.39-p2sg5g92.mjs";import{vja as z,yja as K}from"./cli-1.1.39-pc9dgxhx.mjs";import{Mqa as I,Nqa as J}from"./cli-1.1.39-z8ts6axr.mjs";var V={};I(V,{setCliTeammateModeOverride:()=>P,getTeammateModeFromSnapshot:()=>U,getCliTeammateModeOverride:()=>Q,clearCliTeammateModeOverride:()=>R,captureTeammateModeSnapshot:()=>H});function P(x){y=x}function Q(){return y}function R(x){y=null,q=x,z(`[TeammateModeSnapshot] CLI override cleared, new mode: ${x}`)}function H(){if(y)q=y,z(`[TeammateModeSnapshot] Captured from CLI override: ${q}`);else q=A().teammateMode??"auto",z(`[TeammateModeSnapshot] Captured from config: ${q}`)}function U(){if(q===null)B(Error("getTeammateModeFromSnapshot called before capture - this indicates an initialization bug")),H();return q??"auto"}var q=null,y=null;var W=J(()=>{L();K();N()});
|
|
2
|
+
export{P as B6,Q as C6,R as D6,H as E6,U as F6,V as G6,W as H6};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{mb as s}from"./cli-1.1.39-15jr1t97.mjs";import{Bj as D,Mn as p,Nn as ZJ,Np as x,Pp as a,Wr as k,Xr as M,Yr as m,yj as E,zj as w}from"./cli-1.1.39-yyqx9zb5.mjs";import{N5 as S,Q5 as QJ,W5 as o,X5 as h,Y5 as u,b6 as c}from"./cli-1.1.39-ne2jz4j1.mjs";import{g6 as O,h6 as y}from"./cli-1.1.39-5r6zjkfz.mjs";import{B8 as P,T8 as i}from"./cli-1.1.39-3yy2wxqa.mjs";import{t_ as W,v_ as U}from"./cli-1.1.39-p2sg5g92.mjs";import{$ia as e,_ia as B,dja as C,vja as V,yja as _}from"./cli-1.1.39-pc9dgxhx.mjs";import{Vja as H,Wja as t,aka as r}from"./cli-1.1.39-wdctfdbb.mjs";import{gka as b,oka as KJ}from"./cli-1.1.39-e4p7vgrg.mjs";import{Oqa as JJ}from"./cli-1.1.39-z8ts6axr.mjs";i();_();U();D();C();class R extends Error{retryAfterMs;constructor(J,K){super(J);this.retryAfterMs=K}}class q{pending=[];pendingAtClose=0;draining=!1;closed=!1;backpressureResolvers=[];sleepResolve=null;flushResolvers=[];droppedBatches=0;config;constructor(J){this.config=J}get droppedBatchCount(){return this.droppedBatches}get pendingCount(){return this.closed?this.pendingAtClose:this.pending.length}async enqueue(J){if(this.closed)return;let K=Array.isArray(J)?J:[J];if(K.length===0)return;while(this.pending.length+K.length>this.config.maxQueueSize&&!this.closed)await new Promise((Q)=>{this.backpressureResolvers.push(Q)});if(this.closed)return;this.pending.push(...K),this.drain()}flush(){if(this.pending.length===0&&!this.draining)return Promise.resolve();return this.drain(),new Promise((J)=>{this.flushResolvers.push(J)})}close(){if(this.closed)return;this.closed=!0,this.pendingAtClose=this.pending.length,this.pending=[],this.sleepResolve?.(),this.sleepResolve=null;for(let J of this.backpressureResolvers)J();this.backpressureResolvers=[];for(let J of this.flushResolvers)J();this.flushResolvers=[]}async drain(){if(this.draining||this.closed)return;this.draining=!0;let J=0;try{while(this.pending.length>0&&!this.closed){let K=this.takeBatch();if(K.length===0)continue;try{await this.config.send(K),J=0}catch(Q){if(J++,this.config.maxConsecutiveFailures!==void 0&&J>=this.config.maxConsecutiveFailures){this.droppedBatches++,this.config.onBatchDropped?.(K.length,J),J=0,this.releaseBackpressure();continue}this.pending=K.concat(this.pending);let Z=Q instanceof R?Q.retryAfterMs:void 0;await this.sleep(this.retryDelay(J,Z));continue}this.releaseBackpressure()}}finally{if(this.draining=!1,this.pending.length===0){for(let K of this.flushResolvers)K();this.flushResolvers=[]}}}takeBatch(){let{maxBatchSize:J,maxBatchBytes:K}=this.config;if(K===void 0)return this.pending.splice(0,J);let Q=0,Z=0;while(Z<this.pending.length&&Z<J){let $;try{$=Buffer.byteLength(B(this.pending[Z]))}catch{this.pending.splice(Z,1);continue}if(Z>0&&Q+$>K)break;Q+=$,Z++}return this.pending.splice(0,Z)}retryDelay(J,K){let Q=Math.random()*this.config.jitterMs;if(K!==void 0)return Math.max(this.config.baseDelayMs,Math.min(K,this.config.maxDelayMs))+Q;return Math.min(this.config.baseDelayMs*2**(J-1),this.config.maxDelayMs)+Q}releaseBackpressure(){let J=this.backpressureResolvers;this.backpressureResolvers=[];for(let K of J)K()}sleep(J){return new Promise((K)=>{this.sleepResolve=K,setTimeout((Q,Z)=>{Q.sleepResolve=null,Z()},J,this,K)})}}ZJ();_();U();KJ();QJ();c();m();C();var $J=`{"type":"keep_alive"}
|
|
2
|
+
`,GJ=1000,VJ=1000,d=30000,WJ=600000,YJ=1e4,zJ=300000,I=d*2,XJ=new Set([1002,4001,4003]);class F{ws=null;lastSentId=null;url;state="idle";onData;onCloseCallback;onConnectCallback;headers;sessionId;autoReconnect;reconnectAttempts=0;reconnectStartTime=null;reconnectTimer=null;lastReconnectAttemptTime=null;lastActivityTime=0;pingInterval=null;pongReceived=!0;keepAliveInterval=null;messageBuffer;isBunWs=!1;connectStartTime=0;refreshHeaders;constructor(J,K={},Q,Z,$){this.url=J,this.headers=K,this.sessionId=Q,this.refreshHeaders=Z,this.autoReconnect=$?.autoReconnect??!0,this.messageBuffer=new p(GJ)}async connect(){if(this.state!=="idle"&&this.state!=="reconnecting"){V(`WebSocketTransport: Cannot connect, current state is ${this.state}`,{level:"error"}),W("error","cli_websocket_connect_failed");return}this.state="reconnecting",this.connectStartTime=Date.now(),V(`WebSocketTransport: Opening ${this.url.href}`),W("info","cli_websocket_connect_opening");let J={...this.headers};if(this.lastSentId)J["X-Last-Request-Id"]=this.lastSentId,V(`WebSocketTransport: Adding X-Last-Request-Id header: ${this.lastSentId}`);if(typeof Bun<"u"){let K=new globalThis.WebSocket(this.url.href,{headers:J,proxy:u(this.url.href),tls:S()||void 0});this.ws=K,this.isBunWs=!0,K.addEventListener("open",this.onBunOpen),K.addEventListener("message",this.onBunMessage),K.addEventListener("error",this.onBunError),K.addEventListener("close",this.onBunClose),K.addEventListener("pong",this.onPong)}else{let{default:K}=await import("./wrapper-1.1.39-r1fj52tb.mjs"),Q=new K(this.url.href,{headers:J,agent:h(this.url.href),...S()});this.ws=Q,this.isBunWs=!1,Q.on("open",this.onNodeOpen),Q.on("message",this.onNodeMessage),Q.on("error",this.onNodeError),Q.on("close",this.onNodeClose),Q.on("pong",this.onPong)}}onBunOpen=()=>{if(this.handleOpenEvent(),this.lastSentId)this.replayBufferedMessages("")};onBunMessage=(J)=>{let K=typeof J.data==="string"?J.data:String(J.data);if(this.lastActivityTime=Date.now(),W("info","cli_websocket_message_received",{length:K.length}),this.onData)this.onData(K)};onBunError=()=>{V("WebSocketTransport: Error",{level:"error"}),W("error","cli_websocket_connect_error")};onBunClose=(J)=>{let K=J.code===1000||J.code===1001;V(`WebSocketTransport: Closed: ${J.code}`,K?void 0:{level:"error"}),W("error","cli_websocket_connect_closed"),this.handleConnectionError(J.code)};onNodeOpen=()=>{let J=this.ws;if(this.handleOpenEvent(),!J)return;let Q=J.upgradeReq;if(Q?.headers?.["x-last-request-id"]){let Z=Q.headers["x-last-request-id"];this.replayBufferedMessages(Z)}};onNodeMessage=(J)=>{let K=J.toString();if(this.lastActivityTime=Date.now(),W("info","cli_websocket_message_received",{length:K.length}),this.onData)this.onData(K)};onNodeError=(J)=>{V(`WebSocketTransport: Error: ${J.message}`,{level:"error"}),W("error","cli_websocket_connect_error")};onNodeClose=(J,K)=>{let Q=J===1000||J===1001;V(`WebSocketTransport: Closed: ${J}`,Q?void 0:{level:"error"}),W("error","cli_websocket_connect_closed"),this.handleConnectionError(J)};onPong=()=>{this.pongReceived=!0};handleOpenEvent(){let J=Date.now()-this.connectStartTime;V("WebSocketTransport: Connected"),W("info","cli_websocket_connect_connected",{duration_ms:J}),this.reconnectAttempts=0,this.reconnectStartTime=null,this.lastReconnectAttemptTime=null,this.lastActivityTime=Date.now(),this.state="connected",this.onConnectCallback?.(),this.startPingInterval(),this.startKeepaliveInterval(),k(()=>{this.write({type:"keep_alive"})})}sendLine(J){if(!this.ws||this.state!=="connected")return V("WebSocketTransport: Not connected"),W("info","cli_websocket_send_not_connected"),!1;try{return this.ws.send(J),this.lastActivityTime=Date.now(),!0}catch(K){return V(`WebSocketTransport: Failed to send: ${K}`,{level:"error"}),W("error","cli_websocket_send_error"),this.handleConnectionError(),!1}}removeWsListeners(J){if(this.isBunWs){let K=J;K.removeEventListener("open",this.onBunOpen),K.removeEventListener("message",this.onBunMessage),K.removeEventListener("error",this.onBunError),K.removeEventListener("close",this.onBunClose),K.removeEventListener("pong",this.onPong)}else{let K=J;K.off("open",this.onNodeOpen),K.off("message",this.onNodeMessage),K.off("error",this.onNodeError),K.off("close",this.onNodeClose),K.off("pong",this.onPong)}}doDisconnect(){if(this.stopPingInterval(),this.stopKeepaliveInterval(),M(),this.ws)this.removeWsListeners(this.ws),this.ws.close(),this.ws=null}handleConnectionError(J){if(V(`WebSocketTransport: Disconnected from ${this.url.href}`+(J!=null?` (code ${J})`:"")),W("info","cli_websocket_disconnected"),this.doDisconnect(),this.state==="closing"||this.state==="closed")return;let K=!1;if(J===4003&&this.refreshHeaders){let $=this.refreshHeaders();if($.Authorization!==this.headers.Authorization)Object.assign(this.headers,$),K=!0,V("WebSocketTransport: 4003 received but headers refreshed, scheduling reconnect"),W("info","cli_websocket_4003_token_refreshed")}if(J!=null&&XJ.has(J)&&!K){V(`WebSocketTransport: Permanent close code ${J}, not reconnecting`,{level:"error"}),W("error","cli_websocket_permanent_close",{closeCode:J}),this.state="closed",this.onCloseCallback?.(J);return}if(!this.autoReconnect){this.state="closed",this.onCloseCallback?.(J);return}let Q=Date.now();if(!this.reconnectStartTime)this.reconnectStartTime=Q;if(this.lastReconnectAttemptTime!==null&&Q-this.lastReconnectAttemptTime>I)V(`WebSocketTransport: Detected system sleep (${Math.round((Q-this.lastReconnectAttemptTime)/1000)}s gap), resetting reconnection budget`),W("info","cli_websocket_sleep_detected",{gapMs:Q-this.lastReconnectAttemptTime}),this.reconnectStartTime=Q,this.reconnectAttempts=0;this.lastReconnectAttemptTime=Q;let Z=Q-this.reconnectStartTime;if(Z<WJ){if(this.reconnectTimer)clearTimeout(this.reconnectTimer),this.reconnectTimer=null;if(!K&&this.refreshHeaders){let Y=this.refreshHeaders();Object.assign(this.headers,Y),V("WebSocketTransport: Refreshed headers for reconnect")}this.state="reconnecting",this.reconnectAttempts++;let $=Math.min(VJ*Math.pow(2,this.reconnectAttempts-1),d),G=Math.max(0,$+$*0.25*(2*Math.random()-1));V(`WebSocketTransport: Reconnecting in ${Math.round(G)}ms (attempt ${this.reconnectAttempts}, ${Math.round(Z/1000)}s elapsed)`),W("error","cli_websocket_reconnect_attempt",{reconnectAttempts:this.reconnectAttempts}),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},G)}else if(V(`WebSocketTransport: Reconnection time budget exhausted after ${Math.round(Z/1000)}s for ${this.url.href}`,{level:"error"}),W("error","cli_websocket_reconnect_exhausted",{reconnectAttempts:this.reconnectAttempts,elapsedMs:Z}),this.state="closed",this.onCloseCallback)this.onCloseCallback(J)}close(){if(this.reconnectTimer)clearTimeout(this.reconnectTimer),this.reconnectTimer=null;this.stopPingInterval(),this.stopKeepaliveInterval(),M(),this.state="closing",this.doDisconnect()}replayBufferedMessages(J){let K=this.messageBuffer.toArray();if(K.length===0)return;let Q=0;if(J){let $=K.findIndex((G)=>("uuid"in G)&&G.uuid===J);if($>=0){Q=$+1;let G=K.slice(Q);if(this.messageBuffer.clear(),this.messageBuffer.addAll(G),G.length===0)this.lastSentId=null;V(`WebSocketTransport: Evicted ${Q} confirmed messages, ${G.length} remaining`),W("info","cli_websocket_evicted_confirmed_messages",{evicted:Q,remaining:G.length})}}let Z=K.slice(Q);if(Z.length===0){V("WebSocketTransport: No new messages to replay"),W("info","cli_websocket_no_messages_to_replay");return}V(`WebSocketTransport: Replaying ${Z.length} buffered messages`),W("info","cli_websocket_messages_to_replay",{count:Z.length});for(let $ of Z){let G=B($)+`
|
|
3
|
+
`;if(!this.sendLine(G)){this.handleConnectionError();break}}}isConnectedStatus(){return this.state==="connected"}isClosedStatus(){return this.state==="closed"}setOnData(J){this.onData=J}setOnConnect(J){this.onConnectCallback=J}setOnClose(J){this.onCloseCallback=J}getStateLabel(){return this.state}async write(J){if("uuid"in J&&typeof J.uuid==="string")this.messageBuffer.add(J),this.lastSentId=J.uuid;let K=B(J)+`
|
|
4
|
+
`;if(this.state!=="connected")return;let Q=this.sessionId?` session=${this.sessionId}`:"",Z=this.getControlMessageDetailLabel(J);V(`WebSocketTransport: Sending message type=${J.type}${Q}${Z}`),this.sendLine(K)}getControlMessageDetailLabel(J){if(J.type==="control_request"){let{request_id:K,request:Q}=J,Z=Q.subtype==="can_use_tool"?Q.tool_name:"";return` subtype=${Q.subtype} request_id=${K}${Z?` tool=${Z}`:""}`}if(J.type==="control_response"){let{subtype:K,request_id:Q}=J.response;return` subtype=${K} request_id=${Q}`}return""}startPingInterval(){this.stopPingInterval(),this.pongReceived=!0;let J=Date.now();this.pingInterval=setInterval(()=>{if(this.state==="connected"&&this.ws){let K=Date.now(),Q=K-J;if(J=K,Q>I){V(`WebSocketTransport: ${Math.round(Q/1000)}s tick gap detected — process was suspended, forcing reconnect`),W("info","cli_websocket_sleep_detected_on_ping",{gapMs:Q}),this.handleConnectionError();return}if(!this.pongReceived){V("WebSocketTransport: No pong received, connection appears dead",{level:"error"}),W("error","cli_websocket_pong_timeout"),this.handleConnectionError();return}this.pongReceived=!1;try{this.ws.ping?.()}catch(Z){V(`WebSocketTransport: Ping failed: ${Z}`,{level:"error"}),W("error","cli_websocket_ping_failed")}}},YJ)}stopPingInterval(){if(this.pingInterval)clearInterval(this.pingInterval),this.pingInterval=null}startKeepaliveInterval(){if(this.stopKeepaliveInterval(),b(process.env.CLAUDE_CODE_REMOTE))return;this.keepAliveInterval=setInterval(()=>{if(this.state==="connected"&&this.ws)try{this.ws.send($J),this.lastActivityTime=Date.now(),V("WebSocketTransport: Sent periodic keep_alive data frame")}catch(J){V(`WebSocketTransport: Periodic keep_alive failed: ${J}`,{level:"error"}),W("error","cli_websocket_keepalive_failed")}},zJ)}stopKeepaliveInterval(){if(this.keepAliveInterval)clearInterval(this.keepAliveInterval),this.keepAliveInterval=null}}var LJ=100,jJ=15000,BJ=3000;class qJ extends F{postUrl;uploader;streamEventBuffer=[];streamEventTimer=null;constructor(J,K={},Q,Z,$){super(J,K,Q,Z,$);let{maxConsecutiveFailures:G,onBatchDropped:Y}=$??{};this.postUrl=OJ(J),this.uploader=new q({maxBatchSize:500,maxQueueSize:1e5,baseDelayMs:500,maxDelayMs:8000,jitterMs:1000,maxConsecutiveFailures:G,onBatchDropped:(X,z)=>{W("error","cli_hybrid_batch_dropped_max_failures",{batchSize:X,failures:z}),Y?.(X,z)},send:(X)=>this.postOnce(X)}),V(`HybridTransport: POST URL = ${this.postUrl}`),W("info","cli_hybrid_transport_initialized")}async write(J){if(J.type==="stream_event"){if(this.streamEventBuffer.push(J),!this.streamEventTimer)this.streamEventTimer=setTimeout(()=>this.flushStreamEvents(),LJ);return}return await this.uploader.enqueue([...this.takeStreamEvents(),J]),this.uploader.flush()}async writeBatch(J){return await this.uploader.enqueue([...this.takeStreamEvents(),...J]),this.uploader.flush()}get droppedBatchCount(){return this.uploader.droppedBatchCount}flush(){return this.uploader.enqueue(this.takeStreamEvents()),this.uploader.flush()}takeStreamEvents(){if(this.streamEventTimer)clearTimeout(this.streamEventTimer),this.streamEventTimer=null;let J=this.streamEventBuffer;return this.streamEventBuffer=[],J}flushStreamEvents(){this.streamEventTimer=null,this.uploader.enqueue(this.takeStreamEvents())}close(){if(this.streamEventTimer)clearTimeout(this.streamEventTimer),this.streamEventTimer=null;this.streamEventBuffer=[];let J=this.uploader,K;Promise.race([J.flush(),new Promise((Q)=>{K=setTimeout(Q,BJ)})]).finally(()=>{clearTimeout(K),J.close()}),super.close()}async postOnce(J){let K=E();if(!K){V("HybridTransport: No session token available for POST"),W("warn","cli_hybrid_post_no_token");return}let Q={Authorization:`Bearer ${K}`,"Content-Type":"application/json"},Z;try{Z=await P.post(this.postUrl,{events:J},{headers:Q,validateStatus:()=>!0,timeout:jJ})}catch($){throw V(`HybridTransport: POST error: ${$.message}`),W("warn","cli_hybrid_post_network_error"),$}if(Z.status>=200&&Z.status<300){V(`HybridTransport: POST success count=${J.length}`);return}if(Z.status>=400&&Z.status<500&&Z.status!==429){V(`HybridTransport: POST returned ${Z.status} (permanent), dropping`),W("warn","cli_hybrid_post_client_error",{status:Z.status});return}throw V(`HybridTransport: POST returned ${Z.status} (retryable)`),W("warn","cli_hybrid_post_retryable_error",{status:Z.status}),Error(`POST failed with ${Z.status}`)}}function OJ(J){let K=J.protocol==="wss:"?"https:":"http:",Q=J.pathname;if(Q=Q.replace("/ws/","/session/"),!Q.endsWith("/events"))Q=Q.endsWith("/")?Q+"events":Q+"/events";return`${K}//${J.host}${Q}${J.search}`}import{randomUUID as l}from"crypto";_();U();r();c();m();D();y();a();y();class f{inflight=null;pending=null;closed=!1;config;constructor(J){this.config=J}enqueue(J){if(this.closed)return;this.pending=this.pending?g(this.pending,J):J,this.drain()}close(){this.closed=!0,this.pending=null}async drain(){if(this.inflight||this.closed)return;if(!this.pending)return;let J=this.pending;this.pending=null,this.inflight=this.sendWithRetry(J).then(()=>{if(this.inflight=null,this.pending&&!this.closed)this.drain()})}async sendWithRetry(J){let K=J,Q=0;while(!this.closed){if(await this.config.send(K))return;if(Q++,await O(this.retryDelay(Q)),this.pending&&!this.closed)K=g(K,this.pending),this.pending=null}}retryDelay(J){let K=Math.min(this.config.baseDelayMs*2**(J-1),this.config.maxDelayMs),Q=Math.random()*this.config.jitterMs;return K+Q}}function g(J,K){let Q={...J};for(let[Z,$]of Object.entries(K))if((Z==="external_metadata"||Z==="internal_metadata")&&Q[Z]&&typeof Q[Z]==="object"&&typeof $==="object"&&$!==null)Q[Z]={...Q[Z],...$};else Q[Z]=$;return Q}var HJ=20000,RJ=100;function n(){return!0}class N extends Error{reason;constructor(J){super(`CCRClient init failed: ${J}`);this.reason=J}}var xJ=10;function MJ(){return{byMessage:new Map,scopeToMessage:new Map}}function T(J){return`${J.session_id}:${J.parent_tool_use_id??""}`}function AJ(J,K){let Q=[],Z=new Map;for(let $ of J){let G=$.event;switch(G.type){case"message_start":{let Y=G.message.id,X=K.scopeToMessage.get(T($));if(X)K.byMessage.delete(X);K.scopeToMessage.set(T($),Y),K.byMessage.set(Y,[]),Q.push($);break}case"content_block_delta":{if(G.delta.type!=="text_delta"){Q.push($);break}let Y=K.scopeToMessage.get(T($)),X=Y?K.byMessage.get(Y):void 0;if(!X){Q.push($);break}let z=X[G.index]??=[];z.push(G.delta.text);let L=Z.get(z);if(L){L.event.delta.text=z.join("");break}let j={type:"stream_event",uuid:$.uuid,session_id:$.session_id,parent_tool_use_id:$.parent_tool_use_id,event:{type:"content_block_delta",index:G.index,delta:{type:"text_delta",text:z.join("")}}};Z.set(z,j),Q.push(j);break}default:Q.push($)}}return Q}function _J(J,K){J.byMessage.delete(K.message.id);let Q=T(K);if(J.scopeToMessage.get(Q)===K.message.id)J.scopeToMessage.delete(Q)}class UJ{workerEpoch=0;heartbeatIntervalMs;heartbeatJitterFraction;heartbeatTimer=null;heartbeatInFlight=!1;closed=!1;consecutiveAuthFailures=0;currentState=null;sessionBaseUrl;sessionId;http=o({keepAlive:!0});streamEventBuffer=[];streamEventTimer=null;streamTextAccumulator=MJ();workerState;eventUploader;internalEventUploader;deliveryUploader;onEpochMismatch;getAuthHeaders;constructor(J,K,Q){if(this.onEpochMismatch=Q?.onEpochMismatch??(()=>{process.exit(1)}),this.heartbeatIntervalMs=Q?.heartbeatIntervalMs??HJ,this.heartbeatJitterFraction=Q?.heartbeatJitterFraction??0,this.getAuthHeaders=Q?.getAuthHeaders??w,K.protocol!=="http:"&&K.protocol!=="https:")throw Error(`CCRClient: Expected http(s) URL, got ${K.protocol}`);let Z=K.pathname.replace(/\/$/,"");this.sessionBaseUrl=`${K.protocol}//${K.host}${Z}`,this.sessionId=Z.split("/").pop()||"",this.workerState=new f({send:($)=>this.request("put","/worker",{worker_epoch:this.workerEpoch,...$},"PUT worker").then((G)=>G.ok),baseDelayMs:500,maxDelayMs:30000,jitterMs:500}),this.eventUploader=new q({maxBatchSize:100,maxBatchBytes:10485760,maxQueueSize:1e5,send:async($)=>{let G=await this.request("post","/worker/events",{worker_epoch:this.workerEpoch,events:$},"client events");if(!G.ok)throw new R("client event POST failed",G.retryAfterMs)},baseDelayMs:500,maxDelayMs:30000,jitterMs:500}),this.internalEventUploader=new q({maxBatchSize:100,maxBatchBytes:10485760,maxQueueSize:200,send:async($)=>{let G=await this.request("post","/worker/internal-events",{worker_epoch:this.workerEpoch,events:$},"internal events");if(!G.ok)throw new R("internal event POST failed",G.retryAfterMs)},baseDelayMs:500,maxDelayMs:30000,jitterMs:500}),this.deliveryUploader=new q({maxBatchSize:64,maxQueueSize:64,send:async($)=>{let G=await this.request("post","/worker/events/delivery",{worker_epoch:this.workerEpoch,updates:$.map((Y)=>({event_id:Y.eventId,status:Y.status}))},"delivery batch");if(!G.ok)throw new R("delivery POST failed",G.retryAfterMs)},baseDelayMs:500,maxDelayMs:30000,jitterMs:500}),J.setOnEvent(($)=>{this.reportDelivery($.event_id,"received")})}async initialize(J){let K=Date.now();if(Object.keys(this.getAuthHeaders()).length===0)throw new N("no_auth_headers");if(J===void 0){let Y=process.env.CLAUDE_CODE_WORKER_EPOCH;J=Y?parseInt(Y,10):NaN}if(isNaN(J))throw new N("missing_epoch");this.workerEpoch=J;let Q=this.getWorkerState();if(!(await this.request("put","/worker",{worker_status:"idle",worker_epoch:this.workerEpoch,external_metadata:{pending_action:null,task_summary:null}},"PUT worker (init)")).ok)throw new N("worker_register_failed");this.currentState="idle",this.startHeartbeat(),k(()=>{this.writeEvent({type:"keep_alive"})}),V(`CCRClient: initialized, epoch=${this.workerEpoch}`),W("info","cli_worker_lifecycle_initialized",{epoch:this.workerEpoch,duration_ms:Date.now()-K});let{metadata:$,durationMs:G}=await Q;if(!this.closed)W("info","cli_worker_state_restored",{duration_ms:G,had_state:$!==null});return $}async getWorkerState(){let J=Date.now(),K=this.getAuthHeaders();if(Object.keys(K).length===0)return{metadata:null,durationMs:0};return{metadata:(await this.getWithRetry(`${this.sessionBaseUrl}/worker`,K,"worker_state"))?.worker?.external_metadata??null,durationMs:Date.now()-J}}async request(J,K,Q,Z,{timeout:$=1e4}={}){let G=this.getAuthHeaders();if(Object.keys(G).length===0)return{ok:!1};try{let Y=await this.http[J](`${this.sessionBaseUrl}${K}`,Q,{headers:{...G,"Content-Type":"application/json","anthropic-version":"2023-06-01","User-Agent":x()},validateStatus:n,timeout:$});if(Y.status>=200&&Y.status<300)return this.consecutiveAuthFailures=0,{ok:!0};if(Y.status===409)this.handleEpochMismatch();if(Y.status===401||Y.status===403){let X=E(),z=X?s(X):null;if(z!==null&&z*1000<Date.now())V(`CCRClient: session_token expired (exp=${new Date(z*1000).toISOString()}) — no refresh was delivered, exiting`,{level:"error"}),W("error","cli_worker_token_expired_no_refresh"),this.onEpochMismatch();if(this.consecutiveAuthFailures++,this.consecutiveAuthFailures>=xJ)V(`CCRClient: ${this.consecutiveAuthFailures} consecutive auth failures with a valid-looking token — server-side auth unrecoverable, exiting`,{level:"error"}),W("error","cli_worker_auth_failures_exhausted"),this.onEpochMismatch()}if(V(`CCRClient: ${Z} returned ${Y.status}`,{level:"warn"}),W("warn","cli_worker_request_failed",{method:J,path:K,status:Y.status}),Y.status===429){let X=Y.headers?.["retry-after"],z=typeof X==="string"?parseInt(X,10):NaN;if(!isNaN(z)&&z>=0)return{ok:!1,retryAfterMs:z*1000}}return{ok:!1}}catch(Y){return V(`CCRClient: ${Z} failed: ${H(Y)}`,{level:"warn"}),W("warn","cli_worker_request_error",{method:J,path:K,error_code:t(Y)}),{ok:!1}}}reportState(J,K){if(J===this.currentState&&!K)return;this.currentState=J,this.workerState.enqueue({worker_status:J,requires_action_details:K?{tool_name:K.tool_name,action_description:K.action_description,request_id:K.request_id}:null})}reportMetadata(J){this.workerState.enqueue({external_metadata:J})}handleEpochMismatch(){V("CCRClient: Epoch mismatch (409), shutting down",{level:"error"}),W("error","cli_worker_epoch_mismatch"),this.onEpochMismatch()}startHeartbeat(){this.stopHeartbeat();let J=()=>{let Q=this.heartbeatIntervalMs*this.heartbeatJitterFraction*(2*Math.random()-1);this.heartbeatTimer=setTimeout(K,this.heartbeatIntervalMs+Q)},K=()=>{if(this.sendHeartbeat(),this.heartbeatTimer===null)return;J()};J()}stopHeartbeat(){if(this.heartbeatTimer)clearTimeout(this.heartbeatTimer),this.heartbeatTimer=null}async sendHeartbeat(){if(this.heartbeatInFlight)return;this.heartbeatInFlight=!0;try{if((await this.request("post","/worker/heartbeat",{session_id:this.sessionId,worker_epoch:this.workerEpoch},"Heartbeat",{timeout:5000})).ok)V("CCRClient: Heartbeat sent")}finally{this.heartbeatInFlight=!1}}async writeEvent(J){if(J.type==="stream_event"){if(this.streamEventBuffer.push(J),!this.streamEventTimer)this.streamEventTimer=setTimeout(()=>void this.flushStreamEventBuffer(),RJ);return}if(await this.flushStreamEventBuffer(),J.type==="assistant")_J(this.streamTextAccumulator,J);await this.eventUploader.enqueue(this.toClientEvent(J))}toClientEvent(J){let K=J;return{payload:{...K,uuid:typeof K.uuid==="string"?K.uuid:l()}}}async flushStreamEventBuffer(){if(this.streamEventTimer)clearTimeout(this.streamEventTimer),this.streamEventTimer=null;if(this.streamEventBuffer.length===0)return;let J=this.streamEventBuffer;this.streamEventBuffer=[];let K=AJ(J,this.streamTextAccumulator);await this.eventUploader.enqueue(K.map((Q)=>({payload:Q,ephemeral:!0})))}async writeInternalEvent(J,K,{isCompaction:Q=!1,agentId:Z}={}){let $={payload:{type:J,...K,uuid:typeof K.uuid==="string"?K.uuid:l()},...Q&&{is_compaction:!0},...Z&&{agent_id:Z}};await this.internalEventUploader.enqueue($)}flushInternalEvents(){return this.internalEventUploader.flush()}async flush(){return await this.flushStreamEventBuffer(),this.eventUploader.flush()}async readInternalEvents(){return this.paginatedGet("/worker/internal-events",{},"internal_events")}async readSubagentInternalEvents(){return this.paginatedGet("/worker/internal-events",{subagents:"true"},"subagent_events")}async paginatedGet(J,K,Q){let Z=this.getAuthHeaders();if(Object.keys(Z).length===0)return null;let $=[],G;do{let Y=new URL(`${this.sessionBaseUrl}${J}`);for(let[z,L]of Object.entries(K))Y.searchParams.set(z,L);if(G)Y.searchParams.set("cursor",G);let X=await this.getWithRetry(Y.toString(),Z,Q);if(!X)return null;$.push(...X.data??[]),G=X.next_cursor}while(G);return V(`CCRClient: Read ${$.length} internal events from ${J}${K.subagents?" (subagents)":""}`),$}async getWithRetry(J,K,Q){for(let Z=1;Z<=10;Z++){let $;try{$=await this.http.get(J,{headers:{...K,"anthropic-version":"2023-06-01","User-Agent":x()},validateStatus:n,timeout:30000})}catch(G){if(V(`CCRClient: GET ${J} failed (attempt ${Z}/10): ${H(G)}`,{level:"warn"}),Z<10){let Y=Math.min(500*2**(Z-1),30000)+Math.random()*500;await O(Y)}continue}if($.status>=200&&$.status<300)return $.data;if($.status===409)this.handleEpochMismatch();if(V(`CCRClient: GET ${J} returned ${$.status} (attempt ${Z}/10)`,{level:"warn"}),Z<10){let G=Math.min(500*2**(Z-1),30000)+Math.random()*500;await O(G)}}return V("CCRClient: GET retries exhausted",{level:"error"}),W("error","cli_worker_get_retries_exhausted",{context:Q}),null}reportDelivery(J,K){this.deliveryUploader.enqueue({eventId:J,status:K})}getWorkerEpoch(){return this.workerEpoch}get internalEventsPending(){return this.internalEventUploader.pendingCount}close(){if(this.closed=!0,this.stopHeartbeat(),M(),this.streamEventTimer)clearTimeout(this.streamEventTimer),this.streamEventTimer=null;this.streamEventBuffer=[],this.streamTextAccumulator.byMessage.clear(),this.streamTextAccumulator.scopeToMessage.clear(),this.workerState.close(),this.eventUploader.close(),this.internalEventUploader.close(),this.deliveryUploader.close()}}i();_();U();r();D();y();C();a();var kJ=1000,PJ=30000,EJ=600000,NJ=45000,TJ=new Set([401,403,404]),A=10,wJ=500,CJ=8000,SJ={stream:!0};function FJ(){return!0}function DJ(J){let K=[],Q=0,Z;while((Z=J.indexOf(`
|
|
5
|
+
|
|
6
|
+
`,Q))!==-1){let $=J.slice(Q,Z);if(Q=Z+2,!$.trim())continue;let G={},Y=!1;for(let X of $.split(`
|
|
7
|
+
`)){if(X.startsWith(":")){Y=!0;continue}let z=X.indexOf(":");if(z===-1)continue;let L=X.slice(0,z),j=X[z+1]===" "?X.slice(z+2):X.slice(z+1);switch(L){case"event":G.event=j;break;case"id":G.id=j;break;case"data":G.data=G.data?G.data+`
|
|
8
|
+
`+j:j;break}}if(G.data||Y)K.push(G)}return{frames:K,remaining:J.slice(Q)}}class yJ{url;state="idle";onData;onCloseCallback;onEventCallback;headers;sessionId;refreshHeaders;getAuthHeaders;abortController=null;lastSequenceNum=0;seenSequenceNums=new Set;reconnectAttempts=0;reconnectStartTime=null;reconnectTimer=null;livenessTimer=null;postUrl;constructor(J,K={},Q,Z,$,G){this.url=J;if(this.headers=K,this.sessionId=Q,this.refreshHeaders=Z,this.getAuthHeaders=G??w,this.postUrl=fJ(J),$!==void 0&&$>0)this.lastSequenceNum=$;V(`SSETransport: SSE URL = ${J.href}`),V(`SSETransport: POST URL = ${this.postUrl}`),W("info","cli_sse_transport_initialized")}getLastSequenceNum(){return this.lastSequenceNum}async connect(){if(this.state!=="idle"&&this.state!=="reconnecting"){V(`SSETransport: Cannot connect, current state is ${this.state}`,{level:"error"}),W("error","cli_sse_connect_failed");return}this.state="reconnecting";let J=Date.now(),K=new URL(this.url.href);if(this.lastSequenceNum>0)K.searchParams.set("from_sequence_num",String(this.lastSequenceNum));let Q=this.getAuthHeaders(),Z={...this.headers,...Q,Accept:"text/event-stream","anthropic-version":"2023-06-01","User-Agent":x()};if(Q.Cookie)delete Z.Authorization;if(this.lastSequenceNum>0)Z["Last-Event-ID"]=String(this.lastSequenceNum);V(`SSETransport: Opening ${K.href}`),W("info","cli_sse_connect_opening"),this.abortController=new AbortController;try{let $=await fetch(K.href,{headers:Z,signal:this.abortController.signal});if(!$.ok){let Y=TJ.has($.status);if(V(`SSETransport: HTTP ${$.status}${Y?" (permanent)":""}`,{level:"error"}),W("error","cli_sse_connect_http_error",{status:$.status}),Y){this.state="closed",this.onCloseCallback?.($.status);return}this.handleConnectionError();return}if(!$.body){V("SSETransport: No response body"),this.handleConnectionError();return}let G=Date.now()-J;V("SSETransport: Connected"),W("info","cli_sse_connect_connected",{duration_ms:G}),this.state="connected",this.reconnectAttempts=0,this.reconnectStartTime=null,this.resetLivenessTimer(),await this.readStream($.body)}catch($){if(this.abortController?.signal.aborted)return;V(`SSETransport: Connection error: ${H($)}`,{level:"error"}),W("error","cli_sse_connect_error"),this.handleConnectionError()}}async readStream(J){let K=J.getReader(),Q=new TextDecoder,Z="";try{while(!0){let{done:$,value:G}=await K.read();if($)break;Z+=Q.decode(G,SJ);let{frames:Y,remaining:X}=DJ(Z);Z=X;for(let z of Y){if(this.resetLivenessTimer(),z.id){let L=parseInt(z.id,10);if(!isNaN(L)){if(this.seenSequenceNums.has(L))V(`SSETransport: DUPLICATE frame seq=${L} (lastSequenceNum=${this.lastSequenceNum}, seenCount=${this.seenSequenceNums.size})`,{level:"warn"}),W("warn","cli_sse_duplicate_sequence");else if(this.seenSequenceNums.add(L),this.seenSequenceNums.size>1000){let j=this.lastSequenceNum-200;for(let v of this.seenSequenceNums)if(v<j)this.seenSequenceNums.delete(v)}if(L>this.lastSequenceNum)this.lastSequenceNum=L}}if(z.event&&z.data)this.handleSSEFrame(z.event,z.data);else if(z.data)V("SSETransport: Frame has data: but no event: field — dropped",{level:"warn"}),W("warn","cli_sse_frame_missing_event_field")}}}catch($){if(this.abortController?.signal.aborted)return;V(`SSETransport: Stream read error: ${H($)}`,{level:"error"}),W("error","cli_sse_stream_read_error")}finally{K.releaseLock()}if(this.state!=="closing"&&this.state!=="closed")V("SSETransport: Stream ended, reconnecting"),this.handleConnectionError()}handleSSEFrame(J,K){if(J!=="client_event"){V(`SSETransport: Unexpected SSE event type '${J}' on worker stream`,{level:"warn"}),W("warn","cli_sse_unexpected_event_type",{event_type:J});return}let Q;try{Q=e(K)}catch($){V(`SSETransport: Failed to parse client_event data: ${H($)}`,{level:"error"});return}let Z=Q.payload;if(Z&&typeof Z==="object"&&"type"in Z){let $=this.sessionId?` session=${this.sessionId}`:"";V(`SSETransport: Event seq=${Q.sequence_num} event_id=${Q.event_id} event_type=${Q.event_type} payload_type=${String(Z.type)}${$}`),W("info","cli_sse_message_received"),this.onData?.(B(Z)+`
|
|
9
|
+
`)}else V(`SSETransport: Ignoring client_event with no type in payload: event_id=${Q.event_id}`);this.onEventCallback?.(Q)}handleConnectionError(){if(this.clearLivenessTimer(),this.state==="closing"||this.state==="closed")return;this.abortController?.abort(),this.abortController=null;let J=Date.now();if(!this.reconnectStartTime)this.reconnectStartTime=J;let K=J-this.reconnectStartTime;if(K<EJ){if(this.reconnectTimer)clearTimeout(this.reconnectTimer),this.reconnectTimer=null;if(this.refreshHeaders){let $=this.refreshHeaders();Object.assign(this.headers,$),V("SSETransport: Refreshed headers for reconnect")}this.state="reconnecting",this.reconnectAttempts++;let Q=Math.min(kJ*Math.pow(2,this.reconnectAttempts-1),PJ),Z=Math.max(0,Q+Q*0.25*(2*Math.random()-1));V(`SSETransport: Reconnecting in ${Math.round(Z)}ms (attempt ${this.reconnectAttempts}, ${Math.round(K/1000)}s elapsed)`),W("error","cli_sse_reconnect_attempt",{reconnectAttempts:this.reconnectAttempts}),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},Z)}else V(`SSETransport: Reconnection time budget exhausted after ${Math.round(K/1000)}s`,{level:"error"}),W("error","cli_sse_reconnect_exhausted",{reconnectAttempts:this.reconnectAttempts,elapsedMs:K}),this.state="closed",this.onCloseCallback?.()}onLivenessTimeout=()=>{this.livenessTimer=null,V("SSETransport: Liveness timeout, reconnecting",{level:"error"}),W("error","cli_sse_liveness_timeout"),this.abortController?.abort(),this.handleConnectionError()};resetLivenessTimer(){this.clearLivenessTimer(),this.livenessTimer=setTimeout(this.onLivenessTimeout,NJ)}clearLivenessTimer(){if(this.livenessTimer)clearTimeout(this.livenessTimer),this.livenessTimer=null}async write(J){let K=this.getAuthHeaders();if(Object.keys(K).length===0){V("SSETransport: No session token available for POST"),W("warn","cli_sse_post_no_token");return}let Q={...K,"Content-Type":"application/json","anthropic-version":"2023-06-01","User-Agent":x()};V(`SSETransport: POST body keys=${Object.keys(J).join(",")}`);for(let Z=1;Z<=A;Z++){try{let G=await P.post(this.postUrl,J,{headers:Q,validateStatus:FJ});if(G.status===200||G.status===201){V(`SSETransport: POST success type=${J.type}`);return}if(V(`SSETransport: POST ${G.status} body=${B(G.data).slice(0,200)}`),G.status>=400&&G.status<500&&G.status!==429){V(`SSETransport: POST returned ${G.status} (client error), not retrying`),W("warn","cli_sse_post_client_error",{status:G.status});return}V(`SSETransport: POST returned ${G.status}, attempt ${Z}/${A}`),W("warn","cli_sse_post_retryable_error",{status:G.status,attempt:Z})}catch(G){V(`SSETransport: POST error: ${G.message}, attempt ${Z}/${A}`),W("warn","cli_sse_post_network_error",{attempt:Z})}if(Z===A){V(`SSETransport: POST failed after ${A} attempts, continuing`),W("warn","cli_sse_post_retries_exhausted");return}let $=Math.min(wJ*Math.pow(2,Z-1),CJ);await O($)}}isConnectedStatus(){return this.state==="connected"}isClosedStatus(){return this.state==="closed"}setOnData(J){this.onData=J}setOnClose(J){this.onCloseCallback=J}setOnEvent(J){this.onEventCallback=J}close(){if(this.reconnectTimer)clearTimeout(this.reconnectTimer),this.reconnectTimer=null;this.clearLivenessTimer(),this.state="closing",this.abortController?.abort(),this.abortController=null}}function fJ(J){let K=J.pathname;if(K.endsWith("/stream"))K=K.slice(0,-7);return`${J.protocol}//${J.host}${K}`}
|
|
10
|
+
export{F as Wa,qJ as Xa,N as Ya,UJ as Za,yJ as _a};
|