@claudiolabs/claudin 1.1.9 → 1.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/AgentTool-1.1.10-gj63wvsc.mjs +1 -0
- package/dist/chunks/App-1.1.10-sk0bjxfk.mjs +1 -0
- package/dist/chunks/ApproveApiKey-1.1.10-7yenejkw.mjs +1 -0
- package/dist/chunks/AssistantSessionChooser-1.1.10-0aa0zy1a.mjs +1 -0
- package/dist/chunks/AutoModeOptInDialog-1.1.10-vyft90yk.mjs +1 -0
- package/dist/chunks/BypassPermissionsModeDialog-1.1.10-657b3x88.mjs +1 -0
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.1.10-2vb72aje.mjs +1 -0
- package/dist/chunks/ConsoleOAuthFlow-1.1.10-dcrmyx9b.mjs +1 -0
- package/dist/chunks/DiffDialog-1.1.10-3k4xatjv.mjs +7 -0
- package/dist/chunks/Doctor-1.1.10-rgy7nenk.mjs +1 -0
- package/dist/chunks/ExplorerDialog-1.1.10-7tka6rrk.mjs +6 -0
- package/dist/chunks/Grove-1.1.10-mzvca2vd.mjs +1 -0
- package/dist/chunks/ITermBackend-1.1.10-zf1cxr4h.mjs +1 -0
- package/dist/chunks/InvalidConfigDialog-1.1.10-xbvct858.mjs +1 -0
- package/dist/chunks/InvalidSettingsDialog-1.1.10-29tqjn4y.mjs +1 -0
- package/dist/chunks/MigrationDialog-1.1.10-0fdsdbna.mjs +1 -0
- package/dist/chunks/Onboarding-1.1.10-pwtdmht6.mjs +1 -0
- package/dist/chunks/ProviderManager-1.1.10-qdhkgymy.mjs +1 -0
- package/dist/chunks/REPL-1.1.10-d1wzzd1a.mjs +1 -0
- package/dist/chunks/ResumeConversation-1.1.10-qxv36tqp.mjs +1 -0
- package/dist/chunks/SnapshotUpdateDialog-1.1.10-1w85m05k.mjs +1 -0
- package/dist/chunks/TeleportProgress-1.1.10-qsf4xmkj.mjs +1 -0
- package/dist/chunks/TeleportRepoMismatchDialog-1.1.10-b0js9xk0.mjs +1 -0
- package/dist/chunks/TeleportResumeWrapper-1.1.10-v8g7z6vy.mjs +1 -0
- package/dist/chunks/TmuxBackend-1.1.10-mh9af70m.mjs +9 -0
- package/dist/chunks/ToolSearchTool-1.1.10-23pzjxjm.mjs +1 -0
- package/dist/chunks/TrustDialog-1.1.10-561ps5mb.mjs +1 -0
- package/dist/chunks/activeProvider-1.1.10-1spf7213.mjs +1 -0
- package/dist/chunks/add-dir-1.1.10-pvac31nq.mjs +1 -0
- package/dist/chunks/agentTypes-1.1.10-1g7w3dx1.mjs +1 -0
- package/dist/chunks/agents-1.1.10-8m9yb7xs.mjs +110 -0
- package/dist/chunks/agents-1.1.10-spgs7zfh.mjs +3 -0
- package/dist/chunks/api-1.1.10-6md4ym02.mjs +1 -0
- package/dist/chunks/asciicast-1.1.10-r808f4jx.mjs +1 -0
- package/dist/chunks/assistant-1.1.10-2jgdpy2m.mjs +1 -0
- package/dist/chunks/auth-1.1.10-c58sakkr.mjs +1 -0
- package/dist/chunks/auth-1.1.10-sfzbw010.mjs +1 -0
- package/dist/chunks/autoMode-1.1.10-c8tm40pq.mjs +48 -0
- package/dist/chunks/autoUpdater-1.1.10-avtbnsyp.mjs +1 -0
- package/dist/chunks/backgroundHousekeeping-1.1.10-n208vt88.mjs +1 -0
- package/dist/chunks/branch-1.1.10-qtvf52jq.mjs +4 -0
- package/dist/chunks/bridge-1.1.10-ryc7krfd.mjs +2 -0
- package/dist/chunks/bridgeConfig-1.1.10-3j77pwcn.mjs +1 -0
- package/dist/chunks/bridgeEnabled-1.1.10-mdqzrmk6.mjs +1 -0
- package/dist/chunks/bridgeMain-1.1.10-0da3j9a0.mjs +88 -0
- package/dist/chunks/bridgePointer-1.1.10-hjbfhk32.mjs +1 -0
- package/dist/chunks/btw-1.1.10-k6ndf81e.mjs +1 -0
- package/dist/chunks/buddy-1.1.10-t5yrtkdq.mjs +3 -0
- package/dist/chunks/cache-probe-1.1.10-tkh4t0g0.mjs +21 -0
- package/dist/chunks/cacheStats-1.1.10-q4zvr7r5.mjs +4 -0
- package/dist/chunks/caches-1.1.10-107p4aea.mjs +1 -0
- package/dist/chunks/claudeDesktop-1.1.10-fkx2a88x.mjs +1 -0
- package/dist/chunks/claudemd-1.1.10-n325a040.mjs +1 -0
- package/dist/chunks/clear-1.1.10-evfcfpzq.mjs +1 -0
- package/dist/chunks/clearTerminal-1.1.10-9c6e5w18.mjs +1 -0
- package/dist/chunks/cli-1.1.10-051sym72.mjs +2 -0
- package/dist/chunks/cli-1.1.10-05ry3ydz.mjs +2 -0
- package/dist/chunks/cli-1.1.10-0hqk157z.mjs +2 -0
- package/dist/chunks/cli-1.1.10-0j2bz40j.mjs +2 -0
- package/dist/chunks/cli-1.1.10-0ss6k2ta.mjs +133 -0
- package/dist/chunks/cli-1.1.10-0sxx8rkz.mjs +21 -0
- package/dist/chunks/cli-1.1.10-0t3bda7e.mjs +45 -0
- package/dist/chunks/cli-1.1.10-0v84m667.mjs +2 -0
- package/dist/chunks/cli-1.1.10-0v8v9gwe.mjs +17 -0
- package/dist/chunks/cli-1.1.10-0vae4j38.mjs +2 -0
- package/dist/chunks/cli-1.1.10-0vm5evaf.mjs +2 -0
- package/dist/chunks/cli-1.1.10-0yx9c9s1.mjs +2 -0
- package/dist/chunks/cli-1.1.10-12dzgaq4.mjs +2 -0
- package/dist/chunks/cli-1.1.10-15m7f0r3.mjs +50 -0
- package/dist/chunks/cli-1.1.10-1jkxjyqd.mjs +2 -0
- package/dist/chunks/cli-1.1.10-1mh77njj.mjs +2 -0
- package/dist/chunks/cli-1.1.10-1qxr18wg.mjs +2 -0
- package/dist/chunks/cli-1.1.10-220cer0v.mjs +9 -0
- package/dist/chunks/cli-1.1.10-250q8bef.mjs +2 -0
- package/dist/chunks/cli-1.1.10-2rygdbq2.mjs +2 -0
- package/dist/chunks/cli-1.1.10-2scx8n6c.mjs +2 -0
- package/dist/chunks/cli-1.1.10-2thwcpkf.mjs +18 -0
- package/dist/chunks/cli-1.1.10-2w383pwf.mjs +2 -0
- package/dist/chunks/cli-1.1.10-2w4c9red.mjs +3 -0
- package/dist/chunks/cli-1.1.10-2wkvf65f.mjs +2 -0
- package/dist/chunks/cli-1.1.10-2x1a8qcr.mjs +2 -0
- package/dist/chunks/cli-1.1.10-374zmax8.mjs +2 -0
- package/dist/chunks/cli-1.1.10-39crhqg8.mjs +2 -0
- package/dist/chunks/cli-1.1.10-3a3dw1b0.mjs +6 -0
- package/dist/chunks/cli-1.1.10-3pch2a3h.mjs +2 -0
- package/dist/chunks/cli-1.1.10-3vfwktcp.mjs +2 -0
- package/dist/chunks/cli-1.1.10-453rs0bh.mjs +3 -0
- package/dist/chunks/cli-1.1.10-49bvng33.mjs +2 -0
- package/dist/chunks/cli-1.1.10-4fjjvbb7.mjs +2 -0
- package/dist/chunks/cli-1.1.10-4h8gax7r.mjs +2 -0
- package/dist/chunks/cli-1.1.10-4xztz3b9.mjs +24 -0
- package/dist/chunks/cli-1.1.10-51vyhqae.mjs +2 -0
- package/dist/chunks/cli-1.1.10-5828mt9m.mjs +2 -0
- package/dist/chunks/cli-1.1.10-58e888gh.mjs +2 -0
- package/dist/chunks/cli-1.1.10-58vqqfgj.mjs +2 -0
- package/dist/chunks/cli-1.1.10-5hrs5rqr.mjs +2 -0
- package/dist/chunks/cli-1.1.10-5t6aryqe.mjs +2 -0
- package/dist/chunks/cli-1.1.10-5t95b8cn.mjs +2 -0
- package/dist/chunks/cli-1.1.10-5y236qn7.mjs +2 -0
- package/dist/chunks/cli-1.1.10-6g4fntdc.mjs +3 -0
- package/dist/chunks/cli-1.1.10-6km1ymnm.mjs +2 -0
- package/dist/chunks/cli-1.1.10-6m1jpn0s.mjs +24 -0
- package/dist/chunks/cli-1.1.10-6q7mx8f2.mjs +2 -0
- package/dist/chunks/cli-1.1.10-6smvkrsd.mjs +2 -0
- package/dist/chunks/cli-1.1.10-6vxxztf9.mjs +2 -0
- package/dist/chunks/cli-1.1.10-6ya9ptdc.mjs +2 -0
- package/dist/chunks/cli-1.1.10-795jmkhb.mjs +2 -0
- package/dist/chunks/cli-1.1.10-84ev8nya.mjs +2 -0
- package/dist/chunks/cli-1.1.10-85j5ems7.mjs +2 -0
- package/dist/chunks/cli-1.1.10-8fgppw70.mjs +2 -0
- package/dist/chunks/cli-1.1.10-8vmgbrks.mjs +2 -0
- package/dist/chunks/cli-1.1.10-8xx1v7p2.mjs +2 -0
- package/dist/chunks/cli-1.1.10-910qbqn7.mjs +133 -0
- package/dist/chunks/cli-1.1.10-9jy4caft.mjs +2 -0
- package/dist/chunks/cli-1.1.10-9pxnk8yg.mjs +6 -0
- package/dist/chunks/cli-1.1.10-9q1p3zj2.mjs +2 -0
- package/dist/chunks/cli-1.1.10-9r8td4sp.mjs +2 -0
- package/dist/chunks/cli-1.1.10-a0ypafa6.mjs +2 -0
- package/dist/chunks/cli-1.1.10-a565mgy8.mjs +2 -0
- package/dist/chunks/cli-1.1.10-a7j4a04g.mjs +2 -0
- package/dist/chunks/cli-1.1.10-a8e8n1bk.mjs +2 -0
- package/dist/chunks/cli-1.1.10-aq5a8xs2.mjs +2 -0
- package/dist/chunks/cli-1.1.10-azskxdmb.mjs +2 -0
- package/dist/chunks/cli-1.1.10-b0b04nbj.mjs +2 -0
- package/dist/chunks/cli-1.1.10-b1hac494.mjs +2 -0
- package/dist/chunks/cli-1.1.10-b41dat7h.mjs +2 -0
- package/dist/chunks/cli-1.1.10-b6my5t3h.mjs +2 -0
- package/dist/chunks/cli-1.1.10-ba3fhh55.mjs +2 -0
- package/dist/chunks/cli-1.1.10-bpcmdnpg.mjs +2 -0
- package/dist/chunks/cli-1.1.10-bs5xjsav.mjs +39 -0
- package/dist/chunks/cli-1.1.10-c2wdnady.mjs +3 -0
- package/dist/chunks/cli-1.1.10-c3g5ab8n.mjs +2 -0
- package/dist/chunks/cli-1.1.10-c67v6p50.mjs +2 -0
- package/dist/chunks/cli-1.1.10-c77kxdjj.mjs +2 -0
- package/dist/chunks/cli-1.1.10-cbgx6hw2.mjs +9 -0
- package/dist/chunks/cli-1.1.10-cn0a8vwn.mjs +2 -0
- package/dist/chunks/cli-1.1.10-ct81y4qh.mjs +4 -0
- package/dist/chunks/cli-1.1.10-cvxq4g91.mjs +2 -0
- package/dist/chunks/cli-1.1.10-cyv1wwen.mjs +3 -0
- package/dist/chunks/cli-1.1.10-d15qrtw2.mjs +2 -0
- package/dist/chunks/cli-1.1.10-d4ncq82f.mjs +8 -0
- package/dist/chunks/cli-1.1.10-dppcc1yx.mjs +6 -0
- package/dist/chunks/cli-1.1.10-dvxkr02c.mjs +2 -0
- package/dist/chunks/cli-1.1.10-e7wxspgz.mjs +4 -0
- package/dist/chunks/cli-1.1.10-e8zhf6q8.mjs +2 -0
- package/dist/chunks/cli-1.1.10-ecahzspx.mjs +2 -0
- package/dist/chunks/cli-1.1.10-effpqe7k.mjs +2 -0
- package/dist/chunks/cli-1.1.10-ejwjw031.mjs +6 -0
- package/dist/chunks/cli-1.1.10-eqscqpev.mjs +3 -0
- package/dist/chunks/cli-1.1.10-erh9bkn9.mjs +24 -0
- package/dist/chunks/cli-1.1.10-ex9enqps.mjs +2 -0
- package/dist/chunks/cli-1.1.10-f00rps59.mjs +2 -0
- package/dist/chunks/cli-1.1.10-f2zv6ggd.mjs +2 -0
- package/dist/chunks/cli-1.1.10-f7dqg4nd.mjs +2 -0
- package/dist/chunks/cli-1.1.10-f8q95jfw.mjs +2 -0
- package/dist/chunks/cli-1.1.10-f8znbdgf.mjs +4 -0
- package/dist/chunks/cli-1.1.10-fdxccf2v.mjs +3 -0
- package/dist/chunks/cli-1.1.10-fkqba8ty.mjs +58 -0
- package/dist/chunks/cli-1.1.10-fsq46r6j.mjs +2 -0
- package/dist/chunks/cli-1.1.10-fz99ag3y.mjs +2 -0
- package/dist/chunks/cli-1.1.10-gafedg04.mjs +2 -0
- package/dist/chunks/cli-1.1.10-gjdh1yvr.mjs +2 -0
- package/dist/chunks/cli-1.1.10-gnmyahda.mjs +7 -0
- package/dist/chunks/cli-1.1.10-gr69gke8.mjs +15 -0
- package/dist/chunks/cli-1.1.10-gydf5ktx.mjs +2 -0
- package/dist/chunks/cli-1.1.10-h0b2x5t4.mjs +2 -0
- package/dist/chunks/cli-1.1.10-h49727f7.mjs +3 -0
- package/dist/chunks/cli-1.1.10-h4m6563f.mjs +4 -0
- package/dist/chunks/cli-1.1.10-hdz1r66z.mjs +2 -0
- package/dist/chunks/cli-1.1.10-hg2m67ya.mjs +15 -0
- package/dist/chunks/cli-1.1.10-hhkgpzgz.mjs +2 -0
- package/dist/chunks/cli-1.1.10-hk2c91wp.mjs +5379 -0
- package/dist/chunks/cli-1.1.10-hr4ety9s.mjs +2 -0
- package/dist/chunks/cli-1.1.10-hs44pkht.mjs +2 -0
- package/dist/chunks/cli-1.1.10-hx9513je.mjs +2 -0
- package/dist/chunks/cli-1.1.10-j20txpzn.mjs +2 -0
- package/dist/chunks/cli-1.1.10-j4vg803f.mjs +25 -0
- package/dist/chunks/cli-1.1.10-jd00fn0g.mjs +34 -0
- package/dist/chunks/cli-1.1.10-jeaf93w2.mjs +2 -0
- package/dist/chunks/cli-1.1.10-jfmgqmt5.mjs +17 -0
- package/dist/chunks/cli-1.1.10-jfwqa1gq.mjs +3 -0
- package/dist/chunks/cli-1.1.10-jn6w68wj.mjs +6 -0
- package/dist/chunks/cli-1.1.10-jp5ga1mx.mjs +2 -0
- package/dist/chunks/cli-1.1.10-jrpxc13y.mjs +2 -0
- package/dist/chunks/cli-1.1.10-jyk734bb.mjs +2 -0
- package/dist/chunks/cli-1.1.10-k9q658g7.mjs +2 -0
- package/dist/chunks/cli-1.1.10-kdvf271d.mjs +4 -0
- package/dist/chunks/cli-1.1.10-kdxm85xx.mjs +20 -0
- package/dist/chunks/cli-1.1.10-kw60xwcx.mjs +3 -0
- package/dist/chunks/cli-1.1.10-kxqtg1q9.mjs +2 -0
- package/dist/chunks/cli-1.1.10-kzbg67rw.mjs +5 -0
- package/dist/chunks/cli-1.1.10-m0pdck7q.mjs +202 -0
- package/dist/chunks/cli-1.1.10-m0xgys17.mjs +2 -0
- package/dist/chunks/cli-1.1.10-m10z6jbs.mjs +4 -0
- package/dist/chunks/cli-1.1.10-m86zy5vy.mjs +2 -0
- package/dist/chunks/cli-1.1.10-mawng745.mjs +12 -0
- package/dist/chunks/cli-1.1.10-mdkc2azc.mjs +2 -0
- package/dist/chunks/cli-1.1.10-mnbek10k.mjs +2 -0
- package/dist/chunks/cli-1.1.10-msg7sda2.mjs +59 -0
- package/dist/chunks/cli-1.1.10-mx6xpamf.mjs +2 -0
- package/dist/chunks/cli-1.1.10-n8ed7a8a.mjs +4 -0
- package/dist/chunks/cli-1.1.10-nfpy32s8.mjs +66 -0
- package/dist/chunks/cli-1.1.10-njf3620e.mjs +2 -0
- package/dist/chunks/cli-1.1.10-np84s5kd.mjs +2 -0
- package/dist/chunks/cli-1.1.10-ntrb7636.mjs +3 -0
- package/dist/chunks/cli-1.1.10-p28vy0yz.mjs +2 -0
- package/dist/chunks/cli-1.1.10-pkyv2v8k.mjs +2 -0
- package/dist/chunks/cli-1.1.10-ppft1w3p.mjs +2 -0
- package/dist/chunks/cli-1.1.10-psqaker4.mjs +2 -0
- package/dist/chunks/cli-1.1.10-pxdj0vvb.mjs +3 -0
- package/dist/chunks/cli-1.1.10-q2nbtgde.mjs +15 -0
- package/dist/chunks/cli-1.1.10-qh2qrbg9.mjs +2 -0
- package/dist/chunks/cli-1.1.10-qk19t6fd.mjs +2 -0
- package/dist/chunks/cli-1.1.10-qnswwjvv.mjs +4 -0
- package/dist/chunks/cli-1.1.10-qny1442k.mjs +2 -0
- package/dist/chunks/cli-1.1.10-qtkktme0.mjs +2 -0
- package/dist/chunks/cli-1.1.10-rgpghq5k.mjs +6 -0
- package/dist/chunks/cli-1.1.10-ryjne6pb.mjs +2 -0
- package/dist/chunks/cli-1.1.10-saacbyca.mjs +2 -0
- package/dist/chunks/cli-1.1.10-sbfv4gg3.mjs +2 -0
- package/dist/chunks/cli-1.1.10-sc2myky4.mjs +25 -0
- package/dist/chunks/cli-1.1.10-sdgrrb7v.mjs +2 -0
- package/dist/chunks/cli-1.1.10-sgrbnxr1.mjs +2 -0
- package/dist/chunks/cli-1.1.10-sv5wy20e.mjs +2 -0
- package/dist/chunks/cli-1.1.10-syrhp8d1.mjs +12 -0
- package/dist/chunks/cli-1.1.10-sz5x71xt.mjs +42 -0
- package/dist/chunks/cli-1.1.10-szjm5cs0.mjs +2 -0
- package/dist/chunks/cli-1.1.10-t0ypk4ke.mjs +2 -0
- package/dist/chunks/cli-1.1.10-t1vfqzsp.mjs +4 -0
- package/dist/chunks/cli-1.1.10-t3pn4ww9.mjs +2 -0
- package/dist/chunks/cli-1.1.10-t8n5jx0z.mjs +2 -0
- package/dist/chunks/cli-1.1.10-tntdtvhr.mjs +2 -0
- package/dist/chunks/cli-1.1.10-tnymg33g.mjs +2 -0
- package/dist/chunks/cli-1.1.10-tqfkjw71.mjs +2 -0
- package/dist/chunks/cli-1.1.10-trsts9v3.mjs +2 -0
- package/dist/chunks/cli-1.1.10-tv3hs8t2.mjs +2 -0
- package/dist/chunks/cli-1.1.10-ty52w0t8.mjs +2 -0
- package/dist/chunks/cli-1.1.10-v4mtt7fd.mjs +2 -0
- package/dist/chunks/cli-1.1.10-v9q9ddhz.mjs +2 -0
- package/dist/chunks/cli-1.1.10-vr1kd1f6.mjs +1 -0
- package/dist/chunks/cli-1.1.10-w6tkqgvq.mjs +2 -0
- package/dist/chunks/cli-1.1.10-w7zqsk0a.mjs +2 -0
- package/dist/chunks/cli-1.1.10-wb8bcef1.mjs +2 -0
- package/dist/chunks/cli-1.1.10-wjc9jsjt.mjs +2 -0
- package/dist/chunks/cli-1.1.10-wjcgsn42.mjs +24 -0
- package/dist/chunks/cli-1.1.10-wkzbqdmr.mjs +2 -0
- package/dist/chunks/cli-1.1.10-wm2kd8d3.mjs +5 -0
- package/dist/chunks/cli-1.1.10-wqc9fp4g.mjs +18 -0
- package/dist/chunks/cli-1.1.10-x7s7dnjf.mjs +2 -0
- package/dist/chunks/cli-1.1.10-x83wfqf9.mjs +4 -0
- package/dist/chunks/cli-1.1.10-x8dpgrgj.mjs +2 -0
- package/dist/chunks/cli-1.1.10-y4afn758.mjs +2 -0
- package/dist/chunks/cli-1.1.10-y8334h0w.mjs +3 -0
- package/dist/chunks/cli-1.1.10-y95f28g5.mjs +2 -0
- package/dist/chunks/cli-1.1.10-yzpymdrc.mjs +16 -0
- package/dist/chunks/cli-1.1.10-z0ddrtr1.mjs +2 -0
- package/dist/chunks/cli-1.1.10-z0zzjeej.mjs +4 -0
- package/dist/chunks/cli-1.1.10-z1mewb4a.mjs +3 -0
- package/dist/chunks/cli-1.1.10-zaq3qp5f.mjs +12 -0
- package/dist/chunks/client-1.1.10-n6skmcnp.mjs +1 -0
- package/dist/chunks/color-1.1.10-xgpy38nc.mjs +1 -0
- package/dist/chunks/compact-1.1.10-ywm45c47.mjs +3 -0
- package/dist/chunks/config-1.1.10-070kwjeg.mjs +1 -0
- package/dist/chunks/config-1.1.10-bvmgcws9.mjs +1 -0
- package/dist/chunks/constants-1.1.10-bfbmy8wz.mjs +1 -0
- package/dist/chunks/context-1.1.10-hfeqyewx.mjs +1 -0
- package/dist/chunks/context-noninteractive-1.1.10-ayept5ex.mjs +1 -0
- package/dist/chunks/conversation-1.1.10-eqnmzmgt.mjs +1 -0
- package/dist/chunks/copilotHeaders-1.1.10-rjwess9f.mjs +1 -0
- package/dist/chunks/copy-1.1.10-dvs7kz34.mjs +9 -0
- package/dist/chunks/cost-1.1.10-dk74vep1.mjs +1 -0
- package/dist/chunks/createSSHSession-1.1.10-dx93q1fp.mjs +1 -0
- package/dist/chunks/createSession-1.1.10-m7x38yn5.mjs +1 -0
- package/dist/chunks/debug-1.1.10-14v3zx1d.mjs +1 -0
- package/dist/chunks/defaultActionDeps-1.1.10-qa7ksxxs.mjs +1526 -0
- package/dist/chunks/desktop-1.1.10-yexkfd86.mjs +1 -0
- package/dist/chunks/detectRepository-1.1.10-71gvqxzs.mjs +1 -0
- package/dist/chunks/detection-1.1.10-ccdhhprp.mjs +1 -0
- package/dist/chunks/diff-1.1.10-m3gq5b6x.mjs +1 -0
- package/dist/chunks/doctor-1.1.10-td2cwcvc.mjs +1 -0
- package/dist/chunks/doctorDiagnostic-1.1.10-9c7dzt7n.mjs +1 -0
- package/dist/chunks/earlyInput-1.1.10-hz3yh50c.mjs +1 -0
- package/dist/chunks/effort-1.1.10-19pz34nx.mjs +13 -0
- package/dist/chunks/engine-1.1.10-44xhf5x0.mjs +1 -0
- package/dist/chunks/envLessBridgeConfig-1.1.10-4xe76fe7.mjs +1 -0
- package/dist/chunks/envUtils-1.1.10-dg023dvr.mjs +1 -0
- package/dist/chunks/environmentSelection-1.1.10-wrrx6jm9.mjs +1 -0
- package/dist/chunks/environments-1.1.10-x9feeaeq.mjs +1 -0
- package/dist/chunks/errors-1.1.10-yhgdas17.mjs +1 -0
- package/dist/chunks/exampleCommands-1.1.10-t5sggm4m.mjs +1 -0
- package/dist/chunks/execFileNoThrow-1.1.10-rgt8yj28.mjs +1 -0
- package/dist/chunks/exit-1.1.10-f5jn3kgb.mjs +1 -0
- package/dist/chunks/explorer-1.1.10-hex7p7et.mjs +1 -0
- package/dist/chunks/export-1.1.10-tqf9qfs4.mjs +2 -0
- package/dist/chunks/extra-usage-1.1.10-2ess7s1c.mjs +1 -0
- package/dist/chunks/extra-usage-noninteractive-1.1.10-rjjrh2xh.mjs +1 -0
- package/dist/chunks/fast-1.1.10-j2pmqx3f.mjs +1 -0
- package/dist/chunks/feedback-1.1.10-ae5vhd02.mjs +14 -0
- package/dist/chunks/firstPartyEventLogger-1.1.10-909y3hrr.mjs +1 -0
- package/dist/chunks/git-1.1.10-0v4t8ap3.mjs +1 -0
- package/dist/chunks/githubModelsCredentials-1.1.10-zfjn71v3.mjs +1 -0
- package/dist/chunks/goal-1.1.10-c1ngzwh9.mjs +4 -0
- package/dist/chunks/grove-1.1.10-1btbm4ss.mjs +1 -0
- package/dist/chunks/growthbook-1.1.10-jb56c9h4.mjs +1 -0
- package/dist/chunks/headless-1.1.10-ef38srvy.mjs +2 -0
- package/dist/chunks/heapdump-1.1.10-tp8h06gk.mjs +6 -0
- package/dist/chunks/help-1.1.10-d0kff6qz.mjs +1 -0
- package/dist/chunks/hookChains-1.1.10-dey6b4ns.mjs +3 -0
- package/dist/chunks/hooks-1.1.10-76n26ek9.mjs +79 -0
- package/dist/chunks/hooks-1.1.10-ke0jh0zh.mjs +1 -0
- package/dist/chunks/ide-1.1.10-8dv11nsj.mjs +3 -0
- package/dist/chunks/image-processor-napi-1.1.10-pdf041f5.mjs +1 -0
- package/dist/chunks/inboundAttachments-1.1.10-qaypt5tq.mjs +1 -0
- package/dist/chunks/index-1.1.10-21s5496v.mjs +23 -0
- package/dist/chunks/index-1.1.10-2eg2nfya.mjs +5 -0
- package/dist/chunks/index-1.1.10-3cnyfq9h.mjs +2 -0
- package/dist/chunks/index-1.1.10-4t4pr0x3.mjs +1 -0
- package/dist/chunks/index-1.1.10-5ckjpq80.mjs +1 -0
- package/dist/chunks/index-1.1.10-5mechh5k.mjs +1 -0
- package/dist/chunks/index-1.1.10-7hmv8qcy.mjs +30 -0
- package/dist/chunks/index-1.1.10-9v096e06.mjs +1 -0
- package/dist/chunks/index-1.1.10-abgftsv6.mjs +1 -0
- package/dist/chunks/index-1.1.10-ckjn4w4s.mjs +1 -0
- package/dist/chunks/index-1.1.10-ctta1ge7.mjs +1 -0
- package/dist/chunks/index-1.1.10-d57z21y9.mjs +9 -0
- package/dist/chunks/index-1.1.10-fnhrat0c.mjs +1 -0
- package/dist/chunks/index-1.1.10-fw2aa53g.mjs +1 -0
- package/dist/chunks/index-1.1.10-p4xpsvnc.mjs +1 -0
- package/dist/chunks/index-1.1.10-qzkv1wgv.mjs +1 -0
- package/dist/chunks/index-1.1.10-vk9vb3b3.mjs +9 -0
- package/dist/chunks/index-1.1.10-vxy96cge.mjs +1 -0
- package/dist/chunks/index-1.1.10-wsc6cpqa.mjs +1 -0
- package/dist/chunks/index-1.1.10-yvr6d150.mjs +1 -0
- package/dist/chunks/index-1.1.10-ywef0hmk.mjs +1 -0
- package/dist/chunks/index-1.1.10-zj3yzybb.mjs +1 -0
- package/dist/chunks/index-1.1.10-znghd3d1.mjs +2 -0
- package/dist/chunks/init-1.1.10-vd74ec5b.mjs +1 -0
- package/dist/chunks/initReplBridge-1.1.10-sgkbmqqp.mjs +1 -0
- package/dist/chunks/ink-1.1.10-n9qcenb6.mjs +1 -0
- package/dist/chunks/insights-1.1.10-jfrnsmw1.mjs +870 -0
- package/dist/chunks/install-1.1.10-wxs00yc5.mjs +1 -0
- package/dist/chunks/install-github-app-1.1.10-zxbkcqd1.mjs +149 -0
- package/dist/chunks/install-slack-app-1.1.10-tv0p6dq9.mjs +1 -0
- package/dist/chunks/instrumentation-1.1.10-fxcjzzc0.mjs +1 -0
- package/dist/chunks/interactiveHelpers-1.1.10-f7cwwren.mjs +1 -0
- package/dist/chunks/keybindings-1.1.10-b8121c36.mjs +2 -0
- package/dist/chunks/knowledge-1.1.10-tmxkye8d.mjs +2 -0
- package/dist/chunks/latestVersionCache-1.1.10-dtghtfgq.mjs +1 -0
- package/dist/chunks/loadAgentsDir-1.1.10-hh30mnyw.mjs +1 -0
- package/dist/chunks/loadPluginHooks-1.1.10-32f6reyc.mjs +1 -0
- package/dist/chunks/log-1.1.10-kvrqr31p.mjs +1 -0
- package/dist/chunks/main-1.1.10-fpywq82b.mjs +1 -0
- package/dist/chunks/managedEnv-1.1.10-0x8ncmb7.mjs +1 -0
- package/dist/chunks/mcp-1.1.10-0trfp77x.mjs +17 -0
- package/dist/chunks/mcp-1.1.10-j59azp3f.mjs +4 -0
- package/dist/chunks/mcp-1.1.10-tz7gvpxy.mjs +1 -0
- package/dist/chunks/mcpb-1.1.10-2ypk133j.mjs +1 -0
- package/dist/chunks/memory-1.1.10-hgcgdw39.mjs +72 -0
- package/dist/chunks/model-1.1.10-27ysny3w.mjs +1 -0
- package/dist/chunks/model-1.1.10-m4n7t06v.mjs +2 -0
- package/dist/chunks/node-1.1.10-gtb48qhp.mjs +12 -0
- package/dist/chunks/oauth-1.1.10-d6p06vbt.mjs +1 -0
- package/dist/chunks/openaiShim-1.1.10-e130485k.mjs +14 -0
- package/dist/chunks/output-style-1.1.10-mb75wr50.mjs +1 -0
- package/dist/chunks/package-L37ZVTF4-1.1.10-9a2hkd1x.mjs +1 -0
- package/dist/chunks/parseConnectUrl-1.1.10-h0c8png1.mjs +1 -0
- package/dist/chunks/parser-1.1.10-mw2brrzk.mjs +1 -0
- package/dist/chunks/passes-1.1.10-d8xzm3jv.mjs +1 -0
- package/dist/chunks/permissions-1.1.10-01fgr8vp.mjs +3 -0
- package/dist/chunks/permissions-1.1.10-jxhg9dnn.mjs +1 -0
- package/dist/chunks/plan-1.1.10-cqaej565.mjs +1 -0
- package/dist/chunks/plist-1.1.10-cssvr9wq.mjs +1 -0
- package/dist/chunks/plugin-1.1.10-zh92hjbn.mjs +29 -0
- package/dist/chunks/pluginStartupCheck-1.1.10-dk9bb5aj.mjs +1 -0
- package/dist/chunks/plugins-1.1.10-e40pek7s.mjs +9 -0
- package/dist/chunks/preActionHook-1.1.10-59kjxx2m.mjs +2 -0
- package/dist/chunks/print-1.1.10-exvxk5s6.mjs +57 -0
- package/dist/chunks/privacy-settings-1.1.10-4bdpnrms.mjs +1 -0
- package/dist/chunks/process-1.1.10-km5rbq9n.mjs +1 -0
- package/dist/chunks/processBashCommand-1.1.10-h4jmaj4v.mjs +1 -0
- package/dist/chunks/processSlashCommand-1.1.10-r7k9bvny.mjs +9 -0
- package/dist/chunks/prompt-1.1.10-01smdx9v.mjs +1 -0
- package/dist/chunks/prompt-1.1.10-e7736a74.mjs +1 -0
- package/dist/chunks/prompts-1.1.10-xq2654jw.mjs +1 -0
- package/dist/chunks/protocolHandler-1.1.10-y0y188tv.mjs +13 -0
- package/dist/chunks/provider-1.1.10-6w0w7pgq.mjs +2 -0
- package/dist/chunks/providerProfiles-1.1.10-z18shscr.mjs +1 -0
- package/dist/chunks/providerValidation-1.1.10-1dsjh7z9.mjs +6 -0
- package/dist/chunks/rate-limit-options-1.1.10-fe3cq8zn.mjs +1 -0
- package/dist/chunks/registerSubcommands-1.1.10-r3mc5gga.mjs +34 -0
- package/dist/chunks/registry-1.1.10-n9xv1qjw.mjs +1 -0
- package/dist/chunks/release-notes-1.1.10-2ecqsjx0.mjs +5 -0
- package/dist/chunks/reload-plugins-1.1.10-pb7wpz5e.mjs +2 -0
- package/dist/chunks/remote-env-1.1.10-tybykfn7.mjs +1 -0
- package/dist/chunks/remoteBridgeCore-1.1.10-crdtgqbs.mjs +1 -0
- package/dist/chunks/remoteSession-1.1.10-1egxb08k.mjs +1 -0
- package/dist/chunks/rename-1.1.10-0j2dbrfg.mjs +1 -0
- package/dist/chunks/replBridgeHandle-1.1.10-yf9vdp0m.mjs +1 -0
- package/dist/chunks/replLauncher-1.1.10-y2ykrkt0.mjs +1 -0
- package/dist/chunks/resume-1.1.10-e4w4vqsa.mjs +2 -0
- package/dist/chunks/rewind-1.1.10-2sjz5jw8.mjs +1 -0
- package/dist/chunks/rootOptions-1.1.10-5hysyde5.mjs +1 -0
- package/dist/chunks/runWorkflowHeadless-1.1.10-nengktmv.mjs +10 -0
- package/dist/chunks/sandbox-adapter-1.1.10-svdktpkg.mjs +1 -0
- package/dist/chunks/sandbox-toggle-1.1.10-q8da9hjz.mjs +1 -0
- package/dist/chunks/session-1.1.10-1g27gvqt.mjs +2 -0
- package/dist/chunks/sessionDiscovery-1.1.10-0hb3n5na.mjs +1 -0
- package/dist/chunks/sessionFileAccessHooks-1.1.10-z13dd76y.mjs +1 -0
- package/dist/chunks/sessionStorage-1.1.10-60nqzt83.mjs +1 -0
- package/dist/chunks/settings-1.1.10-95zpybsa.mjs +1 -0
- package/dist/chunks/setup-1.1.10-400hhq7t.mjs +5 -0
- package/dist/chunks/sinks-1.1.10-w9vqb1fc.mjs +1 -0
- package/dist/chunks/skills-1.1.10-4rvw7gjv.mjs +1 -0
- package/dist/chunks/startupProfiler-1.1.10-va3s727x.mjs +1 -0
- package/dist/chunks/startupUpdateCheck-1.1.10-en1qgfv4.mjs +1 -0
- package/dist/chunks/state-1.1.10-m7z4cc4k.mjs +1 -0
- package/dist/chunks/stats-1.1.10-zr2qwhhw.mjs +6 -0
- package/dist/chunks/status-1.1.10-shjkyaf2.mjs +1 -0
- package/dist/chunks/stickers-1.1.10-2q6r4f9v.mjs +1 -0
- package/dist/chunks/subprocessEnv-1.1.10-whznjthj.mjs +1 -0
- package/dist/chunks/tasks-1.1.10-xvxjn48w.mjs +1 -0
- package/dist/chunks/teamHelpers-1.1.10-3a06a8cd.mjs +1 -0
- package/dist/chunks/teammateModeSnapshot-1.1.10-yns217pf.mjs +1 -0
- package/dist/chunks/teleport-1.1.10-gc3e0hfm.mjs +1 -0
- package/dist/chunks/terminalSetup-1.1.10-4tqezn3j.mjs +1 -0
- package/dist/chunks/theme-1.1.10-qp7v8yaq.mjs +1 -0
- package/dist/chunks/thinkback-1.1.10-xyd2apjc.mjs +1 -0
- package/dist/chunks/thinkback-play-1.1.10-a5hhp9ca.mjs +1 -0
- package/dist/chunks/toolPool-1.1.10-n1hm8qqk.mjs +1 -0
- package/dist/chunks/toolSearch-1.1.10-29584y2q.mjs +1 -0
- package/dist/chunks/tools-1.1.10-yd9tmhpe.mjs +1 -0
- package/dist/chunks/trustedDevice-1.1.10-qs4pk9wc.mjs +1 -0
- package/dist/chunks/turndown.cjs-1.1.10-m0c9pvs3.mjs +69 -0
- package/dist/chunks/types-1.1.10-gz59ngmz.mjs +1 -0
- package/dist/chunks/ultrareviewCommand-1.1.10-8arx59cc.mjs +4 -0
- package/dist/chunks/update-1.1.10-1w823rha.mjs +72 -0
- package/dist/chunks/upgrade-1.1.10-0h5fvvfp.mjs +1 -0
- package/dist/chunks/upload-1.1.10-ge981abh.mjs +7 -0
- package/dist/chunks/upstreamproxy-1.1.10-80kjt167.mjs +14 -0
- package/dist/chunks/url-handler-napi-1.1.10-x60fj9h0.mjs +1 -0
- package/dist/chunks/usage-1.1.10-gxymk7vd.mjs +1 -0
- package/dist/chunks/util-1.1.10-s4sj88my.mjs +1 -0
- package/dist/chunks/utils-1.1.10-haynqk5y.mjs +1 -0
- package/dist/chunks/vim-1.1.10-6yhqt71v.mjs +1 -0
- package/dist/chunks/watchLoop-1.1.10-cg0f8n71.mjs +13 -0
- package/dist/chunks/watcher-1.1.10-y1qwkajd.mjs +1 -0
- package/dist/chunks/wiki-1.1.10-1djxp3tb.mjs +132 -0
- package/dist/chunks/workflows-1.1.10-brkbd7wc.mjs +1 -0
- package/dist/chunks/worktree-1.1.10-bn0ac41k.mjs +1 -0
- package/dist/chunks/worktreeModeEnabled-1.1.10-rhvwpn43.mjs +1 -0
- package/dist/chunks/wrapper-1.1.10-dthrwggp.mjs +7 -0
- package/dist/cli.mjs +2 -2
- package/package.json +9 -9
- package/dist/chunks/AgentTool-1.1.9-wkz9sjmc.mjs +0 -1
- package/dist/chunks/App-1.1.9-xgs7khyz.mjs +0 -1
- package/dist/chunks/ApproveApiKey-1.1.9-7gfmxnyz.mjs +0 -1
- package/dist/chunks/AssistantSessionChooser-1.1.9-pf08j23x.mjs +0 -1
- package/dist/chunks/AutoModeOptInDialog-1.1.9-4ze1tfxe.mjs +0 -1
- package/dist/chunks/BypassPermissionsModeDialog-1.1.9-ztaz7kpc.mjs +0 -1
- package/dist/chunks/ClaudeMdExternalIncludesDialog-1.1.9-hzpy5qvh.mjs +0 -1
- package/dist/chunks/ConsoleOAuthFlow-1.1.9-ajjzhfrp.mjs +0 -1
- package/dist/chunks/DiffDialog-1.1.9-m3n0bamd.mjs +0 -7
- package/dist/chunks/Doctor-1.1.9-74y6nka7.mjs +0 -1
- package/dist/chunks/ExplorerDialog-1.1.9-9av1q0k2.mjs +0 -6
- package/dist/chunks/Grove-1.1.9-me7gmbqp.mjs +0 -1
- package/dist/chunks/ITermBackend-1.1.9-776dpey8.mjs +0 -1
- package/dist/chunks/InvalidConfigDialog-1.1.9-gzyybqqn.mjs +0 -1
- package/dist/chunks/InvalidSettingsDialog-1.1.9-e71y6pr4.mjs +0 -1
- package/dist/chunks/MigrationDialog-1.1.9-4bkckq3q.mjs +0 -1
- package/dist/chunks/Onboarding-1.1.9-d6c3hrvj.mjs +0 -1
- package/dist/chunks/ProviderManager-1.1.9-2dk7z5b6.mjs +0 -1
- package/dist/chunks/REPL-1.1.9-ds8mvm64.mjs +0 -1
- package/dist/chunks/ResumeConversation-1.1.9-2z1ye829.mjs +0 -1
- package/dist/chunks/SnapshotUpdateDialog-1.1.9-68k8x7yf.mjs +0 -1
- package/dist/chunks/TeleportProgress-1.1.9-anh2z73y.mjs +0 -1
- package/dist/chunks/TeleportRepoMismatchDialog-1.1.9-tedma9q3.mjs +0 -1
- package/dist/chunks/TeleportResumeWrapper-1.1.9-3n1b2vrf.mjs +0 -1
- package/dist/chunks/TmuxBackend-1.1.9-63awezwe.mjs +0 -9
- package/dist/chunks/ToolSearchTool-1.1.9-msa503cz.mjs +0 -1
- package/dist/chunks/TrustDialog-1.1.9-w058z417.mjs +0 -1
- package/dist/chunks/activeProvider-1.1.9-t27aw1nb.mjs +0 -1
- package/dist/chunks/add-dir-1.1.9-dxvbnrfa.mjs +0 -1
- package/dist/chunks/agentTypes-1.1.9-3kevh6af.mjs +0 -1
- package/dist/chunks/agents-1.1.9-eabf2wdc.mjs +0 -3
- package/dist/chunks/agents-1.1.9-nj93ac5m.mjs +0 -110
- package/dist/chunks/api-1.1.9-m1mrnd2p.mjs +0 -1
- package/dist/chunks/asciicast-1.1.9-d0kjtphm.mjs +0 -1
- package/dist/chunks/assistant-1.1.9-e3zkxz2m.mjs +0 -1
- package/dist/chunks/auth-1.1.9-8qm9p05y.mjs +0 -1
- package/dist/chunks/auth-1.1.9-gm4sybx1.mjs +0 -1
- package/dist/chunks/autoMode-1.1.9-p9fppced.mjs +0 -48
- package/dist/chunks/autoUpdater-1.1.9-m6etj2pr.mjs +0 -1
- package/dist/chunks/backgroundHousekeeping-1.1.9-4hvzygqr.mjs +0 -1
- package/dist/chunks/branch-1.1.9-wqszm8z2.mjs +0 -4
- package/dist/chunks/bridge-1.1.9-h886wtcd.mjs +0 -2
- package/dist/chunks/bridgeConfig-1.1.9-ehv4dp42.mjs +0 -1
- package/dist/chunks/bridgeEnabled-1.1.9-8qkc9feq.mjs +0 -1
- package/dist/chunks/bridgeMain-1.1.9-1sdw2z47.mjs +0 -88
- package/dist/chunks/bridgePointer-1.1.9-bvwdykpj.mjs +0 -1
- package/dist/chunks/btw-1.1.9-sm4j5bt8.mjs +0 -1
- package/dist/chunks/buddy-1.1.9-fesnzyh6.mjs +0 -3
- package/dist/chunks/cache-probe-1.1.9-6kzb7z5q.mjs +0 -21
- package/dist/chunks/cacheStats-1.1.9-9j06fcrx.mjs +0 -4
- package/dist/chunks/caches-1.1.9-4g38wyxp.mjs +0 -1
- package/dist/chunks/claudeDesktop-1.1.9-gd3bgkhe.mjs +0 -1
- package/dist/chunks/claudemd-1.1.9-7xr0h7qv.mjs +0 -1
- package/dist/chunks/clear-1.1.9-nadfsynk.mjs +0 -1
- package/dist/chunks/clearTerminal-1.1.9-48k9fftx.mjs +0 -1
- package/dist/chunks/cli-1.1.9-06k8vem7.mjs +0 -3
- package/dist/chunks/cli-1.1.9-0da4szeq.mjs +0 -2
- package/dist/chunks/cli-1.1.9-0dcyhvk3.mjs +0 -2
- package/dist/chunks/cli-1.1.9-0evqvwgb.mjs +0 -2
- package/dist/chunks/cli-1.1.9-0h7f33hw.mjs +0 -66
- package/dist/chunks/cli-1.1.9-0s7kmsaa.mjs +0 -6
- package/dist/chunks/cli-1.1.9-0w9c82qd.mjs +0 -2
- package/dist/chunks/cli-1.1.9-1932rbs7.mjs +0 -2
- package/dist/chunks/cli-1.1.9-1b1mw6v2.mjs +0 -6
- package/dist/chunks/cli-1.1.9-1ganj1qj.mjs +0 -1
- package/dist/chunks/cli-1.1.9-1gg4qe92.mjs +0 -4
- package/dist/chunks/cli-1.1.9-1q40zcz0.mjs +0 -2
- package/dist/chunks/cli-1.1.9-1ydmnrp6.mjs +0 -2
- package/dist/chunks/cli-1.1.9-223enqdr.mjs +0 -2
- package/dist/chunks/cli-1.1.9-22gp283h.mjs +0 -2
- package/dist/chunks/cli-1.1.9-260z6ry3.mjs +0 -3
- package/dist/chunks/cli-1.1.9-2t4pp98q.mjs +0 -133
- package/dist/chunks/cli-1.1.9-2wrs8key.mjs +0 -9
- package/dist/chunks/cli-1.1.9-2zeypqcv.mjs +0 -3
- package/dist/chunks/cli-1.1.9-3ajc04xt.mjs +0 -4
- package/dist/chunks/cli-1.1.9-3mgd7wkd.mjs +0 -20
- package/dist/chunks/cli-1.1.9-3nfhvvzw.mjs +0 -3
- package/dist/chunks/cli-1.1.9-3t9by3gn.mjs +0 -2
- package/dist/chunks/cli-1.1.9-4eqcxefk.mjs +0 -4
- package/dist/chunks/cli-1.1.9-4k5khbp0.mjs +0 -5
- package/dist/chunks/cli-1.1.9-4p8zymhf.mjs +0 -2
- package/dist/chunks/cli-1.1.9-4qctf8p1.mjs +0 -2
- package/dist/chunks/cli-1.1.9-4ygmyvas.mjs +0 -2
- package/dist/chunks/cli-1.1.9-4z0nxn7p.mjs +0 -3
- package/dist/chunks/cli-1.1.9-4z7ddbsc.mjs +0 -3
- package/dist/chunks/cli-1.1.9-573zndr8.mjs +0 -2
- package/dist/chunks/cli-1.1.9-5cr2dpgf.mjs +0 -2
- package/dist/chunks/cli-1.1.9-5hzaexj9.mjs +0 -2
- package/dist/chunks/cli-1.1.9-5v03p4xq.mjs +0 -2
- package/dist/chunks/cli-1.1.9-6a8pdm8s.mjs +0 -2
- package/dist/chunks/cli-1.1.9-6h5nwsn1.mjs +0 -18
- package/dist/chunks/cli-1.1.9-6kcc57kb.mjs +0 -42
- package/dist/chunks/cli-1.1.9-6mwsk9z2.mjs +0 -2
- package/dist/chunks/cli-1.1.9-6sv92w0b.mjs +0 -2
- package/dist/chunks/cli-1.1.9-79wdzxep.mjs +0 -4
- package/dist/chunks/cli-1.1.9-7y42yxmj.mjs +0 -2
- package/dist/chunks/cli-1.1.9-840ckwq8.mjs +0 -2
- package/dist/chunks/cli-1.1.9-890aswmq.mjs +0 -2
- package/dist/chunks/cli-1.1.9-8f0a6ved.mjs +0 -2
- package/dist/chunks/cli-1.1.9-8gkjdbxs.mjs +0 -202
- package/dist/chunks/cli-1.1.9-8gypdqm2.mjs +0 -2
- package/dist/chunks/cli-1.1.9-8sktt26v.mjs +0 -2
- package/dist/chunks/cli-1.1.9-8vfhjyxn.mjs +0 -2
- package/dist/chunks/cli-1.1.9-8xy2498p.mjs +0 -2
- package/dist/chunks/cli-1.1.9-8zhwfv3p.mjs +0 -2
- package/dist/chunks/cli-1.1.9-914mh2gv.mjs +0 -16
- package/dist/chunks/cli-1.1.9-97jvvqrz.mjs +0 -2
- package/dist/chunks/cli-1.1.9-98ypzgj0.mjs +0 -25
- package/dist/chunks/cli-1.1.9-9bqrz8qn.mjs +0 -2
- package/dist/chunks/cli-1.1.9-9f1te59e.mjs +0 -2
- package/dist/chunks/cli-1.1.9-9t7xx2r9.mjs +0 -2
- package/dist/chunks/cli-1.1.9-9yrwnzf6.mjs +0 -2
- package/dist/chunks/cli-1.1.9-a4c57zxm.mjs +0 -21
- package/dist/chunks/cli-1.1.9-a5z84t63.mjs +0 -2
- package/dist/chunks/cli-1.1.9-a6yyaw1d.mjs +0 -2
- package/dist/chunks/cli-1.1.9-a7x6qt7v.mjs +0 -6
- package/dist/chunks/cli-1.1.9-agbzpv77.mjs +0 -2
- package/dist/chunks/cli-1.1.9-ajr585mm.mjs +0 -4
- package/dist/chunks/cli-1.1.9-aqbj20gg.mjs +0 -2
- package/dist/chunks/cli-1.1.9-atdcgnab.mjs +0 -2
- package/dist/chunks/cli-1.1.9-atge24ab.mjs +0 -2
- package/dist/chunks/cli-1.1.9-ax8tkq65.mjs +0 -2
- package/dist/chunks/cli-1.1.9-b353901w.mjs +0 -2
- package/dist/chunks/cli-1.1.9-b78c2fws.mjs +0 -8
- package/dist/chunks/cli-1.1.9-b9ykbj6y.mjs +0 -17
- package/dist/chunks/cli-1.1.9-bc22evty.mjs +0 -2
- package/dist/chunks/cli-1.1.9-bftwnbgn.mjs +0 -5390
- package/dist/chunks/cli-1.1.9-bfyz4xjz.mjs +0 -2
- package/dist/chunks/cli-1.1.9-bwhdpxw6.mjs +0 -12
- package/dist/chunks/cli-1.1.9-c27gt3w1.mjs +0 -2
- package/dist/chunks/cli-1.1.9-c5wsttrd.mjs +0 -2
- package/dist/chunks/cli-1.1.9-c6nqtzv9.mjs +0 -2
- package/dist/chunks/cli-1.1.9-ckr5mgw1.mjs +0 -25
- package/dist/chunks/cli-1.1.9-ct1yqfqn.mjs +0 -2
- package/dist/chunks/cli-1.1.9-cwtcnyyj.mjs +0 -2
- package/dist/chunks/cli-1.1.9-d9wz5g8s.mjs +0 -2
- package/dist/chunks/cli-1.1.9-de902mzz.mjs +0 -2
- package/dist/chunks/cli-1.1.9-dh5213n0.mjs +0 -2
- package/dist/chunks/cli-1.1.9-dxt1d7jm.mjs +0 -2
- package/dist/chunks/cli-1.1.9-e0bejpfk.mjs +0 -2
- package/dist/chunks/cli-1.1.9-e1ak8jhn.mjs +0 -12
- package/dist/chunks/cli-1.1.9-e2ny87k0.mjs +0 -15
- package/dist/chunks/cli-1.1.9-e4jhw8xj.mjs +0 -2
- package/dist/chunks/cli-1.1.9-e5xq1msp.mjs +0 -58
- package/dist/chunks/cli-1.1.9-e6x7cyw4.mjs +0 -2
- package/dist/chunks/cli-1.1.9-egv4z3tf.mjs +0 -2
- package/dist/chunks/cli-1.1.9-ena9w4sg.mjs +0 -24
- package/dist/chunks/cli-1.1.9-etmwe3pd.mjs +0 -2
- package/dist/chunks/cli-1.1.9-ewst4gvt.mjs +0 -2
- package/dist/chunks/cli-1.1.9-ezkc7ag5.mjs +0 -2
- package/dist/chunks/cli-1.1.9-fcqz89mq.mjs +0 -2
- package/dist/chunks/cli-1.1.9-fdzgypr3.mjs +0 -3
- package/dist/chunks/cli-1.1.9-fqk44arm.mjs +0 -45
- package/dist/chunks/cli-1.1.9-frwdaeyw.mjs +0 -2
- package/dist/chunks/cli-1.1.9-fxyfgpjj.mjs +0 -2
- package/dist/chunks/cli-1.1.9-fy9kv0hx.mjs +0 -2
- package/dist/chunks/cli-1.1.9-fygnj03b.mjs +0 -2
- package/dist/chunks/cli-1.1.9-fzh3d8n1.mjs +0 -2
- package/dist/chunks/cli-1.1.9-ga16e8rd.mjs +0 -3
- package/dist/chunks/cli-1.1.9-gbtz45hn.mjs +0 -3
- package/dist/chunks/cli-1.1.9-gmb2wpqf.mjs +0 -2
- package/dist/chunks/cli-1.1.9-grhcdmgm.mjs +0 -2
- package/dist/chunks/cli-1.1.9-gttthtg1.mjs +0 -2
- package/dist/chunks/cli-1.1.9-gv5x5e8a.mjs +0 -2
- package/dist/chunks/cli-1.1.9-h45gam34.mjs +0 -2
- package/dist/chunks/cli-1.1.9-h66p9ghw.mjs +0 -2
- package/dist/chunks/cli-1.1.9-hq4kcpxc.mjs +0 -2
- package/dist/chunks/cli-1.1.9-j1bj4zfy.mjs +0 -2
- package/dist/chunks/cli-1.1.9-jah1vcdm.mjs +0 -2
- package/dist/chunks/cli-1.1.9-jaq6r6ba.mjs +0 -2
- package/dist/chunks/cli-1.1.9-jfyv5vb1.mjs +0 -7
- package/dist/chunks/cli-1.1.9-jmwr69v2.mjs +0 -2
- package/dist/chunks/cli-1.1.9-jn9kh16z.mjs +0 -39
- package/dist/chunks/cli-1.1.9-jqs0ktme.mjs +0 -2
- package/dist/chunks/cli-1.1.9-jqz75k6h.mjs +0 -4
- package/dist/chunks/cli-1.1.9-k0b62q76.mjs +0 -2
- package/dist/chunks/cli-1.1.9-k3tzdef2.mjs +0 -50
- package/dist/chunks/cli-1.1.9-k4gthvh4.mjs +0 -4
- package/dist/chunks/cli-1.1.9-k8kz8k9t.mjs +0 -2
- package/dist/chunks/cli-1.1.9-k9bbqwgs.mjs +0 -2
- package/dist/chunks/cli-1.1.9-kaxffmz4.mjs +0 -2
- package/dist/chunks/cli-1.1.9-kdavw6zm.mjs +0 -2
- package/dist/chunks/cli-1.1.9-kdgc8zvn.mjs +0 -24
- package/dist/chunks/cli-1.1.9-kdpv38ab.mjs +0 -2
- package/dist/chunks/cli-1.1.9-kgtexer1.mjs +0 -2
- package/dist/chunks/cli-1.1.9-khhnt4hq.mjs +0 -2
- package/dist/chunks/cli-1.1.9-khskdxps.mjs +0 -6
- package/dist/chunks/cli-1.1.9-kvk6ba28.mjs +0 -2
- package/dist/chunks/cli-1.1.9-kyn85fwa.mjs +0 -15
- package/dist/chunks/cli-1.1.9-kzqqvms6.mjs +0 -34
- package/dist/chunks/cli-1.1.9-m2x94hxw.mjs +0 -5
- package/dist/chunks/cli-1.1.9-md4ratv1.mjs +0 -4
- package/dist/chunks/cli-1.1.9-mdd84pmt.mjs +0 -2
- package/dist/chunks/cli-1.1.9-mgm6zdpx.mjs +0 -2
- package/dist/chunks/cli-1.1.9-mk4nfh2a.mjs +0 -2
- package/dist/chunks/cli-1.1.9-mp2pqq66.mjs +0 -24
- package/dist/chunks/cli-1.1.9-mt1mshmr.mjs +0 -2
- package/dist/chunks/cli-1.1.9-mw0y14ny.mjs +0 -133
- package/dist/chunks/cli-1.1.9-mz91g55f.mjs +0 -4
- package/dist/chunks/cli-1.1.9-n2qz0enm.mjs +0 -2
- package/dist/chunks/cli-1.1.9-n886v2tr.mjs +0 -2
- package/dist/chunks/cli-1.1.9-nacg7asv.mjs +0 -2
- package/dist/chunks/cli-1.1.9-nadf4arq.mjs +0 -2
- package/dist/chunks/cli-1.1.9-nbdn95s0.mjs +0 -2
- package/dist/chunks/cli-1.1.9-nbtds7y5.mjs +0 -2
- package/dist/chunks/cli-1.1.9-p24jbscq.mjs +0 -2
- package/dist/chunks/cli-1.1.9-pdcfc5y5.mjs +0 -3
- package/dist/chunks/cli-1.1.9-pjfvmwr9.mjs +0 -2
- package/dist/chunks/cli-1.1.9-ppnsbsqg.mjs +0 -2
- package/dist/chunks/cli-1.1.9-pr2kkmf8.mjs +0 -15
- package/dist/chunks/cli-1.1.9-pxbfakmz.mjs +0 -2
- package/dist/chunks/cli-1.1.9-qc93tafw.mjs +0 -2
- package/dist/chunks/cli-1.1.9-qr51aqsa.mjs +0 -2
- package/dist/chunks/cli-1.1.9-r5gk3nve.mjs +0 -2
- package/dist/chunks/cli-1.1.9-r7g33857.mjs +0 -2
- package/dist/chunks/cli-1.1.9-r7gng5fx.mjs +0 -2
- package/dist/chunks/cli-1.1.9-rawga9ty.mjs +0 -2
- package/dist/chunks/cli-1.1.9-rh6wjwvg.mjs +0 -2
- package/dist/chunks/cli-1.1.9-rjztj1ez.mjs +0 -9
- package/dist/chunks/cli-1.1.9-rmd68sfp.mjs +0 -2
- package/dist/chunks/cli-1.1.9-rvmgrj4q.mjs +0 -2
- package/dist/chunks/cli-1.1.9-s52npgq0.mjs +0 -2
- package/dist/chunks/cli-1.1.9-s5b8svr6.mjs +0 -3
- package/dist/chunks/cli-1.1.9-sbmesghv.mjs +0 -2
- package/dist/chunks/cli-1.1.9-se5tezpj.mjs +0 -3
- package/dist/chunks/cli-1.1.9-spn11xgr.mjs +0 -2
- package/dist/chunks/cli-1.1.9-sqfgvaz9.mjs +0 -2
- package/dist/chunks/cli-1.1.9-sxsgvz9x.mjs +0 -2
- package/dist/chunks/cli-1.1.9-tcx9qwzz.mjs +0 -18
- package/dist/chunks/cli-1.1.9-tt85wfyx.mjs +0 -2
- package/dist/chunks/cli-1.1.9-txs7wza6.mjs +0 -59
- package/dist/chunks/cli-1.1.9-tze0002b.mjs +0 -4
- package/dist/chunks/cli-1.1.9-v4hh4r8g.mjs +0 -2
- package/dist/chunks/cli-1.1.9-v6dh85e0.mjs +0 -4
- package/dist/chunks/cli-1.1.9-vhsgp7b5.mjs +0 -2
- package/dist/chunks/cli-1.1.9-vmggmsba.mjs +0 -2
- package/dist/chunks/cli-1.1.9-w3xqbxyp.mjs +0 -2
- package/dist/chunks/cli-1.1.9-w462299v.mjs +0 -3
- package/dist/chunks/cli-1.1.9-w4yjadk7.mjs +0 -2
- package/dist/chunks/cli-1.1.9-wg00txsx.mjs +0 -2
- package/dist/chunks/cli-1.1.9-wscqghf9.mjs +0 -2
- package/dist/chunks/cli-1.1.9-wsqhh56s.mjs +0 -2
- package/dist/chunks/cli-1.1.9-wx0fgtgp.mjs +0 -3
- package/dist/chunks/cli-1.1.9-wydc25pa.mjs +0 -2
- package/dist/chunks/cli-1.1.9-x1ame9j0.mjs +0 -2
- package/dist/chunks/cli-1.1.9-x9jz46tx.mjs +0 -2
- package/dist/chunks/cli-1.1.9-xa48sv5y.mjs +0 -6
- package/dist/chunks/cli-1.1.9-xccq68bp.mjs +0 -2
- package/dist/chunks/cli-1.1.9-xmqye6j6.mjs +0 -2
- package/dist/chunks/cli-1.1.9-xn1fx31s.mjs +0 -2
- package/dist/chunks/cli-1.1.9-xxwf95xq.mjs +0 -17
- package/dist/chunks/cli-1.1.9-ygp7jfm9.mjs +0 -2
- package/dist/chunks/cli-1.1.9-ytgc0me8.mjs +0 -2
- package/dist/chunks/cli-1.1.9-yw9403an.mjs +0 -24
- package/dist/chunks/cli-1.1.9-z0wenj5y.mjs +0 -6
- package/dist/chunks/cli-1.1.9-zhyjqy1b.mjs +0 -2
- package/dist/chunks/cli-1.1.9-zp9cpxw5.mjs +0 -12
- package/dist/chunks/cli-1.1.9-zv6e4k6z.mjs +0 -2
- package/dist/chunks/cli-1.1.9-zy71vgyg.mjs +0 -2
- package/dist/chunks/client-1.1.9-ew20apkg.mjs +0 -1
- package/dist/chunks/color-1.1.9-r9fb3e7k.mjs +0 -1
- package/dist/chunks/compact-1.1.9-ea493ntb.mjs +0 -3
- package/dist/chunks/config-1.1.9-6fxf7dj2.mjs +0 -1
- package/dist/chunks/config-1.1.9-snnk2z79.mjs +0 -1
- package/dist/chunks/constants-1.1.9-adx0a3k9.mjs +0 -1
- package/dist/chunks/context-1.1.9-nxs61bmq.mjs +0 -1
- package/dist/chunks/context-noninteractive-1.1.9-cppfq9pr.mjs +0 -1
- package/dist/chunks/conversation-1.1.9-3x6s0c83.mjs +0 -1
- package/dist/chunks/copilotHeaders-1.1.9-vvy4jfh7.mjs +0 -1
- package/dist/chunks/copy-1.1.9-sx84nhzr.mjs +0 -9
- package/dist/chunks/cost-1.1.9-msc3677c.mjs +0 -1
- package/dist/chunks/createSSHSession-1.1.9-cpa9c11q.mjs +0 -1
- package/dist/chunks/createSession-1.1.9-kapv4jes.mjs +0 -1
- package/dist/chunks/debug-1.1.9-h57648ft.mjs +0 -1
- package/dist/chunks/defaultActionDeps-1.1.9-j6kdarmk.mjs +0 -1526
- package/dist/chunks/desktop-1.1.9-4z5p38ma.mjs +0 -1
- package/dist/chunks/detectRepository-1.1.9-9c8ws2cg.mjs +0 -1
- package/dist/chunks/detection-1.1.9-2vb502cf.mjs +0 -1
- package/dist/chunks/diff-1.1.9-8m7str6k.mjs +0 -1
- package/dist/chunks/doctor-1.1.9-0f6jzgas.mjs +0 -1
- package/dist/chunks/doctorDiagnostic-1.1.9-w983dv1c.mjs +0 -1
- package/dist/chunks/earlyInput-1.1.9-c047s7qm.mjs +0 -1
- package/dist/chunks/effort-1.1.9-5qnffzr4.mjs +0 -13
- package/dist/chunks/engine-1.1.9-5jjj151c.mjs +0 -1
- package/dist/chunks/envLessBridgeConfig-1.1.9-jex25t6e.mjs +0 -1
- package/dist/chunks/envUtils-1.1.9-krdbmbwa.mjs +0 -1
- package/dist/chunks/environmentSelection-1.1.9-nbbgerx3.mjs +0 -1
- package/dist/chunks/environments-1.1.9-1t7bdxn2.mjs +0 -1
- package/dist/chunks/errors-1.1.9-e3vc9p8s.mjs +0 -1
- package/dist/chunks/exampleCommands-1.1.9-xazstg5e.mjs +0 -1
- package/dist/chunks/execFileNoThrow-1.1.9-c14n54h8.mjs +0 -1
- package/dist/chunks/exit-1.1.9-r4x4th0b.mjs +0 -1
- package/dist/chunks/explorer-1.1.9-wdzp1dsf.mjs +0 -1
- package/dist/chunks/export-1.1.9-0zmn3m1m.mjs +0 -2
- package/dist/chunks/extra-usage-1.1.9-v3cypezj.mjs +0 -1
- package/dist/chunks/extra-usage-noninteractive-1.1.9-1b722pj8.mjs +0 -1
- package/dist/chunks/fast-1.1.9-ys3bnnx1.mjs +0 -1
- package/dist/chunks/feedback-1.1.9-xtbxr07t.mjs +0 -14
- package/dist/chunks/firstPartyEventLogger-1.1.9-anc9n41n.mjs +0 -1
- package/dist/chunks/git-1.1.9-9dmxfhs7.mjs +0 -1
- package/dist/chunks/githubModelsCredentials-1.1.9-tyw52d6k.mjs +0 -1
- package/dist/chunks/goal-1.1.9-64kdsaz8.mjs +0 -4
- package/dist/chunks/grove-1.1.9-feqpprte.mjs +0 -1
- package/dist/chunks/growthbook-1.1.9-5haradn1.mjs +0 -1
- package/dist/chunks/headless-1.1.9-x413dfed.mjs +0 -2
- package/dist/chunks/heapdump-1.1.9-z0mn192y.mjs +0 -6
- package/dist/chunks/help-1.1.9-fsng3h1g.mjs +0 -1
- package/dist/chunks/hookChains-1.1.9-h0b5hx6z.mjs +0 -3
- package/dist/chunks/hooks-1.1.9-gsjxxhxg.mjs +0 -79
- package/dist/chunks/hooks-1.1.9-hhydka88.mjs +0 -1
- package/dist/chunks/ide-1.1.9-ke6a38yk.mjs +0 -3
- package/dist/chunks/image-processor-napi-1.1.9-0cf7sh4j.mjs +0 -1
- package/dist/chunks/inboundAttachments-1.1.9-j5vez7jv.mjs +0 -1
- package/dist/chunks/index-1.1.9-1cqvjp5p.mjs +0 -1
- package/dist/chunks/index-1.1.9-1pambxgy.mjs +0 -1
- package/dist/chunks/index-1.1.9-2gb6syse.mjs +0 -1
- package/dist/chunks/index-1.1.9-2sk8q3x9.mjs +0 -30
- package/dist/chunks/index-1.1.9-3wevfp37.mjs +0 -1
- package/dist/chunks/index-1.1.9-3xm5j58t.mjs +0 -1
- package/dist/chunks/index-1.1.9-66dcm0v8.mjs +0 -1
- package/dist/chunks/index-1.1.9-6skqhhzf.mjs +0 -1
- package/dist/chunks/index-1.1.9-97yrmssd.mjs +0 -1
- package/dist/chunks/index-1.1.9-a0nf5r6f.mjs +0 -1
- package/dist/chunks/index-1.1.9-a6c1xz4e.mjs +0 -2
- package/dist/chunks/index-1.1.9-ad1rhnqp.mjs +0 -9
- package/dist/chunks/index-1.1.9-bw0cax5s.mjs +0 -2
- package/dist/chunks/index-1.1.9-h341k1xk.mjs +0 -1
- package/dist/chunks/index-1.1.9-jneayavn.mjs +0 -23
- package/dist/chunks/index-1.1.9-nc3014dy.mjs +0 -1
- package/dist/chunks/index-1.1.9-r1qk4xvr.mjs +0 -1
- package/dist/chunks/index-1.1.9-sfyz5cb7.mjs +0 -9
- package/dist/chunks/index-1.1.9-sg4e7zkb.mjs +0 -5
- package/dist/chunks/index-1.1.9-wkj78xgk.mjs +0 -1
- package/dist/chunks/index-1.1.9-wqjwb4zm.mjs +0 -1
- package/dist/chunks/index-1.1.9-x3yr70wm.mjs +0 -1
- package/dist/chunks/index-1.1.9-yznkq9s3.mjs +0 -1
- package/dist/chunks/init-1.1.9-0pss5n1w.mjs +0 -1
- package/dist/chunks/initReplBridge-1.1.9-xn4x74kj.mjs +0 -1
- package/dist/chunks/ink-1.1.9-zwhy78y6.mjs +0 -1
- package/dist/chunks/insights-1.1.9-hgpde32q.mjs +0 -870
- package/dist/chunks/install-1.1.9-34x0hj9y.mjs +0 -1
- package/dist/chunks/install-github-app-1.1.9-9sw6tr8d.mjs +0 -149
- package/dist/chunks/install-slack-app-1.1.9-sddcp9xd.mjs +0 -1
- package/dist/chunks/instrumentation-1.1.9-b52jmsm9.mjs +0 -1
- package/dist/chunks/interactiveHelpers-1.1.9-9d7d8js5.mjs +0 -1
- package/dist/chunks/keybindings-1.1.9-8amnba42.mjs +0 -2
- package/dist/chunks/knowledge-1.1.9-kz84fs8v.mjs +0 -2
- package/dist/chunks/latestVersionCache-1.1.9-d4kwr00h.mjs +0 -1
- package/dist/chunks/loadAgentsDir-1.1.9-smk51q1t.mjs +0 -1
- package/dist/chunks/loadPluginHooks-1.1.9-a8ny49aa.mjs +0 -1
- package/dist/chunks/log-1.1.9-e9py7g1v.mjs +0 -1
- package/dist/chunks/main-1.1.9-vx43js6g.mjs +0 -1
- package/dist/chunks/managedEnv-1.1.9-zdhg1zfw.mjs +0 -1
- package/dist/chunks/mcp-1.1.9-66xztk7e.mjs +0 -4
- package/dist/chunks/mcp-1.1.9-6q4s5vpd.mjs +0 -1
- package/dist/chunks/mcp-1.1.9-sgvnwe73.mjs +0 -17
- package/dist/chunks/mcpb-1.1.9-67ew9jzm.mjs +0 -1
- package/dist/chunks/memory-1.1.9-d580fc8g.mjs +0 -72
- package/dist/chunks/model-1.1.9-n7gjmzqe.mjs +0 -2
- package/dist/chunks/model-1.1.9-r24h6ebx.mjs +0 -1
- package/dist/chunks/node-1.1.9-kx2wx79w.mjs +0 -12
- package/dist/chunks/oauth-1.1.9-mb03cbrk.mjs +0 -1
- package/dist/chunks/openaiShim-1.1.9-7n9g3sj8.mjs +0 -14
- package/dist/chunks/output-style-1.1.9-eb07k735.mjs +0 -1
- package/dist/chunks/package-L37ZVTF4-1.1.9-s5ve90jq.mjs +0 -1
- package/dist/chunks/parseConnectUrl-1.1.9-zdgekp41.mjs +0 -1
- package/dist/chunks/parser-1.1.9-v7w400w6.mjs +0 -1
- package/dist/chunks/passes-1.1.9-eq2gaejx.mjs +0 -1
- package/dist/chunks/permissions-1.1.9-e410dndk.mjs +0 -1
- package/dist/chunks/permissions-1.1.9-qdtk36nc.mjs +0 -3
- package/dist/chunks/plan-1.1.9-fz63v9vy.mjs +0 -1
- package/dist/chunks/plist-1.1.9-vvf1dmeh.mjs +0 -1
- package/dist/chunks/plugin-1.1.9-5wgxw7e5.mjs +0 -29
- package/dist/chunks/pluginStartupCheck-1.1.9-wsqp215d.mjs +0 -1
- package/dist/chunks/plugins-1.1.9-gn7vrvsn.mjs +0 -9
- package/dist/chunks/preActionHook-1.1.9-hk5p06zk.mjs +0 -2
- package/dist/chunks/print-1.1.9-ccqx25s0.mjs +0 -57
- package/dist/chunks/privacy-settings-1.1.9-53703vc6.mjs +0 -1
- package/dist/chunks/process-1.1.9-6e5jfgee.mjs +0 -1
- package/dist/chunks/processBashCommand-1.1.9-q27mqh31.mjs +0 -1
- package/dist/chunks/processSlashCommand-1.1.9-pmx45pst.mjs +0 -9
- package/dist/chunks/prompt-1.1.9-2374kg79.mjs +0 -1
- package/dist/chunks/prompt-1.1.9-rmzk76ja.mjs +0 -1
- package/dist/chunks/prompts-1.1.9-vw2cgjmn.mjs +0 -1
- package/dist/chunks/protocolHandler-1.1.9-5qy2tmvh.mjs +0 -13
- package/dist/chunks/provider-1.1.9-a55a0767.mjs +0 -2
- package/dist/chunks/providerProfiles-1.1.9-0qf6737w.mjs +0 -1
- package/dist/chunks/providerValidation-1.1.9-xy0peh3y.mjs +0 -6
- package/dist/chunks/rate-limit-options-1.1.9-3mv4vcm2.mjs +0 -1
- package/dist/chunks/registerSubcommands-1.1.9-xwrrc93y.mjs +0 -34
- package/dist/chunks/registry-1.1.9-nhs76azt.mjs +0 -1
- package/dist/chunks/release-notes-1.1.9-evdvm41n.mjs +0 -5
- package/dist/chunks/reload-plugins-1.1.9-nsan544v.mjs +0 -2
- package/dist/chunks/remote-env-1.1.9-wqd0jdhv.mjs +0 -1
- package/dist/chunks/remoteBridgeCore-1.1.9-epxhjpaw.mjs +0 -1
- package/dist/chunks/remoteSession-1.1.9-80pvqseg.mjs +0 -1
- package/dist/chunks/rename-1.1.9-t6q4frnz.mjs +0 -1
- package/dist/chunks/replBridgeHandle-1.1.9-fhcz3nmf.mjs +0 -1
- package/dist/chunks/replLauncher-1.1.9-k6bt66pp.mjs +0 -1
- package/dist/chunks/resume-1.1.9-f8pqevkb.mjs +0 -2
- package/dist/chunks/rewind-1.1.9-mqnvjgnw.mjs +0 -1
- package/dist/chunks/rootOptions-1.1.9-hm3xq5ew.mjs +0 -1
- package/dist/chunks/runWorkflowHeadless-1.1.9-yzzt2wgy.mjs +0 -10
- package/dist/chunks/sandbox-adapter-1.1.9-djbmdqmh.mjs +0 -1
- package/dist/chunks/sandbox-toggle-1.1.9-ca1f9nar.mjs +0 -1
- package/dist/chunks/session-1.1.9-1h4w7jv2.mjs +0 -2
- package/dist/chunks/sessionDiscovery-1.1.9-4xav26hz.mjs +0 -1
- package/dist/chunks/sessionFileAccessHooks-1.1.9-76sy9frv.mjs +0 -1
- package/dist/chunks/sessionStorage-1.1.9-054r3b21.mjs +0 -1
- package/dist/chunks/settings-1.1.9-6xnvy3wf.mjs +0 -1
- package/dist/chunks/setup-1.1.9-ryytyyyq.mjs +0 -5
- package/dist/chunks/sinks-1.1.9-1tmn5q67.mjs +0 -1
- package/dist/chunks/skills-1.1.9-21b3ema9.mjs +0 -1
- package/dist/chunks/startupProfiler-1.1.9-4cynjbh6.mjs +0 -1
- package/dist/chunks/startupUpdateCheck-1.1.9-0zeaaev8.mjs +0 -1
- package/dist/chunks/state-1.1.9-4vnhh3s5.mjs +0 -1
- package/dist/chunks/stats-1.1.9-n37acpyb.mjs +0 -6
- package/dist/chunks/status-1.1.9-e7fgh9na.mjs +0 -1
- package/dist/chunks/stickers-1.1.9-vpzantjb.mjs +0 -1
- package/dist/chunks/subprocessEnv-1.1.9-qja4apm2.mjs +0 -1
- package/dist/chunks/tasks-1.1.9-xvrvpcpf.mjs +0 -1
- package/dist/chunks/teamHelpers-1.1.9-kc45263x.mjs +0 -1
- package/dist/chunks/teammateModeSnapshot-1.1.9-5jf6f8yz.mjs +0 -1
- package/dist/chunks/teleport-1.1.9-f1mzkj3j.mjs +0 -1
- package/dist/chunks/terminalSetup-1.1.9-7xczc9pg.mjs +0 -1
- package/dist/chunks/theme-1.1.9-xnntw39r.mjs +0 -1
- package/dist/chunks/thinkback-1.1.9-2agv1je1.mjs +0 -1
- package/dist/chunks/thinkback-play-1.1.9-0f61agae.mjs +0 -1
- package/dist/chunks/toolPool-1.1.9-x4dvej7a.mjs +0 -1
- package/dist/chunks/toolSearch-1.1.9-2n3qz8m6.mjs +0 -1
- package/dist/chunks/tools-1.1.9-2st9wxya.mjs +0 -1
- package/dist/chunks/trustedDevice-1.1.9-24j13chh.mjs +0 -1
- package/dist/chunks/turndown.cjs-1.1.9-6a2bdbmc.mjs +0 -69
- package/dist/chunks/types-1.1.9-hx767c40.mjs +0 -1
- package/dist/chunks/ultrareviewCommand-1.1.9-1d65a9qv.mjs +0 -4
- package/dist/chunks/update-1.1.9-2qs71qk6.mjs +0 -72
- package/dist/chunks/upgrade-1.1.9-4m89wfqh.mjs +0 -1
- package/dist/chunks/upload-1.1.9-141vg13j.mjs +0 -7
- package/dist/chunks/upstreamproxy-1.1.9-1hh4dkwb.mjs +0 -14
- package/dist/chunks/url-handler-napi-1.1.9-awan17cf.mjs +0 -1
- package/dist/chunks/usage-1.1.9-3e6gg2kg.mjs +0 -1
- package/dist/chunks/util-1.1.9-jy80stt8.mjs +0 -1
- package/dist/chunks/utils-1.1.9-k4q7cea1.mjs +0 -1
- package/dist/chunks/vim-1.1.9-s13xmm4h.mjs +0 -1
- package/dist/chunks/watchLoop-1.1.9-cbww8p0b.mjs +0 -13
- package/dist/chunks/watcher-1.1.9-2mym56cs.mjs +0 -1
- package/dist/chunks/wiki-1.1.9-yyjrhwn4.mjs +0 -132
- package/dist/chunks/workflows-1.1.9-4jccerzk.mjs +0 -1
- package/dist/chunks/worktree-1.1.9-fq2ry5d2.mjs +0 -1
- package/dist/chunks/worktreeModeEnabled-1.1.9-42k3m5c3.mjs +0 -1
- package/dist/chunks/wrapper-1.1.9-8kjvkg3x.mjs +0 -7
- /package/dist/chunks/{cli-1.1.9-gpmbky2h.mjs → cli-1.1.10-436vz31m.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.9-q384fwfa.mjs → cli-1.1.10-99ep1sr9.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.9-jew2xd4p.mjs → cli-1.1.10-cgan8hpz.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.9-b3za9cts.mjs → cli-1.1.10-fnvz77rd.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.9-fws7k6ak.mjs → cli-1.1.10-gmf5w0a4.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.9-bk3tqt6v.mjs → cli-1.1.10-wvw85hk5.mjs} +0 -0
- /package/dist/chunks/{cli-1.1.9-s66nvzb4.mjs → cli-1.1.10-xkq6mdj6.mjs} +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import{ub as yJ,vb as xz,wb as rz,xb as cz,yb as iz,zb as bJ}from"./cli-1.1.10-85j5ems7.mjs";import{Bb as Tz}from"./cli-1.1.10-2rygdbq2.mjs";import{Jb as TJ,Kb as xJ,Lb as MJ,Mb as wJ,Nb as fJ}from"./cli-1.1.10-9r8td4sp.mjs";import{Pb as kJ}from"./cli-1.1.10-5y236qn7.mjs";import{Ie as VJ,Je as lJ}from"./cli-1.1.10-q2nbtgde.mjs";import{_e as EJ,af as oz,cf as DK}from"./cli-1.1.10-njf3620e.mjs";import{pf as mz,rf as LJ,vf as OJ}from"./cli-1.1.10-6ya9ptdc.mjs";import{$l as BK,Cn as UJ,DH as JJ,Dn as CK,EH as Cz,FH as KJ,GH as ZJ,IH as $J,JH as YJ,KH as XJ,LH as QJ,MH as WJ,Wl as AJ,Xj as RJ,Xl as vz,Yj as NK}from"./cli-1.1.10-hk2c91wp.mjs";import"./cli-1.1.10-w7zqsk0a.mjs";import"./cli-1.1.10-tv3hs8t2.mjs";import"./cli-1.1.10-gr69gke8.mjs";import"./cli-1.1.10-k9q658g7.mjs";import"./cli-1.1.10-0v8v9gwe.mjs";import"./cli-1.1.10-gydf5ktx.mjs";import"./cli-1.1.10-58e888gh.mjs";import"./cli-1.1.10-sv5wy20e.mjs";import"./cli-1.1.10-1mh77njj.mjs";import{pW as DJ,vW as _K}from"./cli-1.1.10-58vqqfgj.mjs";import"./cli-1.1.10-m0xgys17.mjs";import"./cli-1.1.10-6g4fntdc.mjs";import"./cli-1.1.10-t3pn4ww9.mjs";import{TW as az,XW as RK}from"./cli-1.1.10-1qxr18wg.mjs";import"./cli-1.1.10-kw60xwcx.mjs";import"./cli-1.1.10-6smvkrsd.mjs";import"./cli-1.1.10-0yx9c9s1.mjs";import"./cli-1.1.10-4xztz3b9.mjs";import"./cli-1.1.10-gafedg04.mjs";import"./cli-1.1.10-qk19t6fd.mjs";import"./cli-1.1.10-jd00fn0g.mjs";import"./cli-1.1.10-msg7sda2.mjs";import"./cli-1.1.10-jfwqa1gq.mjs";import"./cli-1.1.10-x8dpgrgj.mjs";import"./cli-1.1.10-pkyv2v8k.mjs";import{C2 as pz,F2 as PK}from"./cli-1.1.10-250q8bef.mjs";import"./cli-1.1.10-5hrs5rqr.mjs";import"./cli-1.1.10-12dzgaq4.mjs";import"./cli-1.1.10-3a3dw1b0.mjs";import"./cli-1.1.10-e8zhf6q8.mjs";import"./cli-1.1.10-p28vy0yz.mjs";import"./cli-1.1.10-z0ddrtr1.mjs";import"./cli-1.1.10-ejwjw031.mjs";import"./cli-1.1.10-t8n5jx0z.mjs";import"./cli-1.1.10-c67v6p50.mjs";import"./cli-1.1.10-b0b04nbj.mjs";import"./cli-1.1.10-3vfwktcp.mjs";import"./cli-1.1.10-f7dqg4nd.mjs";import"./cli-1.1.10-453rs0bh.mjs";import{P7 as i,Q7 as FK}from"./cli-1.1.10-yzpymdrc.mjs";import"./cli-1.1.10-syrhp8d1.mjs";import{p9 as G,q9 as pJ}from"./cli-1.1.10-dppcc1yx.mjs";import"./cli-1.1.10-910qbqn7.mjs";import"./cli-1.1.10-39crhqg8.mjs";import"./cli-1.1.10-cn0a8vwn.mjs";import{H_ as Wz,Hga as yz,J_ as HK,Pga as OK,Tba as fz,Uba as ez,Vba as zJ,Wba as cJ,rba as CJ,sba as qK}from"./cli-1.1.10-m0pdck7q.mjs";import{Uga as sz,Vga as gJ,Xga as Rz,cha as qz,kha as GK}from"./cli-1.1.10-kdvf271d.mjs";import"./cli-1.1.10-bpcmdnpg.mjs";import"./cli-1.1.10-h0b2x5t4.mjs";import{Rha as PJ,Zha as jK}from"./cli-1.1.10-dvxkr02c.mjs";import"./cli-1.1.10-nfpy32s8.mjs";import"./cli-1.1.10-3pch2a3h.mjs";import"./cli-1.1.10-2wkvf65f.mjs";import{Jja as zz,Kja as NJ,Mja as QK}from"./cli-1.1.10-fz99ag3y.mjs";import{Mka as q,Pka as tz,pka as qJ,qka as uz,uka as oJ}from"./cli-1.1.10-jn6w68wj.mjs";import"./cli-1.1.10-a8e8n1bk.mjs";import{kla as g,rla as VK}from"./cli-1.1.10-e7wxspgz.mjs";import{Fla as BJ,Hla as WK,xla as _J}from"./cli-1.1.10-49bvng33.mjs";import"./cli-1.1.10-f00rps59.mjs";import"./cli-1.1.10-j20txpzn.mjs";import"./cli-1.1.10-sz5x71xt.mjs";import"./cli-1.1.10-6m1jpn0s.mjs";import"./cli-1.1.10-rgpghq5k.mjs";import"./cli-1.1.10-2scx8n6c.mjs";import{Zsa as I}from"./cli-1.1.10-gmf5w0a4.mjs";CK();NK();_K();jK();QK();qK();tz();HK();WK();VK();GK();OK();FK();BK();import{randomUUID as Sz}from"crypto";import{hostname as IJ,tmpdir as AK}from"os";import{basename as UK,join as LK,resolve as lz}from"path";WJ();pJ();lJ();cJ();gJ();tz();WJ();var dJ={type:"utf8",errorCorrectionLevel:"L",small:!0};async function aJ(z){return(await VJ(z,dJ)).split(`
|
|
2
|
+
`).filter((K)=>K.length>0)}function GJ(z){let J=z.write??(($)=>process.stdout.write($)),K=z.verbose,Y=0,O="idle",Z="Ready",R="",B="",U="",F="",L="",A=null,N=[],M=!1,E=null,P=0,x=0,_=1,f=null,k="single-session",b=new Map,d=null,S=0;function Xz($){let j=process.stdout.columns||80,w=0;for(let Gz of $.split(`
|
|
3
|
+
`)){if(Gz.length===0){w++;continue}let Nz=sz(Gz);w+=Math.max(1,Math.ceil(Nz/j))}if($.endsWith(`
|
|
4
|
+
`))w--;return w}function m($){J($),Y+=Xz($)}function a(){if(Y<=0)return;q(`[bridge:ui] clearStatusLines count=${Y}`),J(`\x1B[${Y}A`),J("\x1B[J"),Y=0}function $z($){a(),J($)}function n($){aJ($).then((j)=>{N=j,p()}).catch((j)=>{q(`QR code generation failed: ${j}`,{level:"error"})})}function o(){a();let $=fz[S%fz.length],j="";if(R)j+=G.dim(" · ")+G.dim(R);if(B)j+=G.dim(" · ")+G.dim(B);m(`${G.yellow($)} ${G.yellow("Connecting")}${j}
|
|
5
|
+
`)}function Vz(){t(),o(),d=setInterval(()=>{S++,o()},150)}function t(){if(d)clearInterval(d),d=null}function p(){if(O==="reconnecting"||O==="failed")return;a();let $=O==="idle";if(M)for(let Jz of N)m(`${G.dim(Jz)}
|
|
6
|
+
`);let j=ez,w=$?G.green:G.cyan,Nz=($?G.green:G.cyan)(Z),Oz="";if(R)Oz+=G.dim(" · ")+G.dim(R);if(B&&k!=="worktree")Oz+=G.dim(" · ")+G.dim(B);if(m(`${w(j)} ${Nz}${Oz}
|
|
7
|
+
`),_>1){let Jz=k==="worktree"?"New sessions will be created in an isolated worktree":"New sessions will be created in the current directory";m(` ${G.dim(`Capacity: ${x}/${_} · ${Jz}`)}
|
|
8
|
+
`);for(let[,Kz]of b){let r=Kz.title?Rz(Kz.title,35):G.dim("Attached"),Mz=QJ(r,Kz.url),Fz=Kz.activity,V=Fz&&Fz.type!=="result"&&Fz.type!=="error"?G.dim(` ${Rz(Fz.summary,40)}`):"";m(` ${Mz}${V}
|
|
9
|
+
`)}}if(_===1){let Jz=k==="single-session"?"Single session · exits when complete":k==="worktree"?`Capacity: ${x}/1 · New sessions will be created in an isolated worktree`:`Capacity: ${x}/1 · New sessions will be created in the current directory`;m(` ${G.dim(Jz)}
|
|
10
|
+
`)}if(_===1&&!$&&E&&Date.now()-P<JJ)m(` ${G.dim(Rz(E,60))}
|
|
11
|
+
`);let Qz=A??U;if(Qz){m(`
|
|
12
|
+
`);let Jz=$?$J(Qz):YJ(Qz),Kz=M?G.dim.italic("space to hide QR code"):G.dim.italic("space to show QR code"),r=f?G.dim.italic(" · w to toggle spawn mode"):"";m(`${G.dim(Jz)}
|
|
13
|
+
`),m(`${Kz}${r}
|
|
14
|
+
`)}}return{printBanner($,j){if(F=$.sessionIngressUrl,L=j,U=KJ(j,F),n(U),K)J(G.dim("Remote Control")+` v99.0.0
|
|
15
|
+
`);if(K){if($.spawnMode!=="single-session")J(G.dim("Spawn mode: ")+`${$.spawnMode}
|
|
16
|
+
`),J(G.dim("Max concurrent sessions: ")+`${$.maxSessions}
|
|
17
|
+
`);J(G.dim("Environment ID: ")+`${j}
|
|
18
|
+
`)}if($.sandbox)J(G.dim("Sandbox: ")+`${G.green("Enabled")}
|
|
19
|
+
`);J(`
|
|
20
|
+
`),Vz()},logSessionStart($,j){if(K){let w=Rz(j,80);$z(G.dim(`[${Cz()}]`)+` Session started: ${G.white(`"${w}"`)} (${G.dim($)})
|
|
21
|
+
`)}},logSessionComplete($,j){$z(G.dim(`[${Cz()}]`)+` Session ${G.green("completed")} (${qz(j)}) ${G.dim($)}
|
|
22
|
+
`)},logSessionFailed($,j){$z(G.dim(`[${Cz()}]`)+` Session ${G.red("failed")}: ${j} ${G.dim($)}
|
|
23
|
+
`)},logStatus($){$z(G.dim(`[${Cz()}]`)+` ${$}
|
|
24
|
+
`)},logVerbose($){if(K)$z(G.dim(`[${Cz()}] ${$}`)+`
|
|
25
|
+
`)},logError($){$z(G.red(`[${Cz()}] Error: ${$}`)+`
|
|
26
|
+
`)},logReconnected($){$z(G.dim(`[${Cz()}]`)+` ${G.green("Reconnected")} after ${qz($)}
|
|
27
|
+
`)},setRepoInfo($,j){R=$,B=j},updateIdleStatus(){t(),O="idle",Z="Ready",E=null,P=0,A=null,n(U),p()},setAttached($){if(t(),O="attached",Z="Connected",E=null,P=0,_<=1)A=ZJ($,L,F),n(A);p()},updateReconnectingStatus($,j){if(t(),a(),O="reconnecting",M)for(let Gz of N)m(`${G.dim(Gz)}
|
|
28
|
+
`);let w=fz[S%fz.length];S++,m(`${G.yellow(w)} ${G.yellow("Reconnecting")} ${G.dim("·")} ${G.dim(`retrying in ${$}`)} ${G.dim("·")} ${G.dim(`disconnected ${j}`)}
|
|
29
|
+
`)},updateFailedStatus($){t(),a(),O="failed";let j="";if(R)j+=G.dim(" · ")+G.dim(R);if(B)j+=G.dim(" · ")+G.dim(B);if(m(`${G.red(zJ)} ${G.red("Remote Control Failed")}${j}
|
|
30
|
+
`),m(`${G.dim(XJ)}
|
|
31
|
+
`),$)m(`${G.red($)}
|
|
32
|
+
`)},updateSessionStatus($,j,w,Gz){if(w.type==="tool_start")E=w.summary,P=Date.now();p()},clearStatus(){t(),a()},toggleQr(){M=!M,p()},updateSessionCount($,j,w){if(x===$&&_===j&&k===w)return;x=$,_=j,k=w},setSpawnModeDisplay($){if(f===$)return;if(f=$,$)k=$},addSession($,j){b.set($,{url:j})},updateSessionActivity($,j){let w=b.get($);if(!w)return;w.activity=j},setSessionTitle($,j){let w=b.get($);if(!w)return;if(w.title=j,O==="reconnecting"||O==="failed")return;if(_===1)O="titled",Z=Rz(j,40);p()},removeSession($){b.delete($)},refreshDisplay(){if(O==="reconnecting"||O==="failed")return;p()}}}OJ();PK();oJ();OJ();import{spawn as rJ}from"child_process";import{createWriteStream as iJ}from"fs";import{tmpdir as nJ}from"os";import{dirname as tJ,join as jJ}from"path";import{createInterface as HJ}from"readline";var sJ=10,eJ=10,zK=new Set(["PATH","HOME","USERPROFILE","HOMEPATH","HOMEDRIVE","USERNAME","USER","LOGNAME","TEMP","TMP","TMPDIR","SYSTEMROOT","SYSTEMDRIVE","COMSPEC","WINDIR","LANG","LC_ALL","LC_CTYPE","NODE_OPTIONS","NODE_PATH","NODE_ENV","CLAUDE_CODE_ENVIRONMENT_KIND","CLAUDE_CODE_FORCE_SANDBOX","CLAUDE_CODE_BUBBLEWRAP","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE_COORDINATOR_MODE","CLAUDE_CODE_PERMISSIONS_VERSION","CLAUDE_CODE_PERMISSIONS_SETTING","TERM","COLORTERM","FORCE_COLOR","NO_COLOR"]);function JK(z,J){let K={};for(let Y of Object.keys(z))if(zK.has(Y))K[Y]=z[Y];if(K.CLAUDE_CODE_OAUTH_TOKEN=void 0,K.CLAUDE_CODE_ENVIRONMENT_KIND="bridge",J.sandbox)K.CLAUDE_CODE_FORCE_SANDBOX="1";if(K.CLAUDE_CODE_SESSION_ACCESS_TOKEN=J.accessToken,K.CLAUDE_CODE_POST_FOR_SESSION_INGRESS_V2="1",J.useCcrV2)K.CLAUDE_CODE_USE_CCR_V2="1",K.CLAUDE_CODE_WORKER_EPOCH=String(J.workerEpoch);return K}function Iz(z){return z.replace(/[^a-zA-Z0-9_-]/g,"_")}var KK={Read:"Reading",Write:"Writing",Edit:"Editing",MultiEdit:"Editing",Bash:"Running",Glob:"Searching",Grep:"Searching",WebFetch:"Fetching",WebSearch:"Searching",Task:"Running task",FileReadTool:"Reading",FileWriteTool:"Writing",FileEditTool:"Editing",GlobTool:"Searching",GrepTool:"Searching",BashTool:"Running",NotebookEditTool:"Editing notebook",LSP:"LSP"};function ZK(z,J){let K=KK[z]??z,Y=J.file_path??J.filePath??J.pattern??J.command?.slice(0,60)??J.url??J.query??"";if(Y)return`${K} ${Y}`;return K}function $K(z,J,K){let Y;try{Y=uz(z)}catch{return[]}if(!Y||typeof Y!=="object")return[];let O=Y,Z=[],R=Date.now();switch(O.type){case"assistant":{let B=O.message;if(!B)break;let U=B.content;if(!Array.isArray(U))break;for(let F of U){if(!F||typeof F!=="object")continue;let L=F;if(L.type==="tool_use"){let A=L.name??"Tool",N=L.input??{},M=ZK(A,N);Z.push({type:"tool_start",summary:M,timestamp:R}),K(`[bridge:activity] sessionId=${J} tool_use name=${A} ${XK(N)}`)}else if(L.type==="text"){let A=L.text??"";if(A.length>0)Z.push({type:"text",summary:A.slice(0,80),timestamp:R}),K(`[bridge:activity] sessionId=${J} text "${A.slice(0,100)}"`)}}break}case"result":{let B=O.subtype;if(B==="success")Z.push({type:"result",summary:"Session completed",timestamp:R}),K(`[bridge:activity] sessionId=${J} result subtype=success`);else if(B){let F=O.errors?.[0]??`Error: ${B}`;Z.push({type:"error",summary:F,timestamp:R}),K(`[bridge:activity] sessionId=${J} result subtype=${B} error="${F}"`)}else K(`[bridge:activity] sessionId=${J} result subtype=undefined`);break}default:break}return Z}function YK(z){if(z.parent_tool_use_id!=null||z.isSynthetic||z.isReplay)return;let K=z.message?.content,Y;if(typeof K==="string")Y=K;else if(Array.isArray(K)){for(let O of K)if(O&&typeof O==="object"&&O.type==="text"){Y=O.text;break}}return Y=Y?.trim(),Y?Y:void 0}function XK(z){let J=[];for(let[K,Y]of Object.entries(z)){if(typeof Y==="string")J.push(`${K}="${Y.slice(0,100)}"`);if(J.length>=3)break}return J.join(" ")}function gz(z){return{spawn(J,K){let Y=Iz(J.sessionId),O;if(z.debugFile){let _=z.debugFile.lastIndexOf(".");if(_>0)O=`${z.debugFile.slice(0,_)}-${Y}${z.debugFile.slice(_)}`;else O=`${z.debugFile}-${Y}`}else if(z.verbose)O=jJ(nJ(),"claude",`bridge-session-${Y}.log`);let Z=null,R;if(z.debugFile)R=jJ(tJ(z.debugFile),`bridge-transcript-${Y}.jsonl`),Z=iJ(R,{flags:"a"}),Z.on("error",(_)=>{z.onDebug(`[bridge:session] Transcript write error: ${_.message}`),Z=null}),z.onDebug(`[bridge:session] Transcript log: ${R}`);let B=[...z.scriptArgs,"--print","--sdk-url",J.sdkUrl,"--session-id",J.sessionId,"--input-format","stream-json","--output-format","stream-json","--replay-user-messages",...z.verbose?["--verbose"]:[],...O?["--debug-file",O]:[],...z.permissionMode?["--permission-mode",z.permissionMode]:[]],U=JK(z.env,{accessToken:J.accessToken,useCcrV2:J.useCcrV2,workerEpoch:J.workerEpoch,sandbox:z.sandbox});if(z.onDebug(`[bridge:session] Spawning sessionId=${J.sessionId} sdkUrl=${J.sdkUrl} accessToken=${J.accessToken?"present":"MISSING"}`),z.onDebug(`[bridge:session] Child args: ${B.join(" ")}`),O)z.onDebug(`[bridge:session] Debug log: ${O}`);let F=rJ(z.execPath,B,{cwd:K,stdio:["pipe","pipe","pipe"],env:U,windowsHide:!0});z.onDebug(`[bridge:session] sessionId=${J.sessionId} pid=${F.pid}`);let L=[],A=null,N=[],M=!1,E=!1;if(F.stderr)HJ({input:F.stderr}).on("line",(f)=>{if(z.verbose)process.stderr.write(f+`
|
|
33
|
+
`);if(N.length>=eJ)N.shift();N.push(f)});if(F.stdout)HJ({input:F.stdout}).on("line",(f)=>{if(Z)Z.write(f+`
|
|
34
|
+
`);if(z.onDebug(`[bridge:ws] sessionId=${J.sessionId} <<< ${mz(f)}`),z.verbose)process.stderr.write(f+`
|
|
35
|
+
`);let k=$K(f,J.sessionId,z.onDebug);for(let b of k){if(L.length>=sJ)L.shift();L.push(b),A=b,z.onActivity?.(J.sessionId,b)}{let b;try{b=uz(f)}catch{}if(b&&typeof b==="object"){let d=b;if(d.type==="control_request"){if(d.request?.subtype==="can_use_tool"&&z.onPermissionRequest)z.onPermissionRequest(J.sessionId,b,J.accessToken)}else if(d.type==="user"&&!E&&J.onFirstUserMessage){let S=YK(d);if(S)E=!0,J.onFirstUserMessage(S)}}}});let P=new Promise((_)=>{F.on("close",(f,k)=>{if(Z)Z.end(),Z=null;if(k==="SIGTERM"||k==="SIGINT")z.onDebug(`[bridge:session] sessionId=${J.sessionId} interrupted signal=${k} pid=${F.pid}`),_("interrupted");else if(f===0)z.onDebug(`[bridge:session] sessionId=${J.sessionId} completed exit_code=0 pid=${F.pid}`),_("completed");else z.onDebug(`[bridge:session] sessionId=${J.sessionId} failed exit_code=${f} pid=${F.pid}`),_("failed")}),F.on("error",(f)=>{z.onDebug(`[bridge:session] sessionId=${J.sessionId} spawn error: ${f.message}`),_("failed")})}),x={sessionId:J.sessionId,done:P,activities:L,accessToken:J.accessToken,lastStderr:N,get currentActivity(){return A},kill(){if(!F.killed)if(z.onDebug(`[bridge:session] Sending SIGTERM to sessionId=${J.sessionId} pid=${F.pid}`),process.platform==="win32")F.kill();else F.kill("SIGTERM")},forceKill(){if(!M&&F.pid)if(M=!0,z.onDebug(`[bridge:session] Sending SIGKILL to sessionId=${J.sessionId} pid=${F.pid}`),process.platform==="win32")F.kill();else F.kill("SIGKILL")},writeStdin(_){if(F.stdin&&!F.stdin.destroyed)z.onDebug(`[bridge:ws] sessionId=${J.sessionId} >>> ${mz(_)}`),F.stdin.write(_)},updateAccessToken(_){x.accessToken=_,x.writeStdin(qJ({type:"update_environment_variables",variables:{CLAUDE_CODE_SESSION_ACCESS_TOKEN:_}})+`
|
|
36
|
+
`),z.onDebug(`[bridge:session] Sent token refresh via stdin for sessionId=${J.sessionId}`)}};return x}}}RK();DK();var EK={connInitialMs:2000,connCapMs:120000,connGiveUpMs:600000,generalInitialMs:500,generalCapMs:30000,generalGiveUpMs:600000},yK=1000,vJ=32;async function hJ(){return PJ("tengu_ccr_bridge_multi_session")}function FJ(z){return z.connCapMs*2}function SJ(){if(CJ()||!process.argv[1])return[];return[process.argv[1]]}function TK(z,J,K){try{return z.spawn(J,K)}catch(Y){let O=g(Y);return yz(Error(`Session spawn failed: ${O}`)),O}}async function mJ(z,J,K,Y,O,Z,R,B=EK,U,F){let L=new AbortController;if(R.aborted)L.abort();else R.addEventListener("abort",()=>L.abort(),{once:!0});let A=L.signal,N=new Map,M=new Map,E=new Map,P=new Map,x=new Map,_=new Map,f=new Set,k=new Map,b=new Set,d=new Set,S=bJ(A);async function Xz(){let Q=!1,V=!1,y=[];for(let[H]of N){let D=E.get(H),v=x.get(H);if(!D||!v)continue;try{await Y.heartbeatWork(J,D,v),Q=!0}catch(u){if(q(`[bridge:heartbeat] Failed for sessionId=${H} workId=${D}: ${g(u)}`),u instanceof xz)if(zz("tengu_bridge_heartbeat_error",{status:u.status,error_type:u.status===401||u.status===403?"auth_failed":"fatal"}),u.status===401||u.status===403)y.push(H);else V=!0}}for(let H of y){Z.logVerbose(`Session ${H} token expired — re-queuing via bridge/reconnect`);try{await Y.reconnectSession(J,H),q(`[bridge:heartbeat] Re-queued sessionId=${H} via bridge/reconnect`)}catch(D){Z.logError(`Failed to refresh session ${H} token: ${g(D)}`),q(`[bridge:heartbeat] reconnectSession(${H}) failed: ${g(D)}`,{level:"error"})}}if(V)return"fatal";if(y.length>0)return"auth_failed";return Q?"ok":"failed"}let m=new Set,a=F?kJ({getAccessToken:F,onRefresh:(Q,V)=>{let y=N.get(Q);if(!y)return;if(m.has(Q))Z.logVerbose(`Refreshing session ${Q} token via bridge/reconnect`),Y.reconnectSession(J,Q).catch((H)=>{Z.logError(`Failed to refresh session ${Q} token: ${g(H)}`),q(`[bridge:token] reconnectSession(${Q}) failed: ${g(H)}`,{level:"error"})});else y.updateAccessToken(V)},label:"bridge"}):null,$z=Date.now(),n=new Set;function o(Q){n.add(Q),Q.finally(()=>n.delete(Q))}let Vz=0,t=0,p=null,$=null,j=null,w=null,Gz=!1;if(q(`[bridge:work] Starting poll loop spawnMode=${z.spawnMode} maxSessions=${z.maxSessions} environmentId=${J}`),Wz("info","bridge_loop_started",{max_sessions:z.maxSessions,spawn_mode:z.spawnMode}),Z.printBanner(z,J),Z.updateSessionCount(0,z.maxSessions,z.spawnMode),U)Z.setAttached(U);function Nz(){Z.updateSessionCount(N.size,z.maxSessions,z.spawnMode);for(let[u,X]of N){let T=X.currentActivity;if(T)Z.updateSessionActivity(P.get(u)??u,T)}if(N.size===0){Z.updateIdleStatus();return}let[Q,V]=[...N.entries()].pop(),y=M.get(Q);if(!y)return;let H=V.currentActivity;if(!H||H.type==="result"||H.type==="error"){if(z.maxSessions>1)Z.refreshDisplay();return}let D=qz(Date.now()-y),v=V.activities.filter((u)=>u.type==="tool_start").slice(-5).map((u)=>u.summary);Z.updateSessionStatus(Q,D,H,v)}function Oz(){Qz(),Nz(),w=setInterval(Nz,yK)}function Qz(){if(w)clearInterval(w),w=null}function Jz(Q,V,y){return(H)=>{let D=E.get(Q);N.delete(Q),M.delete(Q),E.delete(Q),x.delete(Q);let v=P.get(Q)??Q;P.delete(Q),Z.removeSession(v),d.delete(v),m.delete(Q);let u=_.get(Q);if(u)clearTimeout(u),_.delete(Q);a?.cancel(Q),S.wake();let X=b.delete(Q),T=X&&H==="interrupted"?"failed":H,c=Date.now()-V;q(`[bridge:session] sessionId=${Q} workId=${D??"unknown"} exited status=${T} duration=${qz(c)}`),zz("tengu_bridge_session_done",{status:T,duration_ms:c}),Wz("info","bridge_session_done",{status:T,duration_ms:c}),Z.clearStatus(),Qz();let s=y.lastStderr.length>0?y.lastStderr.join(`
|
|
37
|
+
`):void 0,Yz;switch(T){case"completed":Z.logSessionComplete(Q,c);break;case"failed":if(!X&&!A.aborted)Yz=s??"Process exited with error",Z.logSessionFailed(Q,Yz),yz(Error(`Bridge session failed: ${Yz}`));break;case"interrupted":Z.logVerbose(`Session ${Q} interrupted`);break}if(T!=="interrupted"&&D)o(kz(Y,J,D,Z,B.stopWorkBaseDelayMs)),f.add(D);let Zz=k.get(Q);if(Zz)k.delete(Q),o(vz(Zz.worktreePath,Zz.worktreeBranch,Zz.gitRoot,Zz.hookBased).catch((l)=>Z.logVerbose(`Failed to remove worktree ${Zz.worktreePath}: ${g(l)}`)));if(T!=="interrupted"&&!A.aborted)if(z.spawnMode!=="single-session")o(Y.archiveSession(v).catch((l)=>Z.logVerbose(`Failed to archive session ${Q}: ${g(l)}`))),q(`[bridge:session] Session ${T}, returning to idle (multi-session mode)`);else{q(`[bridge:session] Session ${T}, aborting poll loop to tear down environment`),L.abort();return}if(!A.aborted)Oz()}}if(!U)Oz();while(!A.aborted){let Q=Tz();try{let V=await Y.pollForWork(J,K,A,Q.reclaim_older_than_ms);if(p!==null||$!==null){let X=Date.now()-(p??$??Date.now());Z.logReconnected(X),q(`[bridge:poll] Reconnected after ${qz(X)}`),zz("tengu_bridge_reconnected",{disconnected_ms:X})}if(Vz=0,t=0,p=null,$=null,j=null,!V){if(N.size>=z.maxSessions){let T=Q.multisession_poll_interval_ms_at_capacity;if(Q.non_exclusive_heartbeat_interval_ms>0){zz("tengu_bridge_heartbeat_mode_entered",{active_sessions:N.size,heartbeat_interval_ms:Q.non_exclusive_heartbeat_interval_ms});let c=T>0?Date.now()+T:null,s="ok",Yz=0;while(!A.aborted&&N.size>=z.maxSessions&&(c===null||Date.now()<c)){let l=Tz();if(l.non_exclusive_heartbeat_interval_ms<=0)break;let _z=S.signal();if(s=await Xz(),s==="auth_failed"||s==="fatal"){_z.cleanup();break}Yz++,await i(l.non_exclusive_heartbeat_interval_ms,_z.signal),_z.cleanup()}let Zz=s==="auth_failed"||s==="fatal"?s:A.aborted?"shutdown":N.size<z.maxSessions?"capacity_changed":c!==null&&Date.now()>=c?"poll_due":"config_disabled";if(zz("tengu_bridge_heartbeat_mode_exited",{reason:Zz,heartbeat_cycles:Yz,active_sessions:N.size}),Zz==="poll_due")q(`[bridge:poll] Heartbeat poll_due after ${Yz} cycles — falling through to pollForWork`);if(s==="auth_failed"||s==="fatal"){let l=S.signal();await i(T>0?T:Q.non_exclusive_heartbeat_interval_ms,l.signal),l.cleanup()}}else if(T>0){let c=S.signal();await i(T,c.signal),c.cleanup()}}else{let T=N.size>0?Q.multisession_poll_interval_ms_partial_capacity:Q.multisession_poll_interval_ms_not_at_capacity;await i(T,A)}continue}let H=N.size>=z.maxSessions;if(f.has(V.id)){if(q(`[bridge:work] Skipping already-completed workId=${V.id}`),H){let X=S.signal();if(Q.non_exclusive_heartbeat_interval_ms>0)await Xz(),await i(Q.non_exclusive_heartbeat_interval_ms,X.signal);else if(Q.multisession_poll_interval_ms_at_capacity>0)await i(Q.multisession_poll_interval_ms_at_capacity,X.signal);X.cleanup()}else await i(1000,A);continue}let D;try{D=TJ(V.secret)}catch(X){let T=g(X);if(Z.logError(`Failed to decode work secret for workId=${V.id}: ${T}`),zz("tengu_bridge_work_secret_failed",{}),f.add(V.id),o(kz(Y,J,V.id,Z,B.stopWorkBaseDelayMs)),H){let c=S.signal();if(Q.non_exclusive_heartbeat_interval_ms>0)await Xz(),await i(Q.non_exclusive_heartbeat_interval_ms,c.signal);else if(Q.multisession_poll_interval_ms_at_capacity>0)await i(Q.multisession_poll_interval_ms_at_capacity,c.signal);c.cleanup()}continue}let v=async()=>{q(`[bridge:work] Acknowledging workId=${V.id}`);try{await Y.acknowledgeWork(J,V.id,D.session_ingress_token)}catch(X){q(`[bridge:work] Acknowledge failed workId=${V.id}: ${g(X)}`)}},u=V.data.type;switch(V.data.type){case"healthcheck":await v(),q("[bridge:work] Healthcheck received"),Z.logVerbose("Healthcheck received");break;case"session":{let X=V.data.id;try{yJ(X,"session_id")}catch{await v(),Z.logError(`Invalid session_id received: ${X}`);break}let T=N.get(X);if(T){T.updateAccessToken(D.session_ingress_token),x.set(X,D.session_ingress_token),E.set(X,V.id),a?.schedule(X,D.session_ingress_token),q(`[bridge:work] Updated access token for existing sessionId=${X} workId=${V.id}`),await v();break}if(N.size>=z.maxSessions){q(`[bridge:work] At capacity (${N.size}/${z.maxSessions}), cannot spawn new session for workId=${V.id}`);break}await v();let c=Date.now(),s,Yz=!1,Zz;if(D.use_code_sessions===!0||_J(process.env.CLAUDE_BRIDGE_USE_CCR_V2)){s=wJ(z.apiBaseUrl,X);for(let W=1;W<=2;W++)try{Zz=await fJ(s,D.session_ingress_token),Yz=!0,q(`[bridge:session] CCR v2: registered worker sessionId=${X} epoch=${Zz} attempt=${W}`);break}catch(C){let h=g(C);if(W<2){if(q(`[bridge:session] CCR v2: registerWorker attempt ${W} failed, retrying: ${h}`),await i(2000,A),A.aborted)break;continue}Z.logError(`CCR v2 worker registration failed for session ${X}: ${h}`),yz(Error(`registerWorker failed: ${h}`)),f.add(V.id),o(kz(Y,J,V.id,Z,B.stopWorkBaseDelayMs))}if(!Yz)break}else s=xJ(z.sessionIngressUrl,X);let{spawnMode:l,dir:_z}=z,Uz=0;if(l==="worktree"&&(U===void 0||!MJ(X,U))){let W=Date.now();try{let C=await AJ(`bridge-${Iz(X)}`);Uz=Date.now()-W,k.set(X,{worktreePath:C.worktreePath,worktreeBranch:C.worktreeBranch,gitRoot:C.gitRoot,hookBased:C.hookBased}),_z=C.worktreePath,q(`[bridge:session] Created worktree for sessionId=${X} at ${C.worktreePath}`)}catch(C){let h=g(C);Z.logError(`Failed to create worktree for session ${X}: ${h}`),yz(Error(`Worktree creation failed: ${h}`)),f.add(V.id),o(kz(Y,J,V.id,Z,B.stopWorkBaseDelayMs));break}}q(`[bridge:session] Spawning sessionId=${X} sdkUrl=${s}`);let e=pz(X),Lz=TK(O,{sessionId:X,sdkUrl:s,accessToken:D.session_ingress_token,useCcrV2:Yz,workerEpoch:Zz,onFirstUserMessage:(W)=>{if(d.has(e))return;d.add(e);let C=mK(W);Z.setSessionTitle(e,C),q(`[bridge:title] derived title for ${e}: ${C}`),import("./createSession-1.1.10-m7x38yn5.mjs").then(({updateBridgeSessionTitle:h})=>h(e,C,{baseUrl:z.apiBaseUrl})).catch((h)=>q(`[bridge:title] failed to update title for ${e}: ${h}`,{level:"error"}))}},_z);if(typeof Lz==="string"){Z.logError(`Failed to spawn session ${X}: ${Lz}`);let W=k.get(X);if(W)k.delete(X),o(vz(W.worktreePath,W.worktreeBranch,W.gitRoot,W.hookBased).catch((C)=>Z.logVerbose(`Failed to remove worktree ${W.worktreePath}: ${g(C)}`)));f.add(V.id),o(kz(Y,J,V.id,Z,B.stopWorkBaseDelayMs));break}let Dz=Lz,Az=Date.now()-c;zz("tengu_bridge_session_started",{active_sessions:N.size,spawn_mode:l,in_worktree:k.has(X),spawn_duration_ms:Az,worktree_create_ms:Uz,inProtectedNamespace:BJ()}),Wz("info","bridge_session_started",{spawn_mode:l,in_worktree:k.has(X),spawn_duration_ms:Az,worktree_create_ms:Uz}),N.set(X,Dz),E.set(X,V.id),x.set(X,D.session_ingress_token),P.set(X,e);let wz=Date.now();M.set(X,wz),Z.logSessionStart(X,`Session ${X}`);let Ez=Iz(X),jz;if(z.debugFile){let W=z.debugFile.lastIndexOf(".");if(W>0)jz=`${z.debugFile.slice(0,W)}-${Ez}${z.debugFile.slice(W)}`;else jz=`${z.debugFile}-${Ez}`}else if(z.verbose)jz=LK(AK(),"claude",`bridge-session-${Ez}.log`);if(jz)Z.logVerbose(`Debug log: ${jz}`);Z.addSession(e,UJ(e,z.sessionIngressUrl)),Oz(),Z.setAttached(e),uK(e,z.apiBaseUrl).then((W)=>{if(W&&N.has(X))d.add(e),Z.setSessionTitle(e,W),q(`[bridge:title] server title for ${e}: ${W}`)}).catch((W)=>q(`[bridge:title] failed to fetch title for ${e}: ${W}`,{level:"error"}));let Bz=z.sessionTimeoutMs??EJ;if(Bz>0){let W=setTimeout(fK,Bz,X,Bz,Z,b,Dz);_.set(X,W)}if(Yz)m.add(X);a?.schedule(X,D.session_ingress_token),Dz.done.then(Jz(X,wz,Dz));break}default:await v(),q(`[bridge:work] Unknown work type: ${u}, skipping`);break}if(H){let X=S.signal();if(Q.non_exclusive_heartbeat_interval_ms>0)await Xz(),await i(Q.non_exclusive_heartbeat_interval_ms,X.signal);else if(Q.multisession_poll_interval_ms_at_capacity>0)await i(Q.multisession_poll_interval_ms_at_capacity,X.signal);X.cleanup()}}catch(V){if(A.aborted)break;if(V instanceof xz){if(Gz=!0,cz(V.errorType))Z.logStatus(V.message);else if(iz(V))q(`[bridge:work] Suppressed 403 error: ${V.message}`);else Z.logError(V.message),yz(V);zz("tengu_bridge_fatal_error",{status:V.status,error_type:V.errorType}),Wz(cz(V.errorType)?"info":"error","bridge_fatal_error",{status:V.status,error_type:V.errorType});break}let y=LJ(V);if(MK(V)||wK(V)){let H=Date.now();if(j!==null&&H-j>FJ(B))q(`[bridge:work] Detected system sleep (${Math.round((H-j)/1000)}s gap), resetting error budget`),Wz("info","bridge_poll_sleep_detected",{gapMs:H-j}),p=null,Vz=0,$=null,t=0;if(j=H,!p)p=H;let D=H-p;if(D>=B.connGiveUpMs){Z.logError(`Server unreachable for ${Math.round(D/60000)} minutes, giving up.`),zz("tengu_bridge_poll_give_up",{error_type:"connection",elapsed_ms:D}),Wz("error","bridge_poll_give_up",{error_type:"connection",elapsed_ms:D}),Gz=!0;break}$=null,t=0,Vz=Vz?Math.min(Vz*2,B.connCapMs):B.connInitialMs;let v=dz(Vz);if(Z.logVerbose(`Connection error, retrying in ${bz(v)} (${Math.round(D/1000)}s elapsed): ${y}`),Z.updateReconnectingStatus(bz(v),qz(D)),Tz().non_exclusive_heartbeat_interval_ms>0)await Xz();await i(v,A)}else{let H=Date.now();if(j!==null&&H-j>FJ(B))q(`[bridge:work] Detected system sleep (${Math.round((H-j)/1000)}s gap), resetting error budget`),Wz("info","bridge_poll_sleep_detected",{gapMs:H-j}),p=null,Vz=0,$=null,t=0;if(j=H,!$)$=H;let D=H-$;if(D>=B.generalGiveUpMs){Z.logError(`Persistent errors for ${Math.round(D/60000)} minutes, giving up.`),zz("tengu_bridge_poll_give_up",{error_type:"general",elapsed_ms:D}),Wz("error","bridge_poll_give_up",{error_type:"general",elapsed_ms:D}),Gz=!0;break}p=null,Vz=0,t=t?Math.min(t*2,B.generalCapMs):B.generalInitialMs;let v=dz(t);if(Z.logVerbose(`Poll failed, retrying in ${bz(v)} (${Math.round(D/1000)}s elapsed): ${y}`),Z.updateReconnectingStatus(bz(v),qz(D)),Tz().non_exclusive_heartbeat_interval_ms>0)await Xz();await i(v,A)}}}Qz(),Z.clearStatus();let Kz=Date.now()-$z;zz("tengu_bridge_shutdown",{active_sessions:N.size,loop_duration_ms:Kz}),Wz("info","bridge_shutdown",{active_sessions:N.size,loop_duration_ms:Kz});let r=new Set(N.keys());if(U)r.add(U);let Mz=new Map(P);if(N.size>0){q(`[bridge:shutdown] Shutting down ${N.size} active session(s)`),Z.logStatus(`Shutting down ${N.size} active session(s)…`);let Q=new Map(E);for(let[y,H]of N.entries())q(`[bridge:shutdown] Sending SIGTERM to sessionId=${y}`),H.kill();let V=new AbortController;await Promise.race([Promise.allSettled([...N.values()].map((y)=>y.done)),i(B.shutdownGraceMs??30000,V.signal)]),V.abort();for(let[y,H]of N.entries())q(`[bridge:shutdown] Force-killing stuck sessionId=${y}`),H.forceKill();for(let y of _.values())clearTimeout(y);if(_.clear(),a?.cancelAll(),k.size>0){let y=[...k.values()];k.clear(),q(`[bridge:shutdown] Cleaning up ${y.length} worktree(s)`),await Promise.allSettled(y.map((H)=>vz(H.worktreePath,H.worktreeBranch,H.gitRoot,H.hookBased)))}await Promise.allSettled([...Q.entries()].map(([y,H])=>{return Y.stopWork(J,H,!0).catch((D)=>Z.logVerbose(`Failed to stop work ${H} for session ${y}: ${g(D)}`))}))}if(n.size>0)await Promise.allSettled([...n]);if(r.size>0)q(`[bridge:shutdown] Archiving ${r.size} session(s)`),await Promise.allSettled([...r].map((Q)=>Y.archiveSession(Mz.get(Q)??pz(Q)).catch((V)=>Z.logVerbose(`Failed to archive session ${Q}: ${g(V)}`))));try{await Y.deregisterEnvironment(J),q("[bridge:shutdown] Environment deregistered, bridge offline"),Z.logVerbose("Environment deregistered.")}catch(Q){Z.logVerbose(`Failed to deregister environment: ${g(Q)}`)}let{clearBridgePointer:Fz}=await import("./bridgePointer-1.1.10-hjbfhk32.mjs");await Fz(z.dir),Z.logVerbose("Environment offline.")}var xK=new Set(["ECONNREFUSED","ECONNRESET","ETIMEDOUT","ENETUNREACH","EHOSTUNREACH"]);function MK(z){if(z&&typeof z==="object"&&"code"in z&&typeof z.code==="string"&&xK.has(z.code))return!0;return!1}function wK(z){return!!z&&typeof z==="object"&&"code"in z&&typeof z.code==="string"&&z.code==="ERR_BAD_RESPONSE"}function dz(z){return Math.max(0,z+z*0.25*(2*Math.random()-1))}function bz(z){return z>=1000?`${(z/1000).toFixed(1)}s`:`${Math.round(z)}ms`}async function kz(z,J,K,Y,O=1000){for(let R=1;R<=3;R++)try{await z.stopWork(J,K,!1),q(`[bridge:work] stopWork succeeded for workId=${K} on attempt ${R}/3`);return}catch(B){if(B instanceof xz){if(iz(B))q(`[bridge:work] Suppressed stopWork 403 for ${K}: ${B.message}`);else Y.logError(`Failed to stop work ${K}: ${B.message}`);Wz("error","bridge_stop_work_failed",{attempts:R,fatal:!0});return}let U=g(B);if(R<3){let F=dz(O*Math.pow(2,R-1));Y.logVerbose(`Failed to stop work ${K} (attempt ${R}/3), retrying in ${bz(F)}: ${U}`),await i(F)}else Y.logError(`Failed to stop work ${K} after 3 attempts: ${U}`),Wz("error","bridge_stop_work_failed",{attempts:3})}}function fK(z,J,K,Y,O){q(`[bridge:session] sessionId=${z} timed out after ${qz(J)}`),zz("tengu_bridge_session_timeout",{timeout_ms:J}),K.logSessionFailed(z,`Session timed out after ${qz(J)}`),Y.add(z),O.kill()}var kK=["session","same-dir","worktree"];function bK(z){if(z==="session")return"single-session";if(z==="same-dir")return"same-dir";if(z==="worktree")return"worktree";return`--spawn requires one of: ${kK.join(", ")} (got: ${z??"<missing>"})`}function IK(z){let J=z===void 0?NaN:parseInt(z,10);if(isNaN(J)||J<1)return`--capacity requires a positive integer (got: ${z??"<missing>"})`;return J}function vK(z){let J=!1,K=!1,Y,O,Z,R,B=!1,U,F,L,A,N=!1;for(let E=0;E<z.length;E++){let P=z[E];if(P==="--help"||P==="-h")B=!0;else if(P==="--verbose"||P==="-v")J=!0;else if(P==="--sandbox")K=!0;else if(P==="--no-sandbox")K=!1;else if(P==="--debug-file"&&E+1<z.length)Y=lz(z[++E]);else if(P.startsWith("--debug-file="))Y=lz(P.slice(13));else if(P==="--session-timeout"&&E+1<z.length)O=parseInt(z[++E],10)*1000;else if(P.startsWith("--session-timeout="))O=parseInt(P.slice(18),10)*1000;else if(P==="--permission-mode"&&E+1<z.length)Z=z[++E];else if(P.startsWith("--permission-mode="))Z=P.slice(18);else if(P==="--name"&&E+1<z.length)R=z[++E];else if(P.startsWith("--name="))R=P.slice(7);else if(P==="--spawn"||P.startsWith("--spawn=")){if(U!==void 0)return M("--spawn may only be specified once");let x=P.startsWith("--spawn=")?P.slice(8):z[++E],_=bK(x);if(_==="single-session"||_==="same-dir"||_==="worktree")U=_;else return M(_)}else if(P==="--capacity"||P.startsWith("--capacity=")){if(F!==void 0)return M("--capacity may only be specified once");let x=P.startsWith("--capacity=")?P.slice(11):z[++E],_=IK(x);if(typeof _==="number")F=_;else return M(_)}else if(P==="--create-session-in-dir")L=!0;else if(P==="--no-create-session-in-dir")L=!1;else return M(`Unknown argument: ${P}
|
|
38
|
+
Run 'claude remote-control --help' for usage.`)}if(U==="single-session"&&F!==void 0)return M("--capacity cannot be used with --spawn=session (single-session mode has fixed capacity 1).");if((A||N)&&(U!==void 0||F!==void 0||L!==void 0))return M("--session-id and --continue cannot be used with --spawn, --capacity, or --create-session-in-dir.");if(A&&N)return M("--session-id and --continue cannot be used together.");return{verbose:J,sandbox:K,debugFile:Y,sessionTimeoutMs:O,permissionMode:Z,name:R,spawnMode:U,capacity:F,createSessionInDir:L,sessionId:A,continueSession:N,help:B};function M(E){return{verbose:J,sandbox:K,debugFile:Y,sessionTimeoutMs:O,permissionMode:Z,name:R,spawnMode:U,capacity:F,createSessionInDir:L,sessionId:A,continueSession:N,help:B,error:E}}}async function hK(){let{EXTERNAL_PERMISSION_MODES:z}=await import("./permissions-1.1.10-jxhg9dnn.mjs"),J=z.join(", "),K=await hJ(),Y=K?` --spawn <mode> Spawn mode: same-dir, worktree, session
|
|
39
|
+
(default: same-dir)
|
|
40
|
+
--capacity <N> Max concurrent sessions in worktree or
|
|
41
|
+
same-dir mode (default: ${vJ})
|
|
42
|
+
--[no-]create-session-in-dir Pre-create a session in the current
|
|
43
|
+
directory; in worktree mode this session
|
|
44
|
+
stays in cwd while on-demand sessions get
|
|
45
|
+
isolated worktrees (default: on)
|
|
46
|
+
`:"",R=`
|
|
47
|
+
Remote Control - Connect your local environment to claude.ai/code
|
|
48
|
+
|
|
49
|
+
USAGE
|
|
50
|
+
claude remote-control [options]
|
|
51
|
+
OPTIONS
|
|
52
|
+
--name <name> Name for the session (shown in claude.ai/code)
|
|
53
|
+
--permission-mode <mode> Permission mode for spawned sessions
|
|
54
|
+
(${J})
|
|
55
|
+
--debug-file <path> Write debug logs to file
|
|
56
|
+
-v, --verbose Enable verbose output
|
|
57
|
+
-h, --help Show this help
|
|
58
|
+
${Y}
|
|
59
|
+
DESCRIPTION
|
|
60
|
+
Remote Control allows you to control sessions on your local device from
|
|
61
|
+
claude.ai/code (https://claude.ai/code). Run this command in the
|
|
62
|
+
directory you want to work in, then connect from the Claude app or web.
|
|
63
|
+
${K?`
|
|
64
|
+
Remote Control runs as a persistent server that accepts multiple concurrent
|
|
65
|
+
sessions in the current directory. One session is pre-created on start so
|
|
66
|
+
you have somewhere to type immediately. Use --spawn=worktree to isolate
|
|
67
|
+
each on-demand session in its own git worktree, or --spawn=session for
|
|
68
|
+
the classic single-session mode (exits when that session ends). Press 'w'
|
|
69
|
+
during runtime to toggle between same-dir and worktree.
|
|
70
|
+
`:""}
|
|
71
|
+
NOTES
|
|
72
|
+
- You must be logged in with a Claude account that has a subscription
|
|
73
|
+
- Run \`claude\` first in the directory to accept the workspace trust dialog
|
|
74
|
+
${K?` - Worktree mode requires a git repository or WorktreeCreate/WorktreeRemove hooks
|
|
75
|
+
`:""}`;console.log(R)}var SK=80;function mK(z){let J=z.replace(/\s+/g," ").trim();return Rz(J,SK)}async function uK(z,J){let{getBridgeSession:K}=await import("./createSession-1.1.10-m7x38yn5.mjs");return(await K(z,{baseUrl:J}))?.title||void 0}async function kZ(z){let J=vK(z);if(J.help){await hK();return}if(J.error)console.error(`Error: ${J.error}`),process.exit(1);let{verbose:K,sandbox:Y,debugFile:O,sessionTimeoutMs:Z,permissionMode:R,name:B,spawnMode:U,capacity:F,createSessionInDir:L,sessionId:A,continueSession:N}=J,M=A,E,P=U!==void 0||F!==void 0||L!==void 0;if(R!==void 0){let{PERMISSION_MODES:W}=await import("./permissions-1.1.10-jxhg9dnn.mjs"),C=W;if(!C.includes(R))console.error(`Error: Invalid permission mode '${R}'. Valid modes: ${C.join(", ")}`),process.exit(1)}let x=lz("."),{enableConfigs:_,checkHasTrustDialogAccepted:f}=await import("./config-1.1.10-070kwjeg.mjs");_();let{initSinks:k}=await import("./sinks-1.1.10-w9vqb1fc.mjs");k();let b=await hJ();if(P&&!b)await NJ("tengu_bridge_multi_session_denied",{used_spawn:U!==void 0,used_capacity:F!==void 0,used_create_session_in_dir:L!==void 0}),await Promise.race([Promise.all([DJ(),RJ()]),i(500,void 0,{unref:!0})]).catch(()=>{}),console.error("Error: Multi-session Remote Control is not enabled for your account yet."),process.exit(1);let{setOriginalCwd:d,setCwdState:S}=await import("./state-1.1.10-m7z4cc4k.mjs");if(d(x),S(x),!f())console.error(`Error: Workspace not trusted. Please run \`claude\` in ${x} first to review and accept the workspace trust dialog.`),process.exit(1);let{clearOAuthTokenCache:Xz,checkAndRefreshOAuthTokenIfNeeded:m}=await import("./auth-1.1.10-sfzbw010.mjs"),{getBridgeAccessToken:a,getBridgeBaseUrl:$z}=await import("./bridgeConfig-1.1.10-3j77pwcn.mjs");if(!a())console.error(oz),process.exit(1);let{getGlobalConfig:o,saveGlobalConfig:Vz,getCurrentProjectConfig:t,saveCurrentProjectConfig:p}=await import("./config-1.1.10-070kwjeg.mjs");if(!o().remoteDialogSeen){let C=(await import("readline")).createInterface({input:process.stdin,output:process.stdout});console.log(`
|
|
76
|
+
Remote Control lets you access this CLI session from the web (claude.ai/code)
|
|
77
|
+
or the Claude app, so you can pick up where you left off on any device.
|
|
78
|
+
|
|
79
|
+
You can disconnect remote access anytime by running /remote-control again.
|
|
80
|
+
`);let h=await new Promise((Hz)=>{C.question("Enable Remote Control? (y/n) ",Hz)});if(C.close(),Vz((Hz)=>{if(Hz.remoteDialogSeen)return Hz;return{...Hz,remoteDialogSeen:!0}}),h.toLowerCase()!=="y"&&h.toLowerCase()!=="yes")process.exit(0)}let $=$z();if($.startsWith("http://")&&!$.includes("localhost")&&!$.includes("127.0.0.1"))console.error("Error: Remote Control base URL uses HTTP. Only HTTPS or localhost HTTP is allowed."),process.exit(1);let j=process.env.CLAUDE_BRIDGE_SESSION_INGRESS_URL||$,{getBranch:w,getRemoteUrl:Gz,findGitRoot:Nz}=await import("./git-1.1.10-0v4t8ap3.mjs"),{hasWorktreeCreateHook:Oz}=await import("./hooks-1.1.10-ke0jh0zh.mjs"),Qz=Oz()||Nz(x)!==null,Jz=b?t().remoteControlSpawnMode:void 0;if(Jz==="worktree"&&!Qz)console.error("Warning: Saved spawn mode is worktree but this directory is not a git repository. Falling back to same-dir."),Jz=void 0,p((W)=>{if(W.remoteControlSpawnMode===void 0)return W;return{...W,remoteControlSpawnMode:void 0}});if(b&&!Jz&&Qz&&U===void 0&&!M&&process.stdin.isTTY){let C=(await import("readline")).createInterface({input:process.stdin,output:process.stdout});console.log(`
|
|
81
|
+
Claude Remote Control is launching in spawn mode which lets you create new sessions in this project from Claude Code on Web or your Mobile app. Learn more here: https://code.claude.com/docs/en/remote-control
|
|
82
|
+
|
|
83
|
+
Spawn mode for this project:
|
|
84
|
+
`+` [1] same-dir — sessions share the current directory (default)
|
|
85
|
+
`+` [2] worktree — each session gets an isolated git worktree
|
|
86
|
+
|
|
87
|
+
`+`This can be changed later or explicitly set with --spawn=same-dir or --spawn=worktree.
|
|
88
|
+
`);let h=await new Promise((Pz)=>{C.question("Choose [1/2] (default: 1): ",Pz)});C.close();let Hz=h.trim()==="2"?"worktree":"same-dir";Jz=Hz,zz("tengu_bridge_spawn_mode_chosen",{spawn_mode:Hz}),p((Pz)=>{if(Pz.remoteControlSpawnMode===Hz)return Pz;return{...Pz,remoteControlSpawnMode:Hz}})}let Kz,r;if(M)r="single-session",Kz="resume";else if(U!==void 0)r=U,Kz="flag";else if(Jz!==void 0)r=Jz,Kz="saved";else r=b?"same-dir":"single-session",Kz="gate_default";let Mz=r==="single-session"?1:F??vJ,Fz=L??!0;if(!M){let{clearBridgePointer:W}=await import("./bridgePointer-1.1.10-hjbfhk32.mjs");await W(x)}if(r==="worktree"&&!Qz)console.error("Error: Worktree mode requires a git repository or WorktreeCreate hooks configured. Use --spawn=session for single-session mode."),process.exit(1);let Q=await w(),V=await Gz(),y=IJ(),H=Sz(),{handleOAuth401Error:D}=await import("./auth-1.1.10-sfzbw010.mjs"),v=rz({baseUrl:$,getAccessToken:a,runnerVersion:"99.0.0",onDebug:q,onAuth401:D,getTrustedDeviceToken:az}),u,X={dir:x,machineName:y,branch:Q,gitRepoUrl:V,maxSessions:Mz,spawnMode:r,verbose:K,sandbox:Y,bridgeId:H,workerType:"claude_code",environmentId:Sz(),reuseEnvironmentId:u,apiBaseUrl:$,sessionIngressUrl:j,debugFile:O,sessionTimeoutMs:Z};q(`[bridge:init] bridgeId=${H}${u?` reuseEnvironmentId=${u}`:""} dir=${x} branch=${Q} gitRepoUrl=${V} machine=${y}`),q(`[bridge:init] apiBaseUrl=${$} sessionIngressUrl=${j}`),q(`[bridge:init] sandbox=${Y}${O?` debugFile=${O}`:""}`);let T,c;try{let W=await v.registerBridgeEnvironment(X);T=W.environment_id,c=W.environment_secret}catch(W){zz("tengu_bridge_registration_failed",{status:W instanceof xz?W.status:void 0}),console.error(W instanceof xz&&W.status===404?"Remote Control environments are not available for your account.":`Error: ${g(W)}`),process.exit(1)}let s;q(`[bridge:init] Registered, server environmentId=${T}`);let Yz=Tz();zz("tengu_bridge_started",{max_sessions:X.maxSessions,has_debug_file:!!X.debugFile,sandbox:X.sandbox,verbose:X.verbose,heartbeat_interval_ms:Yz.non_exclusive_heartbeat_interval_ms,spawn_mode:X.spawnMode,spawn_mode_source:Kz,multi_session_gate:b,pre_create_session:Fz,worktree_available:Qz}),Wz("info","bridge_started",{max_sessions:X.maxSessions,sandbox:X.sandbox,spawn_mode:X.spawnMode});let Zz=gz({execPath:process.execPath,scriptArgs:SJ(),env:process.env,verbose:K,sandbox:Y,debugFile:O,permissionMode:R,onDebug:q,onActivity:(W,C)=>{q(`[bridge:activity] sessionId=${W} ${C.type} ${C.summary}`)},onPermissionRequest:(W,C,h)=>{q(`[bridge:perm] sessionId=${W} tool=${C.request.tool_name} request_id=${C.request_id} (not auto-approving)`)}}),l=GJ({verbose:K}),{parseGitHubRepository:_z}=await import("./detectRepository-1.1.10-71gvqxzs.mjs"),Uz=V?_z(V):null,e=Uz?Uz.split("/").pop():UK(x);l.setRepoInfo(e,Q);let Lz=r!=="single-session"&&Qz;if(Lz)l.setSpawnModeDisplay(r);let Dz=(W)=>{if(W[0]===3||W[0]===4){process.emit("SIGINT");return}if(W[0]===32){l.toggleQr();return}if(W[0]===119){if(!Lz)return;let C=X.spawnMode==="same-dir"?"worktree":"same-dir";X.spawnMode=C,zz("tengu_bridge_spawn_mode_toggled",{spawn_mode:C}),l.logStatus(C==="worktree"?"Spawn mode: worktree (new sessions get isolated git worktrees)":"Spawn mode: same-dir (new sessions share the current directory)"),l.setSpawnModeDisplay(C),l.refreshDisplay(),p((h)=>{if(h.remoteControlSpawnMode===C)return h;return{...h,remoteControlSpawnMode:C}});return}};if(process.stdin.isTTY)process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.on("data",Dz);let Az=new AbortController,wz=()=>{q("[bridge:shutdown] SIGINT received, shutting down"),Az.abort()},Ez=()=>{q("[bridge:shutdown] SIGTERM received, shutting down"),Az.abort()};process.on("SIGINT",wz),process.on("SIGTERM",Ez);let jz=null;if(Fz){let{createBridgeSession:W}=await import("./createSession-1.1.10-m7x38yn5.mjs");try{if(jz=await W({environmentId:T,title:B,events:[],gitRepoUrl:V,branch:Q,signal:Az.signal,baseUrl:$,getAccessToken:a,permissionMode:R}),jz)q(`[bridge:init] Created initial session ${jz}`)}catch(C){q(`[bridge:init] Session creation failed (non-fatal): ${g(C)}`)}}let Bz=null;if(jz&&r==="single-session"){let{writeBridgePointer:W}=await import("./bridgePointer-1.1.10-hjbfhk32.mjs"),C={sessionId:jz,environmentId:T,source:"standalone"};await W(X.dir,C),Bz=setInterval(W,3600000,X.dir,C),Bz.unref?.()}try{await mJ(X,T,c,v,Zz,l,Az.signal,void 0,jz??void 0,async()=>{return Xz(),await m(),a()})}finally{if(Bz!==null)clearInterval(Bz);if(process.off("SIGINT",wz),process.off("SIGTERM",Ez),process.stdin.off("data",Dz),process.stdin.isTTY)process.stdin.setRawMode(!1);process.stdin.pause()}process.exit(0)}class hz extends Error{constructor(z){super(z);this.name="BridgeHeadlessPermanentError"}}async function bZ(z,J){let{dir:K,log:Y}=z;process.chdir(K);let{setOriginalCwd:O,setCwdState:Z}=await import("./state-1.1.10-m7z4cc4k.mjs");O(K),Z(K);let{enableConfigs:R,checkHasTrustDialogAccepted:B}=await import("./config-1.1.10-070kwjeg.mjs");R();let{initSinks:U}=await import("./sinks-1.1.10-w9vqb1fc.mjs");if(U(),!B())throw new hz(`Workspace not trusted: ${K}. Run \`claude\` in that directory first to accept the trust dialog.`);if(!z.getAccessToken())throw Error(oz);let{getBridgeBaseUrl:F}=await import("./bridgeConfig-1.1.10-3j77pwcn.mjs"),L=F();if(L.startsWith("http://")&&!L.includes("localhost")&&!L.includes("127.0.0.1"))throw new hz("Remote Control base URL uses HTTP. Only HTTPS or localhost HTTP is allowed.");let A=process.env.CLAUDE_BRIDGE_SESSION_INGRESS_URL||L,{getBranch:N,getRemoteUrl:M,findGitRoot:E}=await import("./git-1.1.10-0v4t8ap3.mjs"),{hasWorktreeCreateHook:P}=await import("./hooks-1.1.10-ke0jh0zh.mjs");if(z.spawnMode==="worktree"){if(!(P()||E(K)!==null))throw new hz(`Worktree mode requires a git repository or WorktreeCreate hooks. Directory ${K} has neither.`)}let x=await N(),_=await M(),f=IJ(),k=Sz(),b={dir:K,machineName:f,branch:x,gitRepoUrl:_,maxSessions:z.capacity,spawnMode:z.spawnMode,verbose:!1,sandbox:z.sandbox,bridgeId:k,workerType:"claude_code",environmentId:Sz(),apiBaseUrl:L,sessionIngressUrl:A,sessionTimeoutMs:z.sessionTimeoutMs},d=rz({baseUrl:L,getAccessToken:z.getAccessToken,runnerVersion:"99.0.0",onDebug:Y,onAuth401:z.onAuth401,getTrustedDeviceToken:az}),S,Xz;try{let n=await d.registerBridgeEnvironment(b);S=n.environment_id,Xz=n.environment_secret}catch(n){throw Error(`Bridge registration failed: ${g(n)}`)}let m=gz({execPath:process.execPath,scriptArgs:SJ(),env:process.env,verbose:!1,sandbox:z.sandbox,permissionMode:z.permissionMode,onDebug:Y}),a=gK(Y);a.printBanner(b,S);let $z;if(z.createSessionOnStart){let{createBridgeSession:n}=await import("./createSession-1.1.10-m7x38yn5.mjs");try{let o=await n({environmentId:S,title:z.name,events:[],gitRepoUrl:_,branch:x,signal:J,baseUrl:L,getAccessToken:z.getAccessToken,permissionMode:z.permissionMode});if(o)$z=o,Y(`created initial session ${o}`)}catch(o){Y(`session pre-creation failed (non-fatal): ${g(o)}`)}}await mJ(b,S,Xz,d,m,a,J,void 0,$z,async()=>z.getAccessToken())}function gK(z){let J=()=>{};return{printBanner:(K,Y)=>z(`registered environmentId=${Y} dir=${K.dir} spawnMode=${K.spawnMode} capacity=${K.maxSessions}`),logSessionStart:(K,Y)=>z(`session start ${K}`),logSessionComplete:(K,Y)=>z(`session complete ${K} (${Y}ms)`),logSessionFailed:(K,Y)=>z(`session failed ${K}: ${Y}`),logStatus:z,logVerbose:z,logError:(K)=>z(`error: ${K}`),logReconnected:(K)=>z(`reconnected after ${K}ms`),addSession:(K,Y)=>z(`session attached ${K}`),removeSession:(K)=>z(`session detached ${K}`),updateIdleStatus:J,updateReconnectingStatus:J,updateSessionStatus:J,updateSessionActivity:J,updateSessionCount:J,updateFailedStatus:J,setSpawnModeDisplay:J,setRepoInfo:J,setAttached:J,setSessionTitle:J,clearStatus:J,toggleQr:J,refreshDisplay:J}}export{mJ as runBridgeLoop,bZ as runBridgeHeadless,vK as parseArgs,wK as isServerError,MK as isConnectionError,kZ as bridgeMain,hz as BridgeHeadlessPermanentError};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{EW as S,FW as _}from"./cli-1.1.10-6g4fntdc.mjs";import{Oia as Y,Qia as M,Ria as N,Sia as O,hia as G,iia as A,lia as k}from"./cli-1.1.10-nfpy32s8.mjs";import{Mka as C,Pka as R,pka as K,qka as W,uka as j}from"./cli-1.1.10-jn6w68wj.mjs";import"./cli-1.1.10-a8e8n1bk.mjs";import{mla as y,rla as c}from"./cli-1.1.10-e7wxspgz.mjs";import"./cli-1.1.10-49bvng33.mjs";import"./cli-1.1.10-f00rps59.mjs";import"./cli-1.1.10-j20txpzn.mjs";import"./cli-1.1.10-sz5x71xt.mjs";import"./cli-1.1.10-gmf5w0a4.mjs";M();R();c();_();O();k();j();import{mkdir as m,readFile as z,stat as E,unlink as T,writeFile as f}from"fs/promises";import{dirname as B,join as b}from"path";var I=50,D=14400000,u=N(()=>Y.object({sessionId:Y.string(),environmentId:Y.string(),source:Y.enum(["standalone","repl"])}));function J(q){return b(A(),G(q),"bridge-pointer.json")}async function g(q,x){let v=J(q);try{await m(B(v),{recursive:!0}),await f(v,K(x),"utf8"),C(`[bridge:pointer] wrote ${v}`)}catch(V){C(`[bridge:pointer] write failed: ${V}`,{level:"warn"})}}async function U(q){let x=J(q),v,V;try{V=(await E(x)).mtimeMs,v=await z(x,"utf8")}catch{return null}let Z=u().safeParse(F(v));if(!Z.success)return C(`[bridge:pointer] invalid schema, clearing: ${x}`),await X(q),null;let $=Math.max(0,Date.now()-V);if($>D)return C(`[bridge:pointer] stale (>4h mtime), clearing: ${x}`),await X(q),null;return{...Z.data,ageMs:$}}async function s(q){let x=await U(q);if(x)return{pointer:x,dir:q};let v=await S(q);if(v.length<=1)return null;if(v.length>I)return C(`[bridge:pointer] ${v.length} worktrees exceeds fanout cap ${I}, skipping`),null;let V=G(q),Z=v.filter((H)=>G(H)!==V),$=await Promise.all(Z.map(async(H)=>{let L=await U(H);return L?{pointer:L,dir:H}:null})),Q=null;for(let H of $)if(H&&(!Q||H.pointer.ageMs<Q.pointer.ageMs))Q=H;if(Q)C(`[bridge:pointer] fanout found pointer in worktree ${Q.dir} (ageMs=${Q.pointer.ageMs})`);return Q}async function X(q){let x=J(q);try{await T(x),C(`[bridge:pointer] cleared ${x}`)}catch(v){if(!y(v))C(`[bridge:pointer] clear failed: ${v}`,{level:"warn"})}}function F(q){try{return W(q)}catch{return null}}export{g as writeBridgePointer,s as readBridgePointerAcrossWorktrees,U as readBridgePointer,J as getBridgePointerPath,X as clearBridgePointer,D as BRIDGE_POINTER_TTL_MS};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Nh as a,Oh as bJ}from"./cli-1.1.10-0sxx8rkz.mjs";import{Ph as x,Qh as AJ}from"./cli-1.1.10-hs44pkht.mjs";import{Kn as m,Ky as u,Ln as UJ,My as WJ,QQ as r,QR as o,UH as $,VH as vJ,ZQ as TJ,cS as hJ,gU as s,hU as t,iU as DJ,rE as l,xE as kJ,xx as i,yx as HJ}from"./cli-1.1.10-hk2c91wp.mjs";import"./cli-1.1.10-w7zqsk0a.mjs";import"./cli-1.1.10-tv3hs8t2.mjs";import"./cli-1.1.10-gr69gke8.mjs";import"./cli-1.1.10-k9q658g7.mjs";import"./cli-1.1.10-0v8v9gwe.mjs";import"./cli-1.1.10-gydf5ktx.mjs";import"./cli-1.1.10-58e888gh.mjs";import"./cli-1.1.10-sv5wy20e.mjs";import"./cli-1.1.10-1mh77njj.mjs";import"./cli-1.1.10-58vqqfgj.mjs";import"./cli-1.1.10-m0xgys17.mjs";import"./cli-1.1.10-6g4fntdc.mjs";import"./cli-1.1.10-t3pn4ww9.mjs";import"./cli-1.1.10-1qxr18wg.mjs";import"./cli-1.1.10-kw60xwcx.mjs";import"./cli-1.1.10-6smvkrsd.mjs";import"./cli-1.1.10-0yx9c9s1.mjs";import"./cli-1.1.10-4xztz3b9.mjs";import"./cli-1.1.10-gafedg04.mjs";import{IY as c,KY as IJ,lY as g,mY as QJ}from"./cli-1.1.10-qk19t6fd.mjs";import"./cli-1.1.10-jd00fn0g.mjs";import{BZ as GJ,F1 as NJ,_0 as k,a1 as v,r1 as j,t1 as KJ}from"./cli-1.1.10-msg7sda2.mjs";import"./cli-1.1.10-jfwqa1gq.mjs";import"./cli-1.1.10-x8dpgrgj.mjs";import"./cli-1.1.10-pkyv2v8k.mjs";import"./cli-1.1.10-250q8bef.mjs";import"./cli-1.1.10-5hrs5rqr.mjs";import"./cli-1.1.10-12dzgaq4.mjs";import"./cli-1.1.10-3a3dw1b0.mjs";import"./cli-1.1.10-e8zhf6q8.mjs";import"./cli-1.1.10-p28vy0yz.mjs";import"./cli-1.1.10-z0ddrtr1.mjs";import"./cli-1.1.10-ejwjw031.mjs";import{i4 as F,j4 as W,k4 as d}from"./cli-1.1.10-t8n5jx0z.mjs";import{l4 as zJ}from"./cli-1.1.10-c67v6p50.mjs";import"./cli-1.1.10-b0b04nbj.mjs";import"./cli-1.1.10-3vfwktcp.mjs";import"./cli-1.1.10-f7dqg4nd.mjs";import"./cli-1.1.10-453rs0bh.mjs";import"./cli-1.1.10-yzpymdrc.mjs";import"./cli-1.1.10-syrhp8d1.mjs";import"./cli-1.1.10-dppcc1yx.mjs";import"./cli-1.1.10-910qbqn7.mjs";import"./cli-1.1.10-39crhqg8.mjs";import"./cli-1.1.10-cn0a8vwn.mjs";import{Dba as p,Eba as C,Lea as S,Wba as ZJ,hfa as FJ}from"./cli-1.1.10-m0pdck7q.mjs";import"./cli-1.1.10-kdvf271d.mjs";import"./cli-1.1.10-bpcmdnpg.mjs";import"./cli-1.1.10-h0b2x5t4.mjs";import"./cli-1.1.10-dvxkr02c.mjs";import"./cli-1.1.10-nfpy32s8.mjs";import"./cli-1.1.10-3pch2a3h.mjs";import"./cli-1.1.10-2wkvf65f.mjs";import"./cli-1.1.10-fz99ag3y.mjs";import"./cli-1.1.10-jn6w68wj.mjs";import"./cli-1.1.10-a8e8n1bk.mjs";import{kla as f,rla as YJ}from"./cli-1.1.10-e7wxspgz.mjs";import"./cli-1.1.10-49bvng33.mjs";import"./cli-1.1.10-f00rps59.mjs";import"./cli-1.1.10-j20txpzn.mjs";import"./cli-1.1.10-sz5x71xt.mjs";import"./cli-1.1.10-6m1jpn0s.mjs";import"./cli-1.1.10-rgpghq5k.mjs";import"./cli-1.1.10-2scx8n6c.mjs";import{Usa as R,Ysa as XJ}from"./cli-1.1.10-gmf5w0a4.mjs";function EJ(V){let J=n.c(25),{question:Y,context:z,onDone:G}=V,[Z,e]=N.useState(null),[K,y]=N.useState(null),[P,JJ]=N.useState(0),T=N.useRef(null),{rows:VJ}=c(g()),A;if(J[0]===Symbol.for("react.memo_cache_sentinel"))A=()=>JJ(qJ),J[0]=A;else A=J[0];j(A,Z||K?null:80);let b;if(J[1]!==G)b=function(X){if(X.key==="escape"||X.key==="return"||X.key===" "||X.ctrl&&(X.key==="c"||X.key==="d")){X.preventDefault(),G(void 0,{display:"skip"});return}if(X.key==="up"||X.ctrl&&X.key==="p")X.preventDefault(),T.current?.scrollBy(-_);if(X.key==="down"||X.ctrl&&X.key==="n")X.preventDefault(),T.current?.scrollBy(_)},J[1]=G,J[2]=b;else b=J[2];let h=b,w,L;if(J[3]!==z||J[4]!==Y)w=()=>{let B=m();return async function(){try{let O=await MJ(z),M=await a({question:Y,cacheSafeParams:O});if(!B.signal.aborted)if(M.response)e(M.response);else y("No response received")}catch(O){let M=O;if(!B.signal.aborted)y(f(M)||"Failed to get response")}}(),()=>{B.abort()}},L=[Y,z],J[3]=z,J[4]=Y,J[5]=w,J[6]=L;else w=J[5],L=J[6];N.useEffect(w,L);let D=Math.max(5,VJ-wJ-LJ),E;if(J[7]===Symbol.for("react.memo_cache_sentinel"))E=W(v,{color:"warning",bold:!0,children:["/btw"," "]}),J[7]=E;else E=J[7];let Q;if(J[8]!==Y)Q=W(k,{children:[E,F(v,{dimColor:!0,children:Y})]}),J[8]=Y,J[9]=Q;else Q=J[9];let U;if(J[10]!==K||J[11]!==P||J[12]!==Z)U=F(x,{ref:T,flexDirection:"column",flexGrow:1,children:K?F(v,{color:"error",children:K}):Z?F(u,{children:Z}):W(k,{children:[F($,{frame:P,messageColor:"warning"}),F(v,{color:"warning",children:"Answering..."})]})}),J[10]=K,J[11]=P,J[12]=Z,J[13]=U;else U=J[13];let I;if(J[14]!==D||J[15]!==U)I=F(k,{marginTop:1,marginLeft:2,maxHeight:D,children:U}),J[14]=D,J[15]=U,J[16]=I;else I=J[16];let H;if(J[17]!==K||J[18]!==Z)H=(Z||K)&&F(k,{marginTop:1,children:W(v,{dimColor:!0,children:[p,"/",C," to scroll · Space, Enter, or Escape to dismiss"]})}),J[17]=K,J[18]=Z,J[19]=H;else H=J[19];let q;if(J[20]!==h||J[21]!==Q||J[22]!==I||J[23]!==H)q=W(k,{flexDirection:"column",paddingLeft:2,marginTop:1,tabIndex:0,autoFocus:!0,onKeyDown:h,children:[Q,I,H]}),J[20]=h,J[21]=Q,J[22]=I,J[23]=H,J[24]=q;else q=J[24];return q}function qJ(V){return V+1}function BJ(V){let J=V.at(-1);if(J?.type==="assistant"&&J.message.stop_reason===null)return V.slice(0,-1);return V}async function MJ(V){let J=o(BJ(V.messages)),Y=l();if(Y)return{systemPrompt:Y.systemPrompt,userContext:Y.userContext,systemContext:Y.systemContext,toolUseContext:V,forkContextMessages:J};let[z,G,Z]=await Promise.all([r(V.options.tools,V.options.mainLoopModel,[],V.options.mcpClients),t(),s()]);return{systemPrompt:i(z),userContext:G,systemContext:Z,toolUseContext:V,forkContextMessages:J}}async function aJ(V,J,Y){let z=Y?.trim();if(!z)return V("Usage: /btw <your question>",{display:"system"}),null;return S((G)=>({...G,btwUseCount:G.btwUseCount+1})),F(EJ,{question:z,context:J,onDone:V})}var n,N,wJ=5,LJ=6,_=3;var PJ=XJ(()=>{KJ();WJ();vJ();ZJ();TJ();IJ();DJ();QJ();AJ();NJ();UJ();FJ();YJ();kJ();hJ();bJ();HJ();d();n=R(GJ(),1),N=R(zJ(),1)});PJ();export{aJ as call};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{CX as p,DX as f,EX as a,FX as S}from"./cli-1.1.10-0yx9c9s1.mjs";import{Lea as d,hfa as C}from"./cli-1.1.10-m0pdck7q.mjs";import"./cli-1.1.10-kdvf271d.mjs";import"./cli-1.1.10-bpcmdnpg.mjs";import"./cli-1.1.10-h0b2x5t4.mjs";import"./cli-1.1.10-dvxkr02c.mjs";import"./cli-1.1.10-nfpy32s8.mjs";import{wja as m,xja as y,yja as b}from"./cli-1.1.10-3pch2a3h.mjs";import"./cli-1.1.10-2wkvf65f.mjs";import"./cli-1.1.10-fz99ag3y.mjs";import"./cli-1.1.10-jn6w68wj.mjs";import"./cli-1.1.10-a8e8n1bk.mjs";import"./cli-1.1.10-e7wxspgz.mjs";import"./cli-1.1.10-49bvng33.mjs";import"./cli-1.1.10-f00rps59.mjs";import"./cli-1.1.10-j20txpzn.mjs";import"./cli-1.1.10-sz5x71xt.mjs";import{Ysa as g}from"./cli-1.1.10-gmf5w0a4.mjs";function R(t){let o=2166136261;for(let s=0;s<t.length;s++)o^=t.charCodeAt(s),o=Math.imul(o,16777619);return o>>>0}function r(t,o){return t[R(o)%t.length]}function M(t){return t.charAt(0).toUpperCase()+t.slice(1)}function O(){let t=f(),{bones:o}=p(`${t}:buddy`),s=r($,`${t}:prefix`),n=r(A,`${t}:suffix`),i=r(w,`${t}:personality`);return{name:`${s}${n}`,personality:`${i}.`,hatchedAt:Date.now()}}function l(t,o,s=!1){t.setAppState((n)=>({...n,companionReaction:o,companionPetAt:s?Date.now():n.companionPetAt}))}function c(t){t(`Usage: /buddy [status|mute|unmute]
|
|
2
|
+
|
|
3
|
+
Run /buddy with no args to hatch your companion the first time, then pet it on later runs.`,{display:"system"})}async function X(t,o,s){let n=s?.trim().toLowerCase()??"";if(m.includes(n)||n===""){let e=a();if(n!==""||e){if(n!=="")return c(t),null}}if(m.includes(n))return c(t),null;if(y.includes(n)||n==="status"){let e=a();if(!e)return t("No buddy hatched yet. Run /buddy to hatch one.",{display:"system"}),null;return t(`${e.name} is your ${M(e.rarity)} ${e.species}. ${e.personality}`,{display:"system"}),null}if(n==="mute"||n==="unmute"){let e=n==="mute";if(d((u)=>({...u,companionMuted:e})),e)l(o,void 0);return t(`Buddy ${e?"muted":"unmuted"}.`,{display:"system"}),null}if(n!=="")return c(t),null;let i=a();if(!i){let e=O();return d((u)=>({...u,companion:e,companionMuted:!1})),i={...p(`${f()}:buddy`).bones,...e},l(o,`${i.name} the ${i.species} has hatched.`,!0),t(`${i.name} the ${i.species} is now your buddy. Run /buddy again to pet them.`,{display:"system"}),null}let h=`${i.name} ${r(E,`${Date.now()}:${i.name}`)}`;return l(o,h,!0),t(void 0,{display:"skip"}),null}var $,A,w,E;var L=g(()=>{C();S();b();$=["Byte","Echo","Glint","Miso","Nova","Pixel","Rune","Static","Vector","Whisk"],A=["bean","bit","bud","dot","ling","loop","moss","patch","puff","spark"],w=["Curious and quietly encouraging","A patient little watcher with strong debugging instincts","Playful, observant, and suspicious of flaky tests","Calm under pressure and fond of clean diffs","A tiny terminal gremlin who likes successful builds"],E=["leans into the headpat","does a proud little bounce","emits a content beep","looks delighted","wiggles happily"]});L();export{X as call};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{Q2 as h,U2 as zz}from"./cli-1.1.10-5hrs5rqr.mjs";import"./cli-1.1.10-453rs0bh.mjs";import{M6 as m,k7 as e}from"./cli-1.1.10-yzpymdrc.mjs";import"./cli-1.1.10-syrhp8d1.mjs";import"./cli-1.1.10-dppcc1yx.mjs";import"./cli-1.1.10-910qbqn7.mjs";import"./cli-1.1.10-39crhqg8.mjs";import{hga as y,pga as s,sga as v,vga as r}from"./cli-1.1.10-m0pdck7q.mjs";import"./cli-1.1.10-kdvf271d.mjs";import"./cli-1.1.10-bpcmdnpg.mjs";import"./cli-1.1.10-h0b2x5t4.mjs";import"./cli-1.1.10-dvxkr02c.mjs";import"./cli-1.1.10-nfpy32s8.mjs";import"./cli-1.1.10-3pch2a3h.mjs";import"./cli-1.1.10-2wkvf65f.mjs";import"./cli-1.1.10-fz99ag3y.mjs";import{Mka as k,Pka as o}from"./cli-1.1.10-jn6w68wj.mjs";import"./cli-1.1.10-a8e8n1bk.mjs";import"./cli-1.1.10-e7wxspgz.mjs";import"./cli-1.1.10-49bvng33.mjs";import{kra as a,lna as b}from"./cli-1.1.10-f00rps59.mjs";import"./cli-1.1.10-j20txpzn.mjs";import"./cli-1.1.10-sz5x71xt.mjs";import"./cli-1.1.10-6m1jpn0s.mjs";import"./cli-1.1.10-rgpghq5k.mjs";import"./cli-1.1.10-2scx8n6c.mjs";import{Ysa as n}from"./cli-1.1.10-gmf5w0a4.mjs";function Nz(J){if(!J)return"unknown";return J.replace(/-\d{4,}$/,"").replace(/-latest$/,"").replace(/-preview$/,"")}function Y(J,Q){return Q.split(".").reduce((X,O)=>X!=null?X[O]:void 0,J)}async function R(J,Q,X,O){let q=Date.now(),V;try{V=await fetch(J,{method:"POST",headers:Q,body:JSON.stringify(X)})}catch(B){return{label:O,status:0,elapsed:Date.now()-q,headers:{},usage:null,responseId:null,error:B.message}}let A=Date.now()-q,U={};if(V.headers.forEach((B,w)=>{U[w]=B}),!V.ok){let B=await V.text().catch(()=>"");return{label:O,status:V.status,elapsed:A,headers:U,usage:null,responseId:null,error:B}}let L=await V.text(),$=null,T=null,_=J.endsWith("/responses");for(let B of L.split(`
|
|
2
|
+
|
|
3
|
+
`)){let w=B.split(`
|
|
4
|
+
`).map((x)=>x.trim()).filter(Boolean);if(_){let x=w.find((z)=>z.startsWith("event: ")),j=w.filter((z)=>z.startsWith("data: "));if(!x||!j.length)continue;let C=x.slice(7).trim();if(C==="response.completed"||C==="response.incomplete")try{let z=JSON.parse(j.map((W)=>W.slice(6)).join(`
|
|
5
|
+
`));$=z?.response?.usage??null,T=z?.response?.id??null}catch{}}else for(let x of w){if(!x.startsWith("data: "))continue;let j=x.slice(6).trim();if(j==="[DONE]")continue;try{let C=JSON.parse(j);if(C.usage)$=C.usage,T=C.id??null}catch{}}}return{label:O,status:V.status,elapsed:A,headers:U,usage:$,responseId:T,error:null}}function S(J){let Q=[`--- ${J.label} ---`];if(J.error)return Q.push(` ERROR (HTTP ${J.status}): ${J.error.slice(0,200)}`),Q.join(`
|
|
6
|
+
`);if(Q.push(` HTTP ${J.status} — ${J.elapsed}ms`),J.responseId)Q.push(` response.id: ${J.responseId}`);if(J.usage)Q.push(" Usage:"),Q.push(` ${JSON.stringify(J.usage,null,2).replace(/\n/g,`
|
|
7
|
+
`)}`);else Q.push(" Usage: null");for(let X of["openai-processing-ms","x-ratelimit-remaining","x-ratelimit-limit","x-ms-region","x-github-request-id","x-request-id"])if(J.headers[X])Q.push(` ${X}: ${J.headers[X]}`);return Q.join(`
|
|
8
|
+
`)}var Jz,K,M='Say "hello" and nothing else.',g=3000,jz=async(J)=>{let Q=(J??"").trim().split(/\s+/).filter(Boolean),X=Q.includes("--no-key"),q=(Q.find((N)=>!N.startsWith("--"))||void 0)??m(),V=y({model:q}),A=v(),U=A?.transport==="github_copilot";if(U)h();let L=A?.apiKey??A?.extras?.githubToken??"";if(!L)return{type:"text",value:`No API key found. Make sure you are in an active OpenAI-compatible or GitHub Copilot session.
|
|
9
|
+
For GitHub Copilot: run /provider and choose GitHub Copilot.
|
|
10
|
+
For OpenAI-compatible: configure a profile via /provider.`};let $=V.transport==="codex_responses",T=$?"/responses":"/chat/completions",_=`${V.baseUrl}${T}`,B=Nz(V.resolvedModel),w=`${b()}:${B}`,x={"Content-Type":"application/json",Authorization:`Bearer ${L}`,originator:"claudin"};if(U)Object.assign(x,Jz);let j;if($)j={model:V.resolvedModel,instructions:K,input:[{type:"message",role:"user",content:[{type:"input_text",text:M}]}],stream:!0,...X?{}:{store:!1,prompt_cache_key:w}};else j={model:V.resolvedModel,messages:[{role:"system",content:K},{role:"user",content:M}],stream:!0,stream_options:{include_usage:!0},max_tokens:20,...X?{}:{store:!1,prompt_cache_key:w}};let C=[`[cache-probe] Starting cache probe${X?" (--no-key: cache params OMITTED)":""}`,` model: ${V.resolvedModel} (family: ${B})`,` transport: ${V.transport}`,` endpoint: ${_}`,` prompt_cache_key: ${X?"NOT SENT":w}`,` store: ${X?"NOT SENT":"false"}`,` system prompt: ~${Math.round(K.length/4)} tokens`,` delay between calls: ${g}ms`].join(`
|
|
11
|
+
`);k(C);let z=await R(_,x,j,"CALL 1 — Cold (no cache)");if(k(`[cache-probe]
|
|
12
|
+
${S(z)}`),z.error)return{type:"text",value:`Cache probe failed on first call: HTTP ${z.status}
|
|
13
|
+
${z.error.slice(0,300)}
|
|
14
|
+
|
|
15
|
+
Full details in debug log.`};await new Promise((N)=>setTimeout(N,g));let W=await R(_,x,j,"CALL 2 — Warm (cache expected)");k(`[cache-probe]
|
|
16
|
+
${S(W)}`);let c=["input_tokens","output_tokens","total_tokens","prompt_tokens","completion_tokens","input_tokens_details.cached_tokens","prompt_tokens_details.cached_tokens","output_tokens_details.reasoning_tokens"],Z=["[cache-probe] COMPARISON"];Z.push(` ${"Field".padEnd(42)} ${"Call 1".padStart(8)} ${"Call 2".padStart(8)} ${"Delta".padStart(8)}`),Z.push(` ${"-".repeat(72)}`);for(let N of c){let H=Y(z.usage,N),I=Y(W.usage,N);if(H===void 0&&I===void 0)continue;let i=typeof H==="number"&&typeof I==="number"?I-H:"";Z.push(` ${N.padEnd(42)} ${String(H??"-").padStart(8)} ${String(I??"-").padStart(8)} ${String(i).padStart(8)}`)}Z.push(""),Z.push(` Latency: ${z.elapsed}ms → ${W.elapsed}ms (${W.elapsed-z.elapsed>0?"+":""}${W.elapsed-z.elapsed}ms)`);for(let N of["openai-processing-ms","x-ms-region","x-ratelimit-remaining"]){let H=z.headers[N],I=W.headers[N];if(H||I)Z.push(` ${N}: ${H??"-"} → ${I??"-"}`)}let D=Y(W.usage,"input_tokens_details.cached_tokens")??Y(W.usage,"prompt_tokens_details.cached_tokens")??0,F=z.usage?.input_tokens??z.usage?.prompt_tokens??0,P=W.usage?.input_tokens??W.usage?.prompt_tokens??0,G;if(D>0){let N=P>0?Math.round(D/P*100):"?";G=`CACHE HIT: ${D} cached tokens (${N}% of input)`}else if(F===0&&P===0)G="INCONCLUSIVE: Server returns 0 input_tokens — cannot measure";else if(W.elapsed<z.elapsed*0.6&&F>100)G=`POSSIBLE SILENT CACHING: Call 2 was ${Math.round((1-W.elapsed/z.elapsed)*100)}% faster but no cached_tokens reported`;else G="NO CACHE DETECTED";Z.push(`
|
|
17
|
+
Verdict: ${G}`);function u(N){return{input_tokens:N?.input_tokens??0,output_tokens:N?.output_tokens??0,cache_creation_input_tokens:0,cache_read_input_tokens:0}}function p(N){return{input_tokens:N?.prompt_tokens??0,output_tokens:N?.completion_tokens??0,cache_creation_input_tokens:0,cache_read_input_tokens:N?.prompt_tokens_details?.cached_tokens??0}}let f=$?u:p,d=f(z.usage),E=f(W.usage);if(Z.push(""),Z.push(` --- What main's shim reports (${$?"codexShim.makeUsage":"openaiShim.convertChunkUsage"}) ---`),Z.push(` Call 1: cache_read_input_tokens=${d.cache_read_input_tokens}`),Z.push(` Call 2: cache_read_input_tokens=${E.cache_read_input_tokens}`),$&&D>0)Z.push(` BUG: Server returned ${D} cached tokens but main's makeUsage() drops it → reports 0`);else if(!$&&E.cache_read_input_tokens>0)Z.push(" OK: Chat Completions path on main correctly reads cached_tokens");k(Z.join(`
|
|
18
|
+
`));let t=X?" (NO cache key sent)":"",l=$?"codexShim.makeUsage()":"openaiShim.convertChunkUsage()";return{type:"text",value:[`Cache Probe — ${V.resolvedModel} via ${$?"Responses API":"Chat Completions"}${t}`,"",`Call 1: ${z.elapsed}ms, input=${F}, cached=${Y(z.usage,"input_tokens_details.cached_tokens")??Y(z.usage,"prompt_tokens_details.cached_tokens")??0}`,`Call 2: ${W.elapsed}ms, input=${P}, cached=${D}`,"",G,"",`What main's ${l} reports:`,` Call 2 cache_read_input_tokens = ${E.cache_read_input_tokens}${$&&D>0?" ← BUG: server sent "+D+" but main drops it":""}`,"","Full details written to debug log."].join(`
|
|
19
|
+
`)}};var Qz=n(()=>{a();r();s();o();zz();e();Jz={"User-Agent":"GitHubCopilotChat/0.26.7","Editor-Version":"vscode/1.99.3","Editor-Plugin-Version":"copilot-chat/0.26.7","Copilot-Integration-Id":"vscode-chat"},K=["You are a coding assistant. Answer concisely.","CONTEXT: User is working on a TypeScript project with Bun runtime.",...Array.from({length:80},(J,Q)=>`Rule ${Q+1}: Follow best practices for TypeScript including strict typing, error handling, testing, and clean code. Prefer explicit types over any. Use const assertions. Await all async operations.`)].join(`
|
|
20
|
+
|
|
21
|
+
`)});Qz();export{jz as call};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{Y2 as L,Z2 as P,_2 as $,c3 as Q,d3 as U,e3 as V,f3 as j}from"./cli-1.1.10-12dzgaq4.mjs";import{Ysa as Z}from"./cli-1.1.10-gmf5w0a4.mjs";function w(k,D){let G=new Date(k.timestamp).toISOString(),B=`${G.slice(0,10)} ${G.slice(11,19)}`,I=L(k.metrics);return` #${String(D+1).padStart(3)} ${B} ${k.label.padEnd(28).slice(0,28)} ${I}`}function K(k,D){return`${k.padEnd(18)}${P(D)}`}var v=20,O=async()=>{let k=V(),D=U(),G=Q();if(k.length===0)return{type:"text",value:`Cache stats
|
|
2
|
+
No API requests yet this session.
|
|
3
|
+
Start a turn and re-run /cache-stats to see results.`};let B=k.slice(-v),I=k.length-B.length,q=["Cache stats",""];q.push(K("Current turn:",G)),q.push(K("Session total:",D)),q.push(""),q.push(`Recent requests (${B.length}${I>0?` of ${k.length}, ${I} older omitted`:""}):`),q.push(" # time model cache");for(let[J,Y]of B.entries())q.push(w(Y,k.length-B.length+J));if(B.some((J)=>!J.metrics.supported))q.push(""),q.push(" N/A rows: provider API does not expose cache usage (GitHub Copilot, Ollama)."),q.push(" The request still ran normally — only the metric is unavailable.");return{type:"text",value:q.join(`
|
|
4
|
+
`)}};var A=Z(()=>{j();$()});A();export{O as call};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Th as a,Uh as b}from"./cli-1.1.10-m86zy5vy.mjs";import"./cli-1.1.10-fkqba8ty.mjs";import"./cli-1.1.10-z0zzjeej.mjs";import"./cli-1.1.10-hk2c91wp.mjs";import"./cli-1.1.10-w7zqsk0a.mjs";import"./cli-1.1.10-tv3hs8t2.mjs";import"./cli-1.1.10-gr69gke8.mjs";import"./cli-1.1.10-k9q658g7.mjs";import"./cli-1.1.10-0v8v9gwe.mjs";import"./cli-1.1.10-gydf5ktx.mjs";import"./cli-1.1.10-58e888gh.mjs";import"./cli-1.1.10-sv5wy20e.mjs";import"./cli-1.1.10-1mh77njj.mjs";import"./cli-1.1.10-58vqqfgj.mjs";import"./cli-1.1.10-m0xgys17.mjs";import"./cli-1.1.10-6g4fntdc.mjs";import"./cli-1.1.10-t3pn4ww9.mjs";import"./cli-1.1.10-1qxr18wg.mjs";import"./cli-1.1.10-kw60xwcx.mjs";import"./cli-1.1.10-6smvkrsd.mjs";import"./cli-1.1.10-0yx9c9s1.mjs";import"./cli-1.1.10-4xztz3b9.mjs";import"./cli-1.1.10-gafedg04.mjs";import"./cli-1.1.10-qk19t6fd.mjs";import"./cli-1.1.10-jd00fn0g.mjs";import"./cli-1.1.10-msg7sda2.mjs";import"./cli-1.1.10-jfwqa1gq.mjs";import"./cli-1.1.10-x8dpgrgj.mjs";import"./cli-1.1.10-pkyv2v8k.mjs";import"./cli-1.1.10-250q8bef.mjs";import"./cli-1.1.10-5hrs5rqr.mjs";import"./cli-1.1.10-12dzgaq4.mjs";import"./cli-1.1.10-3a3dw1b0.mjs";import"./cli-1.1.10-e8zhf6q8.mjs";import"./cli-1.1.10-p28vy0yz.mjs";import"./cli-1.1.10-z0ddrtr1.mjs";import"./cli-1.1.10-ejwjw031.mjs";import"./cli-1.1.10-t8n5jx0z.mjs";import"./cli-1.1.10-c67v6p50.mjs";import"./cli-1.1.10-b0b04nbj.mjs";import"./cli-1.1.10-3vfwktcp.mjs";import"./cli-1.1.10-f7dqg4nd.mjs";import"./cli-1.1.10-453rs0bh.mjs";import"./cli-1.1.10-yzpymdrc.mjs";import"./cli-1.1.10-syrhp8d1.mjs";import"./cli-1.1.10-dppcc1yx.mjs";import"./cli-1.1.10-910qbqn7.mjs";import"./cli-1.1.10-39crhqg8.mjs";import"./cli-1.1.10-cn0a8vwn.mjs";import"./cli-1.1.10-m0pdck7q.mjs";import"./cli-1.1.10-kdvf271d.mjs";import"./cli-1.1.10-bpcmdnpg.mjs";import"./cli-1.1.10-h0b2x5t4.mjs";import"./cli-1.1.10-dvxkr02c.mjs";import"./cli-1.1.10-nfpy32s8.mjs";import"./cli-1.1.10-3pch2a3h.mjs";import"./cli-1.1.10-2wkvf65f.mjs";import"./cli-1.1.10-fz99ag3y.mjs";import"./cli-1.1.10-jn6w68wj.mjs";import"./cli-1.1.10-a8e8n1bk.mjs";import"./cli-1.1.10-e7wxspgz.mjs";import"./cli-1.1.10-49bvng33.mjs";import"./cli-1.1.10-f00rps59.mjs";import"./cli-1.1.10-j20txpzn.mjs";import"./cli-1.1.10-sz5x71xt.mjs";import"./cli-1.1.10-6m1jpn0s.mjs";import"./cli-1.1.10-rgpghq5k.mjs";import"./cli-1.1.10-2scx8n6c.mjs";import"./cli-1.1.10-gmf5w0a4.mjs";b();export{a as clearSessionCaches};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Hga as X,L$ as V,M$ as W,N$ as J,Pga as H,Vaa as k,_aa as N,nca as x,qca as A}from"./cli-1.1.10-m0pdck7q.mjs";import"./cli-1.1.10-kdvf271d.mjs";import"./cli-1.1.10-bpcmdnpg.mjs";import"./cli-1.1.10-h0b2x5t4.mjs";import"./cli-1.1.10-dvxkr02c.mjs";import"./cli-1.1.10-nfpy32s8.mjs";import"./cli-1.1.10-3pch2a3h.mjs";import"./cli-1.1.10-2wkvf65f.mjs";import"./cli-1.1.10-fz99ag3y.mjs";import"./cli-1.1.10-jn6w68wj.mjs";import"./cli-1.1.10-a8e8n1bk.mjs";import{lla as b,rla as y}from"./cli-1.1.10-e7wxspgz.mjs";import"./cli-1.1.10-49bvng33.mjs";import"./cli-1.1.10-f00rps59.mjs";import"./cli-1.1.10-j20txpzn.mjs";import"./cli-1.1.10-sz5x71xt.mjs";import"./cli-1.1.10-gmf5w0a4.mjs";A();y();N();H();J();import{readdir as L,readFile as U,stat as Z}from"fs/promises";import{homedir as _}from"os";import{join as $}from"path";async function F(){let B=W();if(!V.includes(B))throw Error(`Unsupported platform: ${B} - Claude Desktop integration only works on macOS and WSL.`);if(B==="macos")return $(_(),"Library","Application Support","Claude","claude_desktop_config.json");let K=process.env.USERPROFILE?process.env.USERPROFILE.replace(/\\/g,"/"):null;if(K){let q=`/mnt/c${K.replace(/^[A-Z]:/,"")}/AppData/Roaming/Claude/claude_desktop_config.json`;try{return await Z(q),q}catch{}}try{try{let q=await L("/mnt/c/Users",{withFileTypes:!0});for(let z of q){if(z.name==="Public"||z.name==="Default"||z.name==="Default User"||z.name==="All Users")continue;let I=$("/mnt/c/Users",z.name,"AppData","Roaming","Claude","claude_desktop_config.json");try{return await Z(I),I}catch{}}}catch{}}catch(G){X(G)}throw Error("Could not find Claude Desktop config file in Windows. Make sure Claude Desktop is installed on Windows.")}async function h(){if(!V.includes(W()))throw Error("Unsupported platform - Claude Desktop integration only works on macOS and WSL.");try{let B=await F(),K;try{K=await U(B,{encoding:"utf8"})}catch(I){if(b(I)==="ENOENT")return{};throw I}let G=k(K);if(!G||typeof G!=="object")return{};let q=G.mcpServers;if(!q||typeof q!=="object")return{};let z={};for(let[I,Q]of Object.entries(q)){if(!Q||typeof Q!=="object")continue;let Y=x().safeParse(Q);if(Y.success)z[I]=Y.data}return z}catch(B){return X(B),{}}}export{h as readClaudeDesktopMcpServers,F as getClaudeDesktopConfigPath};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$T as n,OT as a,PT as b,QT as c,RT as d,ST as e,TT as f,UT as g,VT as h,WT as i,XT as j,YT as k,ZT as l,_T as m,aU as o,bU as p,cU as q,dU as r}from"./cli-1.1.10-hk2c91wp.mjs";import"./cli-1.1.10-w7zqsk0a.mjs";import"./cli-1.1.10-tv3hs8t2.mjs";import"./cli-1.1.10-gr69gke8.mjs";import"./cli-1.1.10-k9q658g7.mjs";import"./cli-1.1.10-0v8v9gwe.mjs";import"./cli-1.1.10-gydf5ktx.mjs";import"./cli-1.1.10-58e888gh.mjs";import"./cli-1.1.10-sv5wy20e.mjs";import"./cli-1.1.10-1mh77njj.mjs";import"./cli-1.1.10-58vqqfgj.mjs";import"./cli-1.1.10-m0xgys17.mjs";import"./cli-1.1.10-6g4fntdc.mjs";import"./cli-1.1.10-t3pn4ww9.mjs";import"./cli-1.1.10-1qxr18wg.mjs";import"./cli-1.1.10-kw60xwcx.mjs";import"./cli-1.1.10-6smvkrsd.mjs";import"./cli-1.1.10-0yx9c9s1.mjs";import"./cli-1.1.10-4xztz3b9.mjs";import"./cli-1.1.10-gafedg04.mjs";import"./cli-1.1.10-qk19t6fd.mjs";import"./cli-1.1.10-jd00fn0g.mjs";import"./cli-1.1.10-msg7sda2.mjs";import"./cli-1.1.10-jfwqa1gq.mjs";import"./cli-1.1.10-x8dpgrgj.mjs";import"./cli-1.1.10-pkyv2v8k.mjs";import"./cli-1.1.10-250q8bef.mjs";import"./cli-1.1.10-5hrs5rqr.mjs";import"./cli-1.1.10-12dzgaq4.mjs";import"./cli-1.1.10-3a3dw1b0.mjs";import"./cli-1.1.10-e8zhf6q8.mjs";import"./cli-1.1.10-p28vy0yz.mjs";import"./cli-1.1.10-z0ddrtr1.mjs";import"./cli-1.1.10-ejwjw031.mjs";import"./cli-1.1.10-t8n5jx0z.mjs";import"./cli-1.1.10-c67v6p50.mjs";import"./cli-1.1.10-b0b04nbj.mjs";import"./cli-1.1.10-3vfwktcp.mjs";import"./cli-1.1.10-f7dqg4nd.mjs";import"./cli-1.1.10-453rs0bh.mjs";import"./cli-1.1.10-yzpymdrc.mjs";import"./cli-1.1.10-syrhp8d1.mjs";import"./cli-1.1.10-dppcc1yx.mjs";import"./cli-1.1.10-910qbqn7.mjs";import"./cli-1.1.10-39crhqg8.mjs";import"./cli-1.1.10-cn0a8vwn.mjs";import"./cli-1.1.10-m0pdck7q.mjs";import"./cli-1.1.10-kdvf271d.mjs";import"./cli-1.1.10-bpcmdnpg.mjs";import"./cli-1.1.10-h0b2x5t4.mjs";import"./cli-1.1.10-dvxkr02c.mjs";import"./cli-1.1.10-nfpy32s8.mjs";import"./cli-1.1.10-3pch2a3h.mjs";import"./cli-1.1.10-2wkvf65f.mjs";import"./cli-1.1.10-fz99ag3y.mjs";import"./cli-1.1.10-jn6w68wj.mjs";import"./cli-1.1.10-a8e8n1bk.mjs";import"./cli-1.1.10-e7wxspgz.mjs";import"./cli-1.1.10-49bvng33.mjs";import"./cli-1.1.10-f00rps59.mjs";import"./cli-1.1.10-j20txpzn.mjs";import"./cli-1.1.10-sz5x71xt.mjs";import"./cli-1.1.10-6m1jpn0s.mjs";import"./cli-1.1.10-rgpghq5k.mjs";import"./cli-1.1.10-2scx8n6c.mjs";import"./cli-1.1.10-gmf5w0a4.mjs";r();export{p as shouldShowClaudeMdExternalIncludesWarning,f as resetGetMemoryFilesCache,b as processMemoryFile,c as processMdRules,m as processConditionedMdRules,q as isMemoryFilePath,o as hasExternalClaudeMdIncludes,k as getMemoryFilesForNestedDirectory,d as getMemoryFiles,j as getManagedAndUserConditionalRules,g as getLargeMemoryFiles,n as getExternalClaudeMdIncludes,l as getConditionalRulesForCwdLevelDirectory,i as getClaudeMds,h as filterInjectedMemoryFiles,e as clearMemoryFileCaches,a as MAX_MEMORY_CHARACTER_COUNT};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Rh as a,Sh as l}from"./cli-1.1.10-szjm5cs0.mjs";import"./cli-1.1.10-m86zy5vy.mjs";import"./cli-1.1.10-fkqba8ty.mjs";import"./cli-1.1.10-wqc9fp4g.mjs";import"./cli-1.1.10-z0zzjeej.mjs";import"./cli-1.1.10-hk2c91wp.mjs";import"./cli-1.1.10-w7zqsk0a.mjs";import"./cli-1.1.10-tv3hs8t2.mjs";import"./cli-1.1.10-gr69gke8.mjs";import"./cli-1.1.10-k9q658g7.mjs";import"./cli-1.1.10-0v8v9gwe.mjs";import"./cli-1.1.10-gydf5ktx.mjs";import"./cli-1.1.10-58e888gh.mjs";import"./cli-1.1.10-sv5wy20e.mjs";import"./cli-1.1.10-1mh77njj.mjs";import"./cli-1.1.10-58vqqfgj.mjs";import"./cli-1.1.10-m0xgys17.mjs";import"./cli-1.1.10-6g4fntdc.mjs";import"./cli-1.1.10-t3pn4ww9.mjs";import"./cli-1.1.10-1qxr18wg.mjs";import"./cli-1.1.10-kw60xwcx.mjs";import"./cli-1.1.10-6smvkrsd.mjs";import"./cli-1.1.10-0yx9c9s1.mjs";import"./cli-1.1.10-4xztz3b9.mjs";import"./cli-1.1.10-gafedg04.mjs";import"./cli-1.1.10-qk19t6fd.mjs";import"./cli-1.1.10-jd00fn0g.mjs";import"./cli-1.1.10-msg7sda2.mjs";import"./cli-1.1.10-jfwqa1gq.mjs";import"./cli-1.1.10-x8dpgrgj.mjs";import"./cli-1.1.10-pkyv2v8k.mjs";import"./cli-1.1.10-250q8bef.mjs";import"./cli-1.1.10-5hrs5rqr.mjs";import"./cli-1.1.10-12dzgaq4.mjs";import"./cli-1.1.10-3a3dw1b0.mjs";import"./cli-1.1.10-e8zhf6q8.mjs";import"./cli-1.1.10-p28vy0yz.mjs";import"./cli-1.1.10-z0ddrtr1.mjs";import"./cli-1.1.10-ejwjw031.mjs";import"./cli-1.1.10-t8n5jx0z.mjs";import"./cli-1.1.10-c67v6p50.mjs";import"./cli-1.1.10-b0b04nbj.mjs";import"./cli-1.1.10-3vfwktcp.mjs";import"./cli-1.1.10-f7dqg4nd.mjs";import"./cli-1.1.10-453rs0bh.mjs";import"./cli-1.1.10-yzpymdrc.mjs";import"./cli-1.1.10-syrhp8d1.mjs";import"./cli-1.1.10-dppcc1yx.mjs";import"./cli-1.1.10-910qbqn7.mjs";import"./cli-1.1.10-39crhqg8.mjs";import"./cli-1.1.10-cn0a8vwn.mjs";import"./cli-1.1.10-m0pdck7q.mjs";import"./cli-1.1.10-kdvf271d.mjs";import"./cli-1.1.10-bpcmdnpg.mjs";import"./cli-1.1.10-h0b2x5t4.mjs";import"./cli-1.1.10-dvxkr02c.mjs";import"./cli-1.1.10-nfpy32s8.mjs";import"./cli-1.1.10-3pch2a3h.mjs";import"./cli-1.1.10-2wkvf65f.mjs";import"./cli-1.1.10-fz99ag3y.mjs";import"./cli-1.1.10-jn6w68wj.mjs";import"./cli-1.1.10-a8e8n1bk.mjs";import"./cli-1.1.10-e7wxspgz.mjs";import"./cli-1.1.10-49bvng33.mjs";import"./cli-1.1.10-f00rps59.mjs";import"./cli-1.1.10-j20txpzn.mjs";import"./cli-1.1.10-sz5x71xt.mjs";import"./cli-1.1.10-6m1jpn0s.mjs";import"./cli-1.1.10-rgpghq5k.mjs";import"./cli-1.1.10-2scx8n6c.mjs";import{Ysa as t}from"./cli-1.1.10-gmf5w0a4.mjs";var n=async(e,o)=>{return await a(o),{type:"text",value:""}};var m=t(()=>{l()});m();export{n as call};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s2 as a,t2 as b,u2 as c}from"./cli-1.1.10-x8dpgrgj.mjs";import"./cli-1.1.10-gmf5w0a4.mjs";c();export{a as getClearTerminalSequence,b as clearTerminal};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{$o as Zq,Ao as m,Ap as l,Bo as Xq,Cp as Rq,Dp as i,Ep as Aq,Wo as S,zo as E}from"./cli-1.1.10-hk2c91wp.mjs";import{Aca as n,Fca as vq,Hga as D,Pga as Qq,uca as u,wca as g,zca as h}from"./cli-1.1.10-m0pdck7q.mjs";import{Oia as d,Qia as Uq}from"./cli-1.1.10-nfpy32s8.mjs";import{Cka as y,Mka as V,Pka as e,pka as P,qka as v,uka as f,yka as M}from"./cli-1.1.10-jn6w68wj.mjs";import{kla as W,lla as O,mla as C,rla as _}from"./cli-1.1.10-e7wxspgz.mjs";import{esa as p,wsa as qq}from"./cli-1.1.10-6m1jpn0s.mjs";import{Ysa as N}from"./cli-1.1.10-gmf5w0a4.mjs";import{homedir as a}from"os";import{resolve as t}from"path";async function Fq(Z){let q=Z.trim(),$=M(),Q=q.match(/^([a-zA-Z0-9._-]+@[^:]+:.+?(?:\.git)?)(#(.+))?$/);if(Q?.[1]){let z=Q[1],G=Q[3];return G?{source:"git",url:z,ref:G}:{source:"git",url:z}}if(q.startsWith("http://")||q.startsWith("https://")){let z=q.match(/^([^#]+)(#(.+))?$/),G=z?.[1]||q,X=z?.[3];if(G.endsWith(".git")||G.includes("/_git/"))return X?{source:"git",url:G,ref:X}:{source:"git",url:G};let Y;try{Y=new URL(G)}catch(J){return{source:"url",url:G}}if(Y.hostname==="github.com"||Y.hostname==="www.github.com"){if(Y.pathname.match(/^\/([^/]+\/[^/]+?)(\/|\.git|$)/)?.[1]){let K=G.endsWith(".git")?G:`${G}.git`;return X?{source:"git",url:K,ref:X}:{source:"git",url:K}}}return{source:"url",url:G}}let x=process.platform==="win32"&&(q.startsWith(".\\")||q.startsWith("..\\")||/^[a-zA-Z]:[/\\]/.test(q));if(q.startsWith("./")||q.startsWith("../")||q.startsWith("/")||q.startsWith("~")||x){let z=t(q.startsWith("~")?q.replace(/^~/,a()):q),G;try{G=await $.stat(z)}catch(X){let Y=O(X);return{error:Y==="ENOENT"?`Path does not exist: ${z}`:`Cannot access path: ${z} (${Y??X})`}}if(G.isFile())if(z.endsWith(".json"))return{source:"file",path:z};else return{error:`File path must point to a .json file (marketplace.json), but got: ${z}`};else if(G.isDirectory())return{source:"directory",path:z};else return{error:`Path is neither a file nor a directory: ${z}`}}if(q.includes("/")&&!q.startsWith("@")){if(q.includes(":"))return null;let z=q.match(/^([^#@]+)(?:[#@](.+))?$/),G=z?.[1]||q,X=z?.[2];return X?{source:"github",repo:G,ref:X}:{source:"github",repo:G}}return null}var r=N(()=>{_();y()});import{randomBytes as $q}from"crypto";import{readFile as Bq,rename as Gq,unlink as Yq,writeFile as Jq}from"fs/promises";import{join as Kq}from"path";function c(){return Kq(S(),xq)}async function Hq(){let Z=c();try{let q=await Bq(Z,{encoding:"utf-8"}),$=v(q);if(typeof $!=="object"||$===null||!("version"in $)||!("fetchedAt"in $)||!("counts"in $))return V("Install counts cache has invalid structure"),null;let Q=$;if(Q.version!==L)return V(`Install counts cache version mismatch (got ${Q.version}, expected ${L})`),null;if(typeof Q.fetchedAt!=="string"||!Array.isArray(Q.counts))return V("Install counts cache has invalid structure"),null;let B=new Date(Q.fetchedAt).getTime();if(Number.isNaN(B))return V("Install counts cache has invalid fetchedAt timestamp"),null;if(!Q.counts.every((G)=>typeof G==="object"&&G!==null&&typeof G.plugin==="string"&&typeof G.unique_installs==="number"))return V("Install counts cache has malformed entries"),null;if(Date.now()-B>zq)return V("Install counts cache is stale (>24h old)"),null;return{version:Q.version,fetchedAt:Q.fetchedAt,counts:Q.counts}}catch(q){if(O(q)!=="ENOENT")V(`Failed to load install counts cache: ${W(q)}`);return null}}async function Vq(Z){let q=c(),$=`${q}.${$q(8).toString("hex")}.tmp`;try{let Q=S();await M().mkdir(Q);let B=P(Z,null,2);await Jq($,B,{encoding:"utf-8",mode:384}),await Gq($,q),V("Install counts cache saved successfully")}catch(Q){D(Q);try{await Yq($)}catch{}}}async function Wq(){V(`Fetching install counts from ${I}`);let Z=performance.now();try{let q=await p.get(I,{timeout:1e4});if(!q.data?.plugins||!Array.isArray(q.data.plugins))throw Error("Invalid response format from install counts API");return E("install_counts",I,"success",performance.now()-Z),q.data.plugins}catch(q){throw E("install_counts",I,"failure",performance.now()-Z,m(q)),q}}async function nq(){let Z=await Hq();if(Z){V("Using cached install counts"),E("install_counts",I,"cache_hit",0);let q=new Map;for(let $ of Z.counts)q.set($.plugin,$.unique_installs);return q}try{let q=await Wq(),$={version:L,fetchedAt:new Date().toISOString(),counts:q};await Vq($);let Q=new Map;for(let B of q)Q.set(B.plugin,B.unique_installs);return Q}catch(q){return D(q),V(`Failed to fetch install counts: ${W(q)}`),null}}function lq(Z){if(Z<1000)return String(Z);if(Z<1e6){let B=(Z/1000).toFixed(1);return B.endsWith(".0")?`${B.slice(0,-2)}K`:`${B}K`}let $=(Z/1e6).toFixed(1);return $.endsWith(".0")?`${$.slice(0,-2)}M`:`${$}M`}var L=1,xq="install-counts-cache.json",I="https://raw.githubusercontent.com/anthropics/claude-plugins-official/refs/heads/stats/stats/plugin-installs.json",zq=86400000;var Oq=N(()=>{qq();e();_();y();Qq();f();Xq();Zq()});import{readdir as Iq,readFile as A,stat as wq}from"fs/promises";import*as H from"path";function Eq(Z){let q=H.basename(Z),$=H.basename(H.dirname(Z));if(q==="plugin.json")return"plugin";if(q==="marketplace.json")return"marketplace";if($===".claude-plugin")return"plugin";return"unknown"}function F(Z){return Z.issues.map((q)=>({path:q.path.join(".")||"root",message:q.message,code:q.code}))}function w(Z,q,$,Q){if(Z.includes(".."))$.push({path:q,message:Q?`Path contains "..": ${Z}. ${Q}`:`Path contains ".." which could be a path traversal attempt: ${Z}`})}function Nq(Z){let q=Z.replace(/^(\.\.\/)+/,"");return`Plugin source paths are resolved relative to the marketplace root (the directory containing .claude-plugin/), not relative to marketplace.json. Use "${q!==Z?`./${q}`:"./plugins/my-plugin"}" instead of "${Z}".`}async function j(Z){let q=[],$=[],Q=H.resolve(Z),B;try{B=await A(Q,{encoding:"utf-8"})}catch(X){let Y=O(X),J;if(Y==="ENOENT")J=`File not found: ${Q}`;else if(Y==="EISDIR")J=`Path is not a file: ${Q}`;else J=`Failed to read file: ${W(X)}`;return{success:!1,errors:[{path:"file",message:J,code:Y}],warnings:[],filePath:Q,fileType:"plugin"}}let x;try{x=v(B)}catch(X){return{success:!1,errors:[{path:"json",message:`Invalid JSON syntax: ${W(X)}`}],warnings:[],filePath:Q,fileType:"plugin"}}if(x&&typeof x==="object"){let X=x;if(X.commands)(Array.isArray(X.commands)?X.commands:[X.commands]).forEach((J,K)=>{if(typeof J==="string")w(J,`commands[${K}]`,q)});if(X.agents)(Array.isArray(X.agents)?X.agents:[X.agents]).forEach((J,K)=>{if(typeof J==="string")w(J,`agents[${K}]`,q)});if(X.skills)(Array.isArray(X.skills)?X.skills:[X.skills]).forEach((J,K)=>{if(typeof J==="string")w(J,`skills[${K}]`,q)})}let z=x;if(typeof x==="object"&&x!==null){let X=x,Y=Object.keys(X).filter((J)=>Mq.has(J));if(Y.length>0){let J={...X};for(let K of Y)delete J[K],$.push({path:K,message:`Field '${K}' belongs in the marketplace entry (marketplace.json), `+"not plugin.json. It's harmless here but unused — Claude Code "+"ignores it at load time."});z=J}}let G=g().strict().safeParse(z);if(!G.success)q.push(...F(G.error));if(G.success){let X=G.data;if(!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(X.name))$.push({path:"name",message:`Plugin name "${X.name}" is not kebab-case. Claude Code accepts it, but the Claude.ai marketplace sync requires kebab-case (lowercase letters, digits, and hyphens only, e.g., "my-plugin").`});if(!X.version)$.push({path:"version",message:'No version specified. Consider adding a version following semver (e.g., "1.0.0")'});if(!X.description)$.push({path:"description",message:"No description provided. Adding a description helps users understand what your plugin does"});if(!X.author)$.push({path:"author",message:"No author information provided. Consider adding author details for plugin attribution"})}return{success:q.length===0,errors:q,warnings:$,filePath:Q,fileType:"plugin"}}async function k(Z){let q=[],$=[],Q=H.resolve(Z),B;try{B=await A(Q,{encoding:"utf-8"})}catch(X){let Y=O(X),J;if(Y==="ENOENT")J=`File not found: ${Q}`;else if(Y==="EISDIR")J=`Path is not a file: ${Q}`;else J=`Failed to read file: ${W(X)}`;return{success:!1,errors:[{path:"file",message:J,code:Y}],warnings:[],filePath:Q,fileType:"marketplace"}}let x;try{x=v(B)}catch(X){return{success:!1,errors:[{path:"json",message:`Invalid JSON syntax: ${W(X)}`}],warnings:[],filePath:Q,fileType:"marketplace"}}if(x&&typeof x==="object"){let X=x;if(Array.isArray(X.plugins))X.plugins.forEach((Y,J)=>{if(Y&&typeof Y==="object"&&"source"in Y){let K=Y.source;if(typeof K==="string")w(K,`plugins[${J}].source`,q,Nq(K));if(K&&typeof K==="object"&&"path"in K&&typeof K.path==="string")w(K.path,`plugins[${J}].source.path`,q)}})}let G=n().extend({plugins:d.array(h().strict())}).strict().safeParse(x);if(!G.success)q.push(...F(G.error));if(G.success){let X=G.data;if(!X.plugins||X.plugins.length===0)$.push({path:"plugins",message:"Marketplace has no plugins defined"});if(X.plugins){X.plugins.forEach((K,U)=>{if(X.plugins.filter((R)=>R.name===K.name).length>1)q.push({path:`plugins[${U}].name`,message:`Duplicate plugin name "${K.name}" found in marketplace`})});let Y=H.dirname(Q),J=H.basename(Y)===".claude-plugin"?H.dirname(Y):Y;for(let[K,U]of X.plugins.entries()){if(!U.version||typeof U.source!=="string"||!U.source.startsWith("./"))continue;let T=H.join(J,U.source,".claude-plugin","plugin.json"),R;try{let s=await A(T,{encoding:"utf-8"}),b=v(s);if(typeof b.version==="string")R=b.version}catch{continue}if(R&&R!==U.version)$.push({path:`plugins[${K}].version`,message:`Entry declares version "${U.version}" but ${U.source}/.claude-plugin/plugin.json says "${R}". `+"At install time, plugin.json wins (calculatePluginVersion precedence) — the entry version is silently ignored. "+`Update this entry to "${R}" to match.`})}}if(!X.metadata?.description)$.push({path:"metadata.description",message:"No marketplace description provided. Adding a description helps users understand what this marketplace offers"})}return{success:q.length===0,errors:q,warnings:$,filePath:Q,fileType:"marketplace"}}function _q(Z,q,$){let Q=[],B=[],x=q.match(i);if(!x)return B.push({path:"frontmatter",message:"No frontmatter block found. Add YAML frontmatter between --- delimiters at the top of the file to set description and other metadata."}),{success:!0,errors:Q,warnings:B,filePath:Z,fileType:$};let z=x[1]||"",G;try{G=l(z)}catch(K){return Q.push({path:"frontmatter",message:`YAML frontmatter failed to parse: ${W(K)}. At runtime this ${$} loads with empty metadata (all frontmatter fields silently dropped).`}),{success:!1,errors:Q,warnings:B,filePath:Z,fileType:$}}if(G===null||typeof G!=="object"||Array.isArray(G))return Q.push({path:"frontmatter",message:`Frontmatter must be a YAML mapping (key: value pairs), got ${Array.isArray(G)?"an array":G===null?"null":typeof G}.`}),{success:!1,errors:Q,warnings:B,filePath:Z,fileType:$};let X=G;if(X.description!==void 0){let K=X.description;if(typeof K!=="string"&&typeof K!=="number"&&typeof K!=="boolean"&&K!==null)Q.push({path:"description",message:`description must be a string, got ${Array.isArray(K)?"array":typeof K}. At runtime this value is dropped.`})}else B.push({path:"description",message:`No description in frontmatter. A description helps users and Claude understand when to use this ${$}.`});if(X.name!==void 0&&X.name!==null&&typeof X.name!=="string")Q.push({path:"name",message:`name must be a string, got ${typeof X.name}.`});let Y=X["allowed-tools"];if(Y!==void 0&&Y!==null){if(typeof Y!=="string"&&!Array.isArray(Y))Q.push({path:"allowed-tools",message:`allowed-tools must be a string or array of strings, got ${typeof Y}.`});else if(Array.isArray(Y)&&Y.some((K)=>typeof K!=="string"))Q.push({path:"allowed-tools",message:"allowed-tools array must contain only strings."})}let J=X.shell;if(J!==void 0&&J!==null)if(typeof J!=="string")Q.push({path:"shell",message:`shell must be a string, got ${typeof J}.`});else{let K=J.trim().toLowerCase();if(K!=="bash"&&K!=="powershell")Q.push({path:"shell",message:`shell must be 'bash' or 'powershell', got '${J}'.`})}return{success:Q.length===0,errors:Q,warnings:B,filePath:Z,fileType:$}}async function Lq(Z){let q;try{q=await A(Z,{encoding:"utf-8"})}catch(B){if(O(B)==="ENOENT")return{success:!0,errors:[],warnings:[],filePath:Z,fileType:"hooks"};return{success:!1,errors:[{path:"file",message:`Failed to read file: ${W(B)}`}],warnings:[],filePath:Z,fileType:"hooks"}}let $;try{$=v(q)}catch(B){return{success:!1,errors:[{path:"json",message:`Invalid JSON syntax: ${W(B)}. At runtime this breaks the entire plugin load.`}],warnings:[],filePath:Z,fileType:"hooks"}}let Q=u().safeParse($);if(!Q.success)return{success:!1,errors:F(Q.error),warnings:[],filePath:Z,fileType:"hooks"};return{success:!0,errors:[],warnings:[],filePath:Z,fileType:"hooks"}}async function o(Z,q){let $;try{$=await Iq(Z,{withFileTypes:!0})}catch(B){let x=O(B);if(x==="ENOENT"||x==="ENOTDIR")return[];throw B}if(q)return $.filter((B)=>B.isDirectory()).map((B)=>H.join(Z,B.name,"SKILL.md"));let Q=[];for(let B of $){let x=H.join(Z,B.name);if(B.isDirectory())Q.push(...await o(x,!1));else if(B.isFile()&&B.name.toLowerCase().endsWith(".md"))Q.push(x)}return Q}async function QQ(Z){let q=[],$=[["skill",H.join(Z,"skills")],["agent",H.join(Z,"agents")],["command",H.join(Z,"commands")]];for(let[B,x]of $){let z=await o(x,B==="skill");for(let G of z){let X;try{X=await A(G,{encoding:"utf-8"})}catch(J){if(C(J))continue;q.push({success:!1,errors:[{path:"file",message:`Failed to read: ${W(J)}`}],warnings:[],filePath:G,fileType:B});continue}let Y=_q(G,X,B);if(Y.errors.length>0||Y.warnings.length>0)q.push(Y)}}let Q=await Lq(H.join(Z,"hooks","hooks.json"));if(Q.errors.length>0||Q.warnings.length>0)q.push(Q);return q}async function XQ(Z){let q=H.resolve(Z),$=null;try{$=await wq(q)}catch(B){if(!C(B))throw B}if($?.isDirectory()){let B=H.join(q,".claude-plugin","marketplace.json"),x=await k(B);if(x.errors[0]?.code!=="ENOENT")return x;let z=H.join(q,".claude-plugin","plugin.json"),G=await j(z);if(G.errors[0]?.code!=="ENOENT")return G;return{success:!1,errors:[{path:"directory",message:"No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json"}],warnings:[],filePath:q,fileType:"plugin"}}switch(Eq(Z)){case"plugin":return j(Z);case"marketplace":return k(Z);case"unknown":{try{let B=await A(q,{encoding:"utf-8"}),x=v(B);if(Array.isArray(x.plugins))return k(Z)}catch(B){if(O(B)==="ENOENT")return{success:!1,errors:[{path:"file",message:`File not found: ${q}`}],warnings:[],filePath:q,fileType:"plugin"}}return j(Z)}}}var Mq;var Dq=N(()=>{Uq();_();Aq();f();Rq();vq();Mq=new Set(["category","source","tags","strict","id"])});
|
|
2
|
+
export{Fq as id,r as jd,nq as kd,lq as ld,Oq as md,QQ as nd,XQ as od,Dq as pd};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{cd as z,dd as K}from"./cli-1.1.10-a0ypafa6.mjs";import{FK as w,HK as J}from"./cli-1.1.10-hk2c91wp.mjs";import{l4 as H}from"./cli-1.1.10-c67v6p50.mjs";import{Usa as E,Ysa as G}from"./cli-1.1.10-gmf5w0a4.mjs";function V(q,v,k){return B.useMemo(()=>{let D=w(k,v);return z(q,D,k.mode)},[q,v,k,!1,!1])}var B;var N=G(()=>{J();K();B=E(H(),1)});
|
|
2
|
+
export{V as _c,N as $c};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Xa as c}from"./cli-1.1.10-6q7mx8f2.mjs";import{vd as v,zd as Wq}from"./cli-1.1.10-mdkc2azc.mjs";import{Dd as I,Ed as S,Fd as $,Gd as Xq}from"./cli-1.1.10-f2zv6ggd.mjs";import{$x as L,AF as Qq,CM as P,FM as Vq,ay as h,cy as qq,fp as C,hD as M,hp as r,kL as f,lL as Tq,nD as Jq,sz as A,tz as Bq,xu as N,xz as _,yu as e,zF as E,zz as Gq}from"./cli-1.1.10-hk2c91wp.mjs";import{l4 as s}from"./cli-1.1.10-c67v6p50.mjs";import{H_ as D,Hga as F,J_ as n,Pga as a,paa as w,raa as t}from"./cli-1.1.10-m0pdck7q.mjs";import{Jja as x,Mja as d}from"./cli-1.1.10-fz99ag3y.mjs";import{Mka as j,Pka as o}from"./cli-1.1.10-jn6w68wj.mjs";import{jla as y,rla as l}from"./cli-1.1.10-e7wxspgz.mjs";import{Usa as p}from"./cli-1.1.10-gmf5w0a4.mjs";Qq();d();Gq();qq();Xq();t();o();n();l();a();e();Tq();Jq();Bq();r();var V=p(s(),1);Wq();Vq();function hq({enabled:W=!0}={}){let b=V.useSyncExternalStore(S,I,I),H=h(),O=L((J)=>J.plugins.needsRefresh),{addNotification:z}=E(),R=V.useCallback(async()=>{try{let{enabled:J,disabled:T,errors:Q}=await P();await c();let X=v();if(Object.keys(X).length>0)z({key:"plugin-delisted-flagged",text:"Plugins flagged. Check /plugins",color:"warning",priority:"high"});let Y=[],Z=[];try{Y=await f(),$(Y)}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{Z=await N()}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 M()}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 u=(await Promise.all(J.map(async(q)=>{if(q.mcpServers)return Object.keys(q.mcpServers).length;let B=await C(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 A(q,Q);if(B)q.lspServers=B;return B?Object.keys(B).length:0}))).reduce((q,B)=>q+B,0);_(),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 i=G.type==="generic-error"?`generic-error:${G.source}:${G.error}`:`${G.type}:${G.source}`;return!K.has(i)}),...Q];return{...q,plugins:{...q.plugins,enabled:J,disabled:T,commands:[],errors:U}}}),j(`Loaded plugins - Enabled: ${J.length}, Disabled: ${T.length}, Commands: ${Y.length}, Agents: ${Z.length}, Errors: ${Q.length}`);let g=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:T.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:Y.length,agent_count:Z.length,hook_count:g,mcp_count:u,lsp_count:m}}catch(J){let T=y(J);return F(T),j(`Error loading plugins: ${J}`),$([]),H((Q)=>{let X=Q.plugins.errors.filter((Z)=>Z.source==="lsp-manager"||Z.source.startsWith("plugin:")),Y={type:"generic-error",source:"plugin-system",error:T.message};return{...Q,plugins:{...Q.plugins,enabled:[],disabled:[],commands:[],errors:[...X,Y]}}}),{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 V.useEffect(()=>{if(!W)return;R().then((J)=>{let{ant_enabled_names:T,...Q}=J,X={...Q,has_custom_plugin_cache_dir:!!process.env.CLAUDE_CODE_PLUGIN_CACHE_DIR};x("tengu_plugins_loaded",{...X,...T!==void 0&&{enabled_names:T}}),D("info","tengu_plugins_loaded",X)})},[R,W]),V.useEffect(()=>{if(W)return;$([])},[W]),V.useEffect(()=>{if(!W||!O)return;z({key:"plugin-reload-pending",text:"Plugins changed. Run /reload-plugins to activate.",color:"suggestion",priority:"low"})},[W,O,z]),W?b:[]}
|
|
2
|
+
export{hq as Wa};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{oR as x,rR as B}from"./cli-1.1.10-hk2c91wp.mjs";import{Ysa as z}from"./cli-1.1.10-gmf5w0a4.mjs";function H(q){if(!q)return 0;return q.activeAgents.filter((b)=>b.source!=="built-in").reduce((b,w)=>{let y=`${w.agentType}: ${w.whenToUse}`;return b+x(y)},0)}var G=15000;var A=z(()=>{B()});
|
|
2
|
+
export{G as tg,H as ug,A as vg};
|