jialing-code 1.3.11 → 1.3.13

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.
Files changed (178) hide show
  1. package/dist/{chunk-aewcpnrk.js → chunk-011bxr9k.js} +1 -1
  2. package/dist/{chunk-cwqa1yxt.js → chunk-06dn1fvs.js} +2 -2
  3. package/dist/{chunk-49daydmf.js → chunk-0dtsa6m3.js} +3 -3
  4. package/dist/{chunk-nc9j5k7t.js → chunk-0fnxvz21.js} +7 -7
  5. package/dist/{chunk-7d6re3rq.js → chunk-118xw7hm.js} +3 -3
  6. package/dist/{chunk-cqk4q5xm.js → chunk-13cehrjn.js} +2 -2
  7. package/dist/{chunk-jvb1dp1x.js → chunk-13y9ecwm.js} +3 -3
  8. package/dist/{chunk-k36x51dg.js → chunk-15g90nqt.js} +2 -2
  9. package/dist/{chunk-vp0ha2ab.js → chunk-16fn8zd7.js} +2 -2
  10. package/dist/{chunk-39bfwb6r.js → chunk-1pkwgtfp.js} +1 -1
  11. package/dist/{chunk-0sfffwp9.js → chunk-1tj9htbr.js} +5 -5
  12. package/dist/{chunk-6jxq19jb.js → chunk-222n4xkb.js} +3 -3
  13. package/dist/{chunk-nzs9y358.js → chunk-24exx6rv.js} +1 -1
  14. package/dist/{chunk-zb1jnnp7.js → chunk-2fe9pnen.js} +14 -14
  15. package/dist/{chunk-7gr27vy7.js → chunk-2q4t4328.js} +2 -2
  16. package/dist/{chunk-ge1zp92c.js → chunk-329mh5pv.js} +2 -2
  17. package/dist/{chunk-582kxtbh.js → chunk-38245d6z.js} +2 -2
  18. package/dist/{chunk-t89d72xr.js → chunk-3p0p0t1v.js} +4 -4
  19. package/dist/{chunk-tvyy122a.js → chunk-3y936q1b.js} +1 -1
  20. package/dist/{chunk-c788qr3y.js → chunk-4b48nb2h.js} +2 -2
  21. package/dist/{chunk-j9pwjndq.js → chunk-4cr13vvg.js} +3 -3
  22. package/dist/{chunk-sc0fas5c.js → chunk-4hczn9gb.js} +1 -1
  23. package/dist/{chunk-qc5njx8n.js → chunk-4z51gkdb.js} +3 -3
  24. package/dist/{chunk-86xtb4mk.js → chunk-50k29q9z.js} +2 -2
  25. package/dist/{chunk-hkanah32.js → chunk-51yaa5kw.js} +3 -3
  26. package/dist/{chunk-k9hjx8yf.js → chunk-5aheq99f.js} +4 -4
  27. package/dist/{chunk-ty36dqav.js → chunk-5aqqvzgx.js} +2 -2
  28. package/dist/{chunk-sbfst01b.js → chunk-5hem79am.js} +1 -1
  29. package/dist/{chunk-k9w38qcg.js → chunk-5j45m4nc.js} +1 -1
  30. package/dist/{chunk-eh8xx983.js → chunk-5pvx58q1.js} +1 -1
  31. package/dist/{chunk-c250dpb7.js → chunk-60cbnfj3.js} +4 -4
  32. package/dist/{chunk-q4hpfn2j.js → chunk-628fz2v4.js} +2 -2
  33. package/dist/{chunk-tz8nchke.js → chunk-65ds9qpz.js} +1 -1
  34. package/dist/{chunk-3t42tbak.js → chunk-670bx2s5.js} +7 -7
  35. package/dist/{chunk-yxjmt7rs.js → chunk-671dhh2p.js} +4 -4
  36. package/dist/{chunk-gp47dsyt.js → chunk-6eqeesya.js} +2 -2
  37. package/dist/{chunk-ex2hdehn.js → chunk-6ew7qhdb.js} +3 -3
  38. package/dist/{chunk-bx34c1zb.js → chunk-6fw4ft45.js} +3 -3
  39. package/dist/{chunk-e0gs2a7d.js → chunk-6hykjey2.js} +2 -2
  40. package/dist/{chunk-x4zrb9nt.js → chunk-6kp6wwg0.js} +1 -1
  41. package/dist/{chunk-k020eh12.js → chunk-6tv5tanf.js} +3 -3
  42. package/dist/{chunk-ar2sxpqw.js → chunk-6z1g5d64.js} +5 -5
  43. package/dist/{chunk-33j400j8.js → chunk-75hydyks.js} +2 -2
  44. package/dist/{chunk-aapbr7wd.js → chunk-7j91yt2c.js} +4 -4
  45. package/dist/{chunk-r3cjy0fb.js → chunk-7jr5vbt4.js} +5 -5
  46. package/dist/{chunk-vzy6nyzm.js → chunk-7q853vs7.js} +1 -1
  47. package/dist/{chunk-jq3907bq.js → chunk-7tgkjp52.js} +2 -2
  48. package/dist/{chunk-ar4ktaxt.js → chunk-7w216rr7.js} +1 -1
  49. package/dist/{chunk-b88f0ex0.js → chunk-8a3z02p0.js} +1 -1
  50. package/dist/{chunk-hvv3a5f0.js → chunk-8ehhs1ff.js} +2 -2
  51. package/dist/{chunk-0nrwm4nd.js → chunk-8radcn25.js} +1 -1
  52. package/dist/{chunk-4n3a7zns.js → chunk-8rh1ep9e.js} +2 -2
  53. package/dist/{chunk-46vtn4y1.js → chunk-9bj8e8ep.js} +7 -7
  54. package/dist/{chunk-mvn83r78.js → chunk-9d6x2mkv.js} +1 -1
  55. package/dist/{chunk-5ch3c353.js → chunk-9gkbgyvf.js} +2 -2
  56. package/dist/{chunk-n83v85hb.js → chunk-9ngfca0x.js} +44 -44
  57. package/dist/{chunk-78dfxhwg.js → chunk-9ppg5w7f.js} +1 -1
  58. package/dist/{chunk-e20sn529.js → chunk-9r0tb8zs.js} +2 -2
  59. package/dist/{chunk-wpcm9hv3.js → chunk-a4tem7a6.js} +2 -2
  60. package/dist/{chunk-9c3hmh6k.js → chunk-a7e608yv.js} +6 -6
  61. package/dist/{chunk-m3gybbxf.js → chunk-a7gfcd42.js} +3 -3
  62. package/dist/{chunk-rhkdwnq9.js → chunk-ak77exrf.js} +1 -1
  63. package/dist/{chunk-fcx7m6eq.js → chunk-aq8pjv1q.js} +1 -1
  64. package/dist/{chunk-ytv6hwt0.js → chunk-av7arfp8.js} +2 -2
  65. package/dist/{chunk-08f7g44v.js → chunk-aw6qjjtt.js} +8 -8
  66. package/dist/{chunk-8jjjpyn4.js → chunk-az2p2d49.js} +1 -1
  67. package/dist/{chunk-m6zfat3g.js → chunk-b56x0yzk.js} +58 -58
  68. package/dist/{chunk-fn430z5z.js → chunk-b5dy49sm.js} +1 -1
  69. package/dist/{chunk-b2b1fr8t.js → chunk-b65b0g8q.js} +7 -7
  70. package/dist/{chunk-vyry5ac1.js → chunk-b9t4aexv.js} +2 -2
  71. package/dist/{chunk-7av8kdb3.js → chunk-baxq98gh.js} +5 -5
  72. package/dist/{chunk-g88tmqdn.js → chunk-bm4m4jby.js} +5 -5
  73. package/dist/{chunk-a4rm38km.js → chunk-bn553s9m.js} +3 -3
  74. package/dist/{chunk-5b4e5sp8.js → chunk-bt4eshmz.js} +2 -2
  75. package/dist/{chunk-n34tvtsv.js → chunk-c482f0mc.js} +1 -1
  76. package/dist/{chunk-gkkw8pwq.js → chunk-dese4cwx.js} +2 -2
  77. package/dist/{chunk-c556rt3q.js → chunk-dg5z9vnd.js} +6 -6
  78. package/dist/{chunk-psfw6zfd.js → chunk-dgxacvyz.js} +2 -2
  79. package/dist/{chunk-bne21p5g.js → chunk-djf4b6f2.js} +2 -2
  80. package/dist/{chunk-2j5rh25t.js → chunk-ds0v65bf.js} +4 -4
  81. package/dist/{chunk-jfee6dt7.js → chunk-e1ch5bng.js} +2 -2
  82. package/dist/{chunk-75670gkp.js → chunk-e1vxrqre.js} +6 -6
  83. package/dist/{chunk-3n1npe6q.js → chunk-e4njfgzk.js} +3 -3
  84. package/dist/{chunk-2v372emv.js → chunk-ea18k33y.js} +5 -5
  85. package/dist/{chunk-2mrdn25v.js → chunk-ecneqc00.js} +3 -3
  86. package/dist/{chunk-erhdecnt.js → chunk-eq9k21hp.js} +3 -3
  87. package/dist/{chunk-2bh2ha9e.js → chunk-f5cexbgp.js} +1 -1
  88. package/dist/{chunk-y6b19vda.js → chunk-fe3e6bbc.js} +2 -2
  89. package/dist/{chunk-6y38cw18.js → chunk-fpg8sa6m.js} +1 -1
  90. package/dist/{chunk-gby1m1pm.js → chunk-fqv7v32r.js} +3 -3
  91. package/dist/{chunk-ktkhm6h0.js → chunk-fxtdzwbt.js} +7 -7
  92. package/dist/{chunk-ztjf67xg.js → chunk-ga65tbyh.js} +2 -2
  93. package/dist/{chunk-ewhq93g1.js → chunk-gffh30n4.js} +22 -22
  94. package/dist/{chunk-k2vhyqr8.js → chunk-gke273nf.js} +1 -1
  95. package/dist/{chunk-15cnvrf3.js → chunk-h8mcx323.js} +3 -3
  96. package/dist/{chunk-et93pm4h.js → chunk-h97b2d4n.js} +2 -2
  97. package/dist/{chunk-yv7fwzxg.js → chunk-j8kzf8pv.js} +1 -1
  98. package/dist/{chunk-e6pjm749.js → chunk-j9z3gqw7.js} +2 -2
  99. package/dist/{chunk-0dscksme.js → chunk-jp5ryk8d.js} +2 -2
  100. package/dist/{chunk-3ndzjg0j.js → chunk-jtyahygr.js} +1 -1
  101. package/dist/{chunk-ssbwrtq0.js → chunk-jvhxzh89.js} +1 -1
  102. package/dist/{chunk-x2xz64fv.js → chunk-k3crgw1f.js} +1 -1
  103. package/dist/{chunk-ygz3k4sq.js → chunk-k5ep15te.js} +5 -5
  104. package/dist/{chunk-d1tn8q2y.js → chunk-kn8z0g8x.js} +43 -43
  105. package/dist/{chunk-b8fv5qv1.js → chunk-m0k7k72a.js} +7 -7
  106. package/dist/{chunk-24ycwx7b.js → chunk-m278pc3e.js} +4 -4
  107. package/dist/{chunk-cercfqgt.js → chunk-m2f47m3p.js} +2 -2
  108. package/dist/{chunk-5m96gcv8.js → chunk-mvmdze1n.js} +5 -5
  109. package/dist/{chunk-vdbt37hp.js → chunk-n76xn475.js} +3 -3
  110. package/dist/{chunk-m7y74nyz.js → chunk-ndncrske.js} +3 -3
  111. package/dist/{chunk-x7kc9mgr.js → chunk-nkh3wnce.js} +9 -9
  112. package/dist/{chunk-qdcrcsxd.js → chunk-nxt93fty.js} +2 -2
  113. package/dist/{chunk-g4cb8da0.js → chunk-p8gc7vtd.js} +2 -2
  114. package/dist/{chunk-cns3kx70.js → chunk-pqmmpjyp.js} +7 -7
  115. package/dist/{chunk-pd0kfhpc.js → chunk-pwte8pwv.js} +2 -2
  116. package/dist/{chunk-n010544z.js → chunk-q1ctnnsh.js} +2 -2
  117. package/dist/{chunk-fv5aaq1q.js → chunk-q6zq8qmb.js} +11 -11
  118. package/dist/{chunk-9nay76zd.js → chunk-q8vqtbtc.js} +6 -6
  119. package/dist/{chunk-w4wev9cv.js → chunk-qbhkdnfd.js} +2 -2
  120. package/dist/{chunk-tfe2hzfk.js → chunk-qg5cj84t.js} +2 -2
  121. package/dist/{chunk-4j37dsra.js → chunk-qvgdzw1v.js} +2 -2
  122. package/dist/{chunk-8asygwnz.js → chunk-qyvhdkzk.js} +2 -2
  123. package/dist/{chunk-akst8sb7.js → chunk-r0m790t0.js} +2 -2
  124. package/dist/{chunk-0sggm0er.js → chunk-r3w5gkcx.js} +2 -2
  125. package/dist/{chunk-5nb8vmmm.js → chunk-r8hybr5m.js} +4 -4
  126. package/dist/{chunk-sfjm0eew.js → chunk-rgnjk064.js} +10 -10
  127. package/dist/{chunk-fdbdp649.js → chunk-rmwg35n8.js} +4 -4
  128. package/dist/{chunk-ra2mmg2e.js → chunk-rpk6cycd.js} +2 -2
  129. package/dist/{chunk-zb71mx14.js → chunk-rrtm7av0.js} +2 -2
  130. package/dist/{chunk-5wj8hnaf.js → chunk-rw1xmedy.js} +2 -2
  131. package/dist/{chunk-3fc11fe6.js → chunk-seqw8xmr.js} +1 -1
  132. package/dist/{chunk-em1ba8ze.js → chunk-sjc83md1.js} +3 -3
  133. package/dist/{chunk-a84qcs23.js → chunk-spreyy3h.js} +1 -1
  134. package/dist/{chunk-2a1pbzv4.js → chunk-syaeapwh.js} +2 -2
  135. package/dist/{chunk-cgjs9cht.js → chunk-syfrjph9.js} +3 -3
  136. package/dist/{chunk-tnw04w60.js → chunk-t1qrpbmr.js} +2 -2
  137. package/dist/{chunk-nms0csv3.js → chunk-t2ma1b8e.js} +2 -2
  138. package/dist/{chunk-n0rjbqjn.js → chunk-t88vqxve.js} +1 -1
  139. package/dist/{chunk-z30mkwed.js → chunk-tmtqrb9z.js} +2 -2
  140. package/dist/{chunk-cqpvt0mt.js → chunk-tp3493vw.js} +7 -7
  141. package/dist/{chunk-6wdaz3qb.js → chunk-tr946509.js} +2 -2
  142. package/dist/{chunk-1d71eame.js → chunk-tt06meyd.js} +7 -7
  143. package/dist/{chunk-5mkarzr2.js → chunk-vd13744x.js} +2 -2
  144. package/dist/{chunk-ka0adg3q.js → chunk-vjrbd1mw.js} +2 -2
  145. package/dist/{chunk-c64rkx7d.js → chunk-vm6kgtx1.js} +122 -72
  146. package/dist/{chunk-c2c0ptek.js → chunk-vpbr4bsx.js} +2 -2
  147. package/dist/{chunk-efmv97ra.js → chunk-vtnvexka.js} +1 -1
  148. package/dist/{chunk-8vdcnhhj.js → chunk-w6jef6x4.js} +1 -1
  149. package/dist/{chunk-q2xjkbq6.js → chunk-wd3ke89n.js} +2 -2
  150. package/dist/{chunk-90gr0yb3.js → chunk-whzvyzzf.js} +2 -2
  151. package/dist/{chunk-v1t9d698.js → chunk-wj4kw1fc.js} +3 -3
  152. package/dist/{chunk-fnmdv0s4.js → chunk-wjd1qx9h.js} +1 -1
  153. package/dist/{chunk-2dpq8sne.js → chunk-wnxg05ge.js} +2 -2
  154. package/dist/{chunk-r1k96kj8.js → chunk-wvxk4gza.js} +3 -3
  155. package/dist/{chunk-6ca83nk6.js → chunk-x10y42vw.js} +4 -4
  156. package/dist/{chunk-ey6y4m4p.js → chunk-x4cfy365.js} +2 -2
  157. package/dist/{chunk-f5hkz8ec.js → chunk-x77k1fd9.js} +2 -2
  158. package/dist/{chunk-yhm5s26b.js → chunk-xaef8bay.js} +2 -2
  159. package/dist/{chunk-tvhjf6ns.js → chunk-xdctdsx0.js} +5 -5
  160. package/dist/{chunk-pzfm2f50.js → chunk-xm3w9hh4.js} +2 -2
  161. package/dist/{chunk-wcre2v8b.js → chunk-xpcn5zdc.js} +1 -1
  162. package/dist/{chunk-wr8284h9.js → chunk-y1amvt8n.js} +7 -7
  163. package/dist/{chunk-7rdfwg0h.js → chunk-y3pdetzz.js} +2 -2
  164. package/dist/{chunk-j5xvhq6j.js → chunk-y72tpvmp.js} +1 -1
  165. package/dist/{chunk-cd0k0jnh.js → chunk-yavrhasx.js} +2 -2
  166. package/dist/{chunk-4x8are03.js → chunk-ybrwgqdx.js} +1 -1
  167. package/dist/{chunk-16rh2y4v.js → chunk-yk3eyj1m.js} +3 -3
  168. package/dist/{chunk-f004q4ha.js → chunk-ynhkhtsc.js} +3 -3
  169. package/dist/{chunk-ffx02f13.js → chunk-z49044km.js} +3 -3
  170. package/dist/{chunk-h293yra4.js → chunk-z6qewm4c.js} +598 -131
  171. package/dist/{chunk-r58xwjdy.js → chunk-z7d53af3.js} +1 -1
  172. package/dist/{chunk-x8r2chc3.js → chunk-z807hyy9.js} +4 -4
  173. package/dist/{chunk-g166ygyy.js → chunk-z9wq2nqa.js} +1 -1
  174. package/dist/{chunk-611n9cfj.js → chunk-zg7m1rhb.js} +1 -1
  175. package/dist/{chunk-gpsx7zn5.js → chunk-zpjjptk2.js} +8 -8
  176. package/dist/{chunk-3md12xep.js → chunk-zszckpyr.js} +2 -2
  177. package/dist/cli.js +6 -7
  178. package/package.json +1 -1
@@ -9,10 +9,10 @@ import {
9
9
  initializeTeammateContextFromSession,
10
10
  recordTipShown,
11
11
  shouldShowDesktopUpsellStartup
12
- } from "./chunk-v1t9d698.js";
12
+ } from "./chunk-wj4kw1fc.js";
13
13
  import {
14
14
  useManagePlugins
15
- } from "./chunk-r1k96kj8.js";
15
+ } from "./chunk-wvxk4gza.js";
16
16
  import {
17
17
  BoundedUUIDSet
18
18
  } from "./chunk-xtyemkz6.js";
@@ -29,7 +29,7 @@ import {
29
29
  processUserInput,
30
30
  reconcileMarketplaces,
31
31
  selectableUserMessagesFilter
32
- } from "./chunk-5nb8vmmm.js";
32
+ } from "./chunk-r8hybr5m.js";
33
33
  import {
34
34
  computeStandaloneAgentContext,
35
35
  exitRestoredWorktree,
@@ -37,11 +37,11 @@ import {
37
37
  restoreSessionStateFromLog,
38
38
  restoreWorktreeForResume,
39
39
  skillChangeDetector
40
- } from "./chunk-c788qr3y.js";
40
+ } from "./chunk-4b48nb2h.js";
41
41
  import {
42
42
  applySkillImprovement,
43
43
  startBackgroundHousekeeping
44
- } from "./chunk-7d6re3rq.js";
44
+ } from "./chunk-118xw7hm.js";
45
45
  import {
46
46
  PermissionDialog,
47
47
  PermissionRequestTitle
@@ -52,23 +52,23 @@ import {
52
52
  import {
53
53
  ExitFlow,
54
54
  init_ExitFlow
55
- } from "./chunk-3fc11fe6.js";
55
+ } from "./chunk-seqw8xmr.js";
56
56
  import {
57
57
  init_exportRenderer,
58
58
  renderMessagesToPlainText
59
- } from "./chunk-ra2mmg2e.js";
59
+ } from "./chunk-rpk6cycd.js";
60
60
  import {
61
61
  init_useMergedTools,
62
62
  useMergedTools
63
- } from "./chunk-ka0adg3q.js";
63
+ } from "./chunk-vjrbd1mw.js";
64
64
  import {
65
65
  init_toolPool,
66
66
  mergeAndFilterTools
67
- } from "./chunk-ey6y4m4p.js";
67
+ } from "./chunk-x4cfy365.js";
68
68
  import {
69
69
  init_refresh,
70
70
  refreshActivePlugins
71
- } from "./chunk-tz8nchke.js";
71
+ } from "./chunk-65ds9qpz.js";
72
72
  import {
73
73
  init_setup,
74
74
  isChromeExtensionInstalled,
@@ -82,7 +82,7 @@ import {
82
82
  getFastIconString,
83
83
  init_FastIcon,
84
84
  init_fast
85
- } from "./chunk-ar4ktaxt.js";
85
+ } from "./chunk-7w216rr7.js";
86
86
  import {
87
87
  BackgroundTasksDialog,
88
88
  enterTeammateView,
@@ -94,19 +94,19 @@ import {
94
94
  launchUltraplan as launchUltraplan2,
95
95
  shouldHideTasksFooter,
96
96
  stopOrDismissAgent
97
- } from "./chunk-g4cb8da0.js";
97
+ } from "./chunk-p8gc7vtd.js";
98
98
  import {
99
99
  fromSDKCompactMetadata,
100
100
  init_mappers
101
- } from "./chunk-n0rjbqjn.js";
101
+ } from "./chunk-t88vqxve.js";
102
102
  import {
103
103
  generateSessionName,
104
104
  init_generateSessionName
105
- } from "./chunk-bne21p5g.js";
105
+ } from "./chunk-djf4b6f2.js";
106
106
  import {
107
107
  generateSessionTitle,
108
108
  init_sessionTitle
109
- } from "./chunk-n34tvtsv.js";
109
+ } from "./chunk-c482f0mc.js";
110
110
  import {
111
111
  FullscreenLayout,
112
112
  Messages,
@@ -117,19 +117,19 @@ import {
117
117
  useSetPromptOverlay,
118
118
  useSetPromptOverlayDialog,
119
119
  useUnseenDivider
120
- } from "./chunk-yxjmt7rs.js";
120
+ } from "./chunk-671dhh2p.js";
121
121
  import {
122
122
  MCPConnectionManager,
123
123
  init_MCPConnectionManager,
124
124
  init_channelPermissions
125
- } from "./chunk-5mkarzr2.js";
125
+ } from "./chunk-vd13744x.js";
126
126
  import {
127
127
  init_channelNotification
128
- } from "./chunk-mvn83r78.js";
128
+ } from "./chunk-9d6x2mkv.js";
129
129
  import {
130
130
  init_pluginAutoupdate,
131
131
  onPluginsAutoUpdated
132
- } from "./chunk-jq3907bq.js";
132
+ } from "./chunk-7tgkjp52.js";
133
133
  import {
134
134
  $toString,
135
135
  init_server
@@ -137,18 +137,18 @@ import {
137
137
  import {
138
138
  init_useSettingsErrors,
139
139
  useSettingsErrors
140
- } from "./chunk-eh8xx983.js";
140
+ } from "./chunk-5pvx58q1.js";
141
141
  import {
142
142
  detectUnreachableRules,
143
143
  init_shadowedRuleDetection
144
- } from "./chunk-b88f0ex0.js";
144
+ } from "./chunk-8a3z02p0.js";
145
145
  import {
146
146
  PromptInputHelpMenu,
147
147
  init_PromptInputHelpMenu,
148
148
  init_utils as init_utils3,
149
149
  isNonSpacePrintable,
150
150
  isVimModeEnabled
151
- } from "./chunk-sbfst01b.js";
151
+ } from "./chunk-5hem79am.js";
152
152
  import {
153
153
  editFileInEditor,
154
154
  editPromptInEditor,
@@ -156,10 +156,10 @@ import {
156
156
  init_editor,
157
157
  init_promptEditor,
158
158
  openFileInExternalEditor
159
- } from "./chunk-fn430z5z.js";
159
+ } from "./chunk-b5dy49sm.js";
160
160
  import {
161
161
  init_LoadingState
162
- } from "./chunk-rhkdwnq9.js";
162
+ } from "./chunk-ak77exrf.js";
163
163
  import {
164
164
  init_bridgeEnabled,
165
165
  isBridgeEnabled
@@ -172,20 +172,20 @@ import {
172
172
  init_ModelPicker,
173
173
  init_extraUsage,
174
174
  isBilledAsExtraUsage
175
- } from "./chunk-tvyy122a.js";
175
+ } from "./chunk-3y936q1b.js";
176
176
  import {
177
177
  init_SearchBox,
178
178
  init_useSearchInput,
179
179
  useSearchInput
180
- } from "./chunk-4x8are03.js";
180
+ } from "./chunk-ybrwgqdx.js";
181
181
  import {
182
182
  findBtwTriggerPositions,
183
183
  init_sideQuestion
184
- } from "./chunk-ssbwrtq0.js";
184
+ } from "./chunk-jvhxzh89.js";
185
185
  import {
186
186
  init_Feedback,
187
187
  redactSensitiveInfo
188
- } from "./chunk-x4zrb9nt.js";
188
+ } from "./chunk-6kp6wwg0.js";
189
189
  import {
190
190
  applyFileSuggestion,
191
191
  findLongestCommonPrefix,
@@ -193,7 +193,7 @@ import {
193
193
  init_fileSuggestions,
194
194
  onIndexBuildComplete,
195
195
  startBackgroundCacheRefresh
196
- } from "./chunk-2bh2ha9e.js";
196
+ } from "./chunk-f5cexbgp.js";
197
197
  import {
198
198
  getDirectoryCompletions,
199
199
  getPathCompletions,
@@ -209,11 +209,11 @@ import {
209
209
  init_bypassPermissionsKillswitch,
210
210
  useKickOffCheckAndDisableAutoModeIfNeeded,
211
211
  useKickOffCheckAndDisableBypassPermissionsIfNeeded
212
- } from "./chunk-r58xwjdy.js";
212
+ } from "./chunk-z7d53af3.js";
213
213
  import {
214
214
  init_useMainLoopModel,
215
215
  useMainLoopModel
216
- } from "./chunk-yv7fwzxg.js";
216
+ } from "./chunk-j8kzf8pv.js";
217
217
  import {
218
218
  AGENT_COLORS,
219
219
  AGENT_COLOR_TO_THEME_COLOR,
@@ -260,6 +260,7 @@ import {
260
260
  PowerShellTool,
261
261
  PrBadge,
262
262
  QueuedMessageProvider,
263
+ RARITY_COLORS,
263
264
  REJECT_MESSAGE,
264
265
  REJECT_MESSAGE_WITH_REASON_PREFIX,
265
266
  REMOTE_SAFE_COMMANDS,
@@ -881,7 +882,7 @@ import {
881
882
  verifyApiKey,
882
883
  withMemoryCorrectionHint,
883
884
  writeToMailbox
884
- } from "./chunk-c64rkx7d.js";
885
+ } from "./chunk-vm6kgtx1.js";
885
886
  import {
886
887
  init_commitAttribution
887
888
  } from "./chunk-aavyj2c9.js";
@@ -911,7 +912,7 @@ import {
911
912
  setMultipleMemberModes,
912
913
  syncTeammateMode,
913
914
  unassignTeammateTasks
914
- } from "./chunk-611n9cfj.js";
915
+ } from "./chunk-zg7m1rhb.js";
915
916
  import {
916
917
  CLAUDE_IN_CHROME_MCP_SERVER_NAME,
917
918
  init_common
@@ -15342,23 +15343,262 @@ var BODIES = {
15342
15343
  ]
15343
15344
  ]
15344
15345
  };
15346
+ var HAT_LINES = {
15347
+ none: "",
15348
+ crown: " \\^^^/ ",
15349
+ tophat: " [___] ",
15350
+ propeller: " -+- ",
15351
+ halo: " ( ) ",
15352
+ wizard: " /^\\ ",
15353
+ beanie: " (___) ",
15354
+ tinyduck: " ,> "
15355
+ };
15356
+ function renderSprite(bones, frame = 0) {
15357
+ const frames = BODIES[bones.species];
15358
+ const body = frames[frame % frames.length].map((line) => line.replaceAll("{E}", bones.eye));
15359
+ const lines = [...body];
15360
+ if (bones.hat !== "none" && !lines[0].trim()) {
15361
+ lines[0] = HAT_LINES[bones.hat];
15362
+ }
15363
+ if (!lines[0].trim() && frames.every((f) => !f[0].trim()))
15364
+ lines.shift();
15365
+ return lines;
15366
+ }
15367
+ function spriteFrameCount(species) {
15368
+ return BODIES[species].length;
15369
+ }
15370
+ function renderFace(bones) {
15371
+ const eye = bones.eye;
15372
+ switch (bones.species) {
15373
+ case duck:
15374
+ case goose:
15375
+ return `(${eye}>`;
15376
+ case blob:
15377
+ return `(${eye}${eye})`;
15378
+ case cat:
15379
+ return `=${eye}\u03C9${eye}=`;
15380
+ case dragon:
15381
+ return `<${eye}~${eye}>`;
15382
+ case octopus:
15383
+ return `~(${eye}${eye})~`;
15384
+ case owl:
15385
+ return `(${eye})(${eye})`;
15386
+ case penguin:
15387
+ return `(${eye}>)`;
15388
+ case turtle:
15389
+ return `[${eye}_${eye}]`;
15390
+ case snail:
15391
+ return `${eye}(@)`;
15392
+ case ghost:
15393
+ return `/${eye}${eye}\\`;
15394
+ case axolotl:
15395
+ return `}${eye}.${eye}{`;
15396
+ case capybara:
15397
+ return `(${eye}oo${eye})`;
15398
+ case cactus:
15399
+ return `|${eye} ${eye}|`;
15400
+ case robot:
15401
+ return `[${eye}${eye}]`;
15402
+ case rabbit:
15403
+ return `(${eye}..${eye})`;
15404
+ case mushroom:
15405
+ return `|${eye} ${eye}|`;
15406
+ case chonk:
15407
+ return `(${eye}.${eye})`;
15408
+ }
15409
+ }
15345
15410
 
15346
15411
  // src/buddy/CompanionSprite.tsx
15347
15412
  init_types();
15348
15413
  var jsx_dev_runtime38 = __toESM(require_jsx_dev_runtime(), 1);
15414
+ var TICK_MS = 500;
15415
+ var BUBBLE_SHOW = 20;
15416
+ var FADE_WINDOW = 6;
15417
+ var PET_BURST_MS = 2500;
15418
+ var IDLE_SEQUENCE = [0, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 2, 0, 0, 0];
15349
15419
  var H = figures_default.heart;
15350
15420
  var PET_HEARTS = [` ${H} ${H} `, ` ${H} ${H} ${H} `, ` ${H} ${H} ${H} `, `${H} ${H} ${H} `, "\xB7 \xB7 \xB7 "];
15421
+ function wrap(text, width) {
15422
+ const words = text.split(" ");
15423
+ const lines = [];
15424
+ let cur = "";
15425
+ for (const w of words) {
15426
+ if (cur.length + w.length + 1 > width && cur) {
15427
+ lines.push(cur);
15428
+ cur = w;
15429
+ } else {
15430
+ cur = cur ? `${cur} ${w}` : w;
15431
+ }
15432
+ }
15433
+ if (cur)
15434
+ lines.push(cur);
15435
+ return lines;
15436
+ }
15437
+ function SpeechBubble(t0) {
15438
+ const $ = import_compiler_runtime31.c(31);
15439
+ const {
15440
+ text,
15441
+ color: color2,
15442
+ fading,
15443
+ tail
15444
+ } = t0;
15445
+ let T0;
15446
+ let borderColor;
15447
+ let t1;
15448
+ let t2;
15449
+ let t3;
15450
+ let t4;
15451
+ let t5;
15452
+ let t6;
15453
+ if ($[0] !== color2 || $[1] !== fading || $[2] !== text) {
15454
+ const lines = wrap(text, 30);
15455
+ borderColor = fading ? "inactive" : color2;
15456
+ T0 = ThemedBox_default;
15457
+ t1 = "column";
15458
+ t2 = "round";
15459
+ t3 = borderColor;
15460
+ t4 = 1;
15461
+ t5 = 34;
15462
+ let t72;
15463
+ if ($[11] !== fading) {
15464
+ t72 = (l, i) => /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedText, {
15465
+ italic: true,
15466
+ dimColor: !fading,
15467
+ color: fading ? "inactive" : undefined,
15468
+ children: l
15469
+ }, i, false, undefined, this);
15470
+ $[11] = fading;
15471
+ $[12] = t72;
15472
+ } else {
15473
+ t72 = $[12];
15474
+ }
15475
+ t6 = lines.map(t72);
15476
+ $[0] = color2;
15477
+ $[1] = fading;
15478
+ $[2] = text;
15479
+ $[3] = T0;
15480
+ $[4] = borderColor;
15481
+ $[5] = t1;
15482
+ $[6] = t2;
15483
+ $[7] = t3;
15484
+ $[8] = t4;
15485
+ $[9] = t5;
15486
+ $[10] = t6;
15487
+ } else {
15488
+ T0 = $[3];
15489
+ borderColor = $[4];
15490
+ t1 = $[5];
15491
+ t2 = $[6];
15492
+ t3 = $[7];
15493
+ t4 = $[8];
15494
+ t5 = $[9];
15495
+ t6 = $[10];
15496
+ }
15497
+ let t7;
15498
+ if ($[13] !== T0 || $[14] !== t1 || $[15] !== t2 || $[16] !== t3 || $[17] !== t4 || $[18] !== t5 || $[19] !== t6) {
15499
+ t7 = /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(T0, {
15500
+ flexDirection: t1,
15501
+ borderStyle: t2,
15502
+ borderColor: t3,
15503
+ paddingX: t4,
15504
+ width: t5,
15505
+ children: t6
15506
+ }, undefined, false, undefined, this);
15507
+ $[13] = T0;
15508
+ $[14] = t1;
15509
+ $[15] = t2;
15510
+ $[16] = t3;
15511
+ $[17] = t4;
15512
+ $[18] = t5;
15513
+ $[19] = t6;
15514
+ $[20] = t7;
15515
+ } else {
15516
+ t7 = $[20];
15517
+ }
15518
+ const bubble = t7;
15519
+ if (tail === "right") {
15520
+ let t82;
15521
+ if ($[21] !== borderColor) {
15522
+ t82 = /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedText, {
15523
+ color: borderColor,
15524
+ children: "\u2500"
15525
+ }, undefined, false, undefined, this);
15526
+ $[21] = borderColor;
15527
+ $[22] = t82;
15528
+ } else {
15529
+ t82 = $[22];
15530
+ }
15531
+ let t92;
15532
+ if ($[23] !== bubble || $[24] !== t82) {
15533
+ t92 = /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedBox_default, {
15534
+ flexDirection: "row",
15535
+ alignItems: "center",
15536
+ children: [
15537
+ bubble,
15538
+ t82
15539
+ ]
15540
+ }, undefined, true, undefined, this);
15541
+ $[23] = bubble;
15542
+ $[24] = t82;
15543
+ $[25] = t92;
15544
+ } else {
15545
+ t92 = $[25];
15546
+ }
15547
+ return t92;
15548
+ }
15549
+ let t8;
15550
+ if ($[26] !== borderColor) {
15551
+ t8 = /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedBox_default, {
15552
+ flexDirection: "column",
15553
+ alignItems: "flex-end",
15554
+ paddingRight: 6,
15555
+ children: [
15556
+ /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedText, {
15557
+ color: borderColor,
15558
+ children: "\u2572 "
15559
+ }, undefined, false, undefined, this),
15560
+ /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedText, {
15561
+ color: borderColor,
15562
+ children: "\u2572"
15563
+ }, undefined, false, undefined, this)
15564
+ ]
15565
+ }, undefined, true, undefined, this);
15566
+ $[26] = borderColor;
15567
+ $[27] = t8;
15568
+ } else {
15569
+ t8 = $[27];
15570
+ }
15571
+ let t9;
15572
+ if ($[28] !== bubble || $[29] !== t8) {
15573
+ t9 = /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedBox_default, {
15574
+ flexDirection: "column",
15575
+ alignItems: "flex-end",
15576
+ marginRight: 1,
15577
+ children: [
15578
+ bubble,
15579
+ t8
15580
+ ]
15581
+ }, undefined, true, undefined, this);
15582
+ $[28] = bubble;
15583
+ $[29] = t8;
15584
+ $[30] = t9;
15585
+ } else {
15586
+ t9 = $[30];
15587
+ }
15588
+ return t9;
15589
+ }
15351
15590
  var MIN_COLS_FOR_FULL_SPRITE = 100;
15352
15591
  var SPRITE_BODY_WIDTH = 12;
15353
15592
  var NAME_ROW_PAD = 2;
15354
15593
  var SPRITE_PADDING_X = 2;
15355
15594
  var BUBBLE_WIDTH = 36;
15595
+ var NARROW_QUIP_CAP = 24;
15356
15596
  function spriteColWidth(nameWidth) {
15357
15597
  return Math.max(SPRITE_BODY_WIDTH, nameWidth + NAME_ROW_PAD);
15358
15598
  }
15359
15599
  function companionReservedColumns(terminalColumns, speaking) {
15360
- if (true)
15361
- return 0;
15600
+ if (false)
15601
+ ;
15362
15602
  const companion = getCompanion();
15363
15603
  if (!companion || getGlobalConfig().companionMuted)
15364
15604
  return 0;
@@ -15368,6 +15608,232 @@ function companionReservedColumns(terminalColumns, speaking) {
15368
15608
  const bubble = speaking && !isFullscreenActive() ? BUBBLE_WIDTH : 0;
15369
15609
  return spriteColWidth(nameWidth) + SPRITE_PADDING_X + bubble;
15370
15610
  }
15611
+ function CompanionSprite() {
15612
+ const reaction = useAppState((s) => s.companionReaction);
15613
+ const petAt = useAppState((s) => s.companionPetAt);
15614
+ const focused = useAppState((s) => s.footerSelection === "companion");
15615
+ const setAppState = useSetAppState();
15616
+ const {
15617
+ columns
15618
+ } = useTerminalSize();
15619
+ const [tick, setTick] = import_react27.useState(0);
15620
+ const lastSpokeTick = import_react27.useRef(0);
15621
+ const [{
15622
+ petStartTick,
15623
+ forPetAt
15624
+ }, setPetStart] = import_react27.useState({
15625
+ petStartTick: 0,
15626
+ forPetAt: petAt
15627
+ });
15628
+ if (petAt !== forPetAt) {
15629
+ setPetStart({
15630
+ petStartTick: tick,
15631
+ forPetAt: petAt
15632
+ });
15633
+ }
15634
+ import_react27.useEffect(() => {
15635
+ const timer = setInterval((setT) => setT((t) => t + 1), TICK_MS, setTick);
15636
+ return () => clearInterval(timer);
15637
+ }, []);
15638
+ import_react27.useEffect(() => {
15639
+ if (!reaction)
15640
+ return;
15641
+ lastSpokeTick.current = tick;
15642
+ const timer = setTimeout((setA) => setA((prev) => prev.companionReaction === undefined ? prev : {
15643
+ ...prev,
15644
+ companionReaction: undefined
15645
+ }), BUBBLE_SHOW * TICK_MS, setAppState);
15646
+ return () => clearTimeout(timer);
15647
+ }, [reaction, setAppState]);
15648
+ if (false)
15649
+ ;
15650
+ const companion = getCompanion();
15651
+ if (!companion || getGlobalConfig().companionMuted)
15652
+ return null;
15653
+ const color2 = RARITY_COLORS[companion.rarity];
15654
+ const colWidth = spriteColWidth(stringWidth(companion.name));
15655
+ const bubbleAge = reaction ? tick - lastSpokeTick.current : 0;
15656
+ const fading = reaction !== undefined && bubbleAge >= BUBBLE_SHOW - FADE_WINDOW;
15657
+ const petAge = petAt ? tick - petStartTick : Infinity;
15658
+ const petting = petAge * TICK_MS < PET_BURST_MS;
15659
+ if (columns < MIN_COLS_FOR_FULL_SPRITE) {
15660
+ const quip = reaction && reaction.length > NARROW_QUIP_CAP ? reaction.slice(0, NARROW_QUIP_CAP - 1) + "\u2026" : reaction;
15661
+ const label = quip ? `"${quip}"` : focused ? ` ${companion.name} ` : companion.name;
15662
+ return /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedBox_default, {
15663
+ paddingX: 1,
15664
+ alignSelf: "flex-end",
15665
+ children: /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedText, {
15666
+ children: [
15667
+ petting && /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedText, {
15668
+ color: "autoAccept",
15669
+ children: [
15670
+ figures_default.heart,
15671
+ " "
15672
+ ]
15673
+ }, undefined, true, undefined, this),
15674
+ /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedText, {
15675
+ bold: true,
15676
+ color: color2,
15677
+ children: renderFace(companion)
15678
+ }, undefined, false, undefined, this),
15679
+ " ",
15680
+ /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedText, {
15681
+ italic: true,
15682
+ dimColor: !focused && !reaction,
15683
+ bold: focused,
15684
+ inverse: focused && !reaction,
15685
+ color: reaction ? fading ? "inactive" : color2 : focused ? color2 : undefined,
15686
+ children: label
15687
+ }, undefined, false, undefined, this)
15688
+ ]
15689
+ }, undefined, true, undefined, this)
15690
+ }, undefined, false, undefined, this);
15691
+ }
15692
+ const frameCount = spriteFrameCount(companion.species);
15693
+ const heartFrame = petting ? PET_HEARTS[petAge % PET_HEARTS.length] : null;
15694
+ let spriteFrame;
15695
+ let blink = false;
15696
+ if (reaction || petting) {
15697
+ spriteFrame = tick % frameCount;
15698
+ } else {
15699
+ const step = IDLE_SEQUENCE[tick % IDLE_SEQUENCE.length];
15700
+ if (step === -1) {
15701
+ spriteFrame = 0;
15702
+ blink = true;
15703
+ } else {
15704
+ spriteFrame = step % frameCount;
15705
+ }
15706
+ }
15707
+ const body = renderSprite(companion, spriteFrame).map((line) => blink ? line.replaceAll(companion.eye, "-") : line);
15708
+ const sprite = heartFrame ? [heartFrame, ...body] : body;
15709
+ const spriteColumn = /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedBox_default, {
15710
+ flexDirection: "column",
15711
+ flexShrink: 0,
15712
+ alignItems: "center",
15713
+ width: colWidth,
15714
+ children: [
15715
+ sprite.map((line, i) => /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedText, {
15716
+ color: i === 0 && heartFrame ? "autoAccept" : color2,
15717
+ children: line
15718
+ }, i, false, undefined, this)),
15719
+ /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedText, {
15720
+ italic: true,
15721
+ bold: focused,
15722
+ dimColor: !focused,
15723
+ color: focused ? color2 : undefined,
15724
+ inverse: focused,
15725
+ children: focused ? ` ${companion.name} ` : companion.name
15726
+ }, undefined, false, undefined, this)
15727
+ ]
15728
+ }, undefined, true, undefined, this);
15729
+ if (!reaction) {
15730
+ return /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedBox_default, {
15731
+ paddingX: 1,
15732
+ children: spriteColumn
15733
+ }, undefined, false, undefined, this);
15734
+ }
15735
+ if (isFullscreenActive()) {
15736
+ return /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedBox_default, {
15737
+ paddingX: 1,
15738
+ children: spriteColumn
15739
+ }, undefined, false, undefined, this);
15740
+ }
15741
+ return /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(ThemedBox_default, {
15742
+ flexDirection: "row",
15743
+ alignItems: "flex-end",
15744
+ paddingX: 1,
15745
+ flexShrink: 0,
15746
+ children: [
15747
+ /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(SpeechBubble, {
15748
+ text: reaction,
15749
+ color: color2,
15750
+ fading,
15751
+ tail: "right"
15752
+ }, undefined, false, undefined, this),
15753
+ spriteColumn
15754
+ ]
15755
+ }, undefined, true, undefined, this);
15756
+ }
15757
+ function CompanionFloatingBubble() {
15758
+ const $ = import_compiler_runtime31.c(8);
15759
+ const reaction = useAppState(_temp27);
15760
+ let t0;
15761
+ if ($[0] !== reaction) {
15762
+ t0 = {
15763
+ tick: 0,
15764
+ forReaction: reaction
15765
+ };
15766
+ $[0] = reaction;
15767
+ $[1] = t0;
15768
+ } else {
15769
+ t0 = $[1];
15770
+ }
15771
+ const [t1, setTick] = import_react27.useState(t0);
15772
+ const {
15773
+ tick,
15774
+ forReaction
15775
+ } = t1;
15776
+ if (reaction !== forReaction) {
15777
+ setTick({
15778
+ tick: 0,
15779
+ forReaction: reaction
15780
+ });
15781
+ }
15782
+ let t2;
15783
+ let t3;
15784
+ if ($[2] !== reaction) {
15785
+ t2 = () => {
15786
+ if (!reaction) {
15787
+ return;
15788
+ }
15789
+ const timer = setInterval(_temp36, TICK_MS, setTick);
15790
+ return () => clearInterval(timer);
15791
+ };
15792
+ t3 = [reaction];
15793
+ $[2] = reaction;
15794
+ $[3] = t2;
15795
+ $[4] = t3;
15796
+ } else {
15797
+ t2 = $[3];
15798
+ t3 = $[4];
15799
+ }
15800
+ import_react27.useEffect(t2, t3);
15801
+ if (!reaction) {
15802
+ return null;
15803
+ }
15804
+ const companion = getCompanion();
15805
+ if (!companion || getGlobalConfig().companionMuted) {
15806
+ return null;
15807
+ }
15808
+ const t4 = tick >= BUBBLE_SHOW - FADE_WINDOW;
15809
+ let t5;
15810
+ if ($[5] !== reaction || $[6] !== t4) {
15811
+ t5 = /* @__PURE__ */ jsx_dev_runtime38.jsxDEV(SpeechBubble, {
15812
+ text: reaction,
15813
+ color: RARITY_COLORS[companion.rarity],
15814
+ fading: t4,
15815
+ tail: "down"
15816
+ }, undefined, false, undefined, this);
15817
+ $[5] = reaction;
15818
+ $[6] = t4;
15819
+ $[7] = t5;
15820
+ } else {
15821
+ t5 = $[7];
15822
+ }
15823
+ return t5;
15824
+ }
15825
+ function _temp36(set) {
15826
+ return set(_temp26);
15827
+ }
15828
+ function _temp26(s_0) {
15829
+ return {
15830
+ ...s_0,
15831
+ tick: s_0.tick + 1
15832
+ };
15833
+ }
15834
+ function _temp27(s) {
15835
+ return s.companionReaction;
15836
+ }
15371
15837
 
15372
15838
  // src/buddy/useBuddyNotification.tsx
15373
15839
  init_notifications();
@@ -15391,7 +15857,7 @@ function RainbowText(t0) {
15391
15857
  let t1;
15392
15858
  if ($[0] !== text) {
15393
15859
  t1 = /* @__PURE__ */ jsx_dev_runtime39.jsxDEV(jsx_dev_runtime39.Fragment, {
15394
- children: [...text].map(_temp26)
15860
+ children: [...text].map(_temp29)
15395
15861
  }, undefined, false, undefined, this);
15396
15862
  $[0] = text;
15397
15863
  $[1] = t1;
@@ -15400,7 +15866,7 @@ function RainbowText(t0) {
15400
15866
  }
15401
15867
  return t1;
15402
15868
  }
15403
- function _temp26(ch, i) {
15869
+ function _temp29(ch, i) {
15404
15870
  return /* @__PURE__ */ jsx_dev_runtime39.jsxDEV(ThemedText, {
15405
15871
  color: getRainbowColor(i),
15406
15872
  children: ch
@@ -15416,9 +15882,7 @@ function useBuddyNotification() {
15416
15882
  let t1;
15417
15883
  if ($[0] !== addNotification || $[1] !== removeNotification) {
15418
15884
  t0 = () => {
15419
- if (true) {
15420
- return;
15421
- }
15885
+ if (false) {}
15422
15886
  const config = getGlobalConfig();
15423
15887
  if (config.companion || !isBuddyTeaserWindow()) {
15424
15888
  return;
@@ -15445,8 +15909,8 @@ function useBuddyNotification() {
15445
15909
  import_react28.useEffect(t0, t1);
15446
15910
  }
15447
15911
  function findBuddyTriggerPositions(text) {
15448
- if (true)
15449
- return [];
15912
+ if (false)
15913
+ ;
15450
15914
  const triggers = [];
15451
15915
  const re = /\/buddy\b/g;
15452
15916
  let m;
@@ -16203,9 +16667,7 @@ init_ink();
16203
16667
  init_format();
16204
16668
  var jsx_dev_runtime45 = __toESM(require_jsx_dev_runtime(), 1);
16205
16669
  function MemoryUsageIndicator() {
16206
- if (true) {
16207
- return null;
16208
- }
16670
+ /* buddy-enabled */
16209
16671
  const memoryUsage = useMemoryUsage();
16210
16672
  if (!memoryUsage) {
16211
16673
  return null;
@@ -16463,7 +16925,7 @@ function Notifications(t0) {
16463
16925
  const {
16464
16926
  status: ideStatus
16465
16927
  } = useIdeConnectionStatus(mcpClients);
16466
- const notifications = useAppState(_temp28);
16928
+ const notifications = useAppState(_temp30);
16467
16929
  const {
16468
16930
  addNotification,
16469
16931
  removeNotification
@@ -16482,7 +16944,7 @@ function Notifications(t0) {
16482
16944
  timeoutMs: isError ? 8000 : 5000
16483
16945
  });
16484
16946
  });
16485
- return _temp27;
16947
+ return _temp28;
16486
16948
  };
16487
16949
  t6 = [addNotification];
16488
16950
  $[5] = addNotification;
@@ -16609,10 +17071,10 @@ function Notifications(t0) {
16609
17071
  }
16610
17072
  return t14;
16611
17073
  }
16612
- function _temp27() {
17074
+ function _temp28() {
16613
17075
  return setEnvHookNotifier(null);
16614
17076
  }
16615
- function _temp28(s) {
17077
+ function _temp30(s) {
16616
17078
  return s.notifications;
16617
17079
  }
16618
17080
  function NotificationContent({
@@ -20528,9 +20990,9 @@ function BridgeDialog(t0) {
20528
20990
  onDone
20529
20991
  } = t0;
20530
20992
  useRegisterOverlay("bridge-dialog", undefined);
20531
- const connected = useAppState(_temp30);
20532
- const sessionActive = useAppState(_temp29);
20533
- const reconnecting = useAppState(_temp36);
20993
+ const connected = useAppState(_temp31);
20994
+ const sessionActive = useAppState(_temp210);
20995
+ const reconnecting = useAppState(_temp37);
20534
20996
  const connectUrl = useAppState(_temp45);
20535
20997
  const sessionUrl = useAppState(_temp53);
20536
20998
  const error = useAppState(_temp63);
@@ -20958,13 +21420,13 @@ function _temp53(s_3) {
20958
21420
  function _temp45(s_2) {
20959
21421
  return s_2.replBridgeConnectUrl;
20960
21422
  }
20961
- function _temp36(s_1) {
21423
+ function _temp37(s_1) {
20962
21424
  return s_1.replBridgeReconnecting;
20963
21425
  }
20964
- function _temp29(s_0) {
21426
+ function _temp210(s_0) {
20965
21427
  return s_0.replBridgeSessionActive;
20966
21428
  }
20967
- function _temp30(s) {
21429
+ function _temp31(s) {
20968
21430
  return s.replBridgeConnected;
20969
21431
  }
20970
21432
 
@@ -20989,12 +21451,12 @@ function getVisibleAgentTasks(tasks) {
20989
21451
  return Object.values(tasks).filter((t) => isPanelAgentTask(t) && t.evictAfter !== 0).sort((a, b) => a.startTime - b.startTime);
20990
21452
  }
20991
21453
  function useCoordinatorTaskCount() {
20992
- const tasks = useAppState(_temp37);
21454
+ const tasks = useAppState(_temp38);
20993
21455
  let t0;
20994
21456
  t0 = 0;
20995
21457
  return t0;
20996
21458
  }
20997
- function _temp37(s) {
21459
+ function _temp38(s) {
20998
21460
  return s.tasks;
20999
21461
  }
21000
21462
 
@@ -21229,7 +21691,7 @@ function ThinkingToggle(t0) {
21229
21691
  defaultFocusValue: currentValue ? "true" : "false",
21230
21692
  options,
21231
21693
  onChange: handleSelectChange,
21232
- onCancel: onCancel ?? _temp39,
21694
+ onCancel: onCancel ?? _temp40,
21233
21695
  visibleOptionCount: 2
21234
21696
  }, undefined, false, undefined, this)
21235
21697
  }, undefined, false, undefined, this)
@@ -21306,7 +21768,7 @@ function ThinkingToggle(t0) {
21306
21768
  }
21307
21769
  return t11;
21308
21770
  }
21309
- function _temp39() {}
21771
+ function _temp40() {}
21310
21772
 
21311
21773
  // src/components/PromptInput/PromptInput.tsx
21312
21774
  init_BackgroundTasksDialog();
@@ -21771,7 +22233,7 @@ function TeammateDetailView(t0) {
21771
22233
  if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
21772
22234
  t4 = (input) => {
21773
22235
  if (input === "p") {
21774
- setPromptExpanded(_temp40);
22236
+ setPromptExpanded(_temp41);
21775
22237
  }
21776
22238
  };
21777
22239
  $[6] = t4;
@@ -21862,7 +22324,7 @@ function TeammateDetailView(t0) {
21862
22324
  bold: true,
21863
22325
  children: "Tasks"
21864
22326
  }, undefined, false, undefined, this),
21865
- teammateTasks.map(_temp210)
22327
+ teammateTasks.map(_temp211)
21866
22328
  ]
21867
22329
  }, undefined, true, undefined, this);
21868
22330
  $[23] = teammateTasks;
@@ -21955,7 +22417,7 @@ function TeammateDetailView(t0) {
21955
22417
  }
21956
22418
  return t13;
21957
22419
  }
21958
- function _temp210(task_0) {
22420
+ function _temp211(task_0) {
21959
22421
  return /* @__PURE__ */ jsx_dev_runtime60.jsxDEV(ThemedText, {
21960
22422
  color: task_0.status === "completed" ? "success" : undefined,
21961
22423
  children: [
@@ -21965,7 +22427,7 @@ function _temp210(task_0) {
21965
22427
  ]
21966
22428
  }, task_0.id, true, undefined, this);
21967
22429
  }
21968
- function _temp40(prev) {
22430
+ function _temp41(prev) {
21969
22431
  return !prev;
21970
22432
  }
21971
22433
  async function killTeammate(paneId, backendType, teamName, teammateId, teammateName, setAppState) {
@@ -23190,7 +23652,7 @@ function VimTextInput(props) {
23190
23652
  const t11 = props.multiline;
23191
23653
  const t12 = props.showCursor ? " " : "";
23192
23654
  const t13 = props.highlightPastedText;
23193
- const t14 = isTerminalFocused ? source_default.inverse : _temp41;
23655
+ const t14 = isTerminalFocused ? source_default.inverse : _temp46;
23194
23656
  let t15;
23195
23657
  if ($[0] !== theme) {
23196
23658
  t15 = color("text", theme);
@@ -23303,7 +23765,7 @@ function VimTextInput(props) {
23303
23765
  }
23304
23766
  return t19;
23305
23767
  }
23306
- function _temp41(text) {
23768
+ function _temp46(text) {
23307
23769
  return text;
23308
23770
  }
23309
23771
 
@@ -23705,18 +24167,18 @@ function BackgroundTaskStatus(t0) {
23705
24167
  const {
23706
24168
  columns
23707
24169
  } = useTerminalSize();
23708
- const tasks = useAppState(_temp47);
23709
- const viewingAgentTaskId = useAppState(_temp211);
24170
+ const tasks = useAppState(_temp48);
24171
+ const viewingAgentTaskId = useAppState(_temp212);
23710
24172
  let t3;
23711
24173
  if ($[0] !== tasks) {
23712
- t3 = Object.values(tasks ?? {}).filter(_temp38);
24174
+ t3 = Object.values(tasks ?? {}).filter(_temp39);
23713
24175
  $[0] = tasks;
23714
24176
  $[1] = t3;
23715
24177
  } else {
23716
24178
  t3 = $[1];
23717
24179
  }
23718
24180
  const runningTasks = t3;
23719
- const expandedView = useAppState(_temp46);
24181
+ const expandedView = useAppState(_temp47);
23720
24182
  const showSpinnerTree = expandedView === "teammates";
23721
24183
  const allTeammates = !showSpinnerTree && runningTasks.length > 0 && runningTasks.every(_temp54);
23722
24184
  let t4;
@@ -23991,16 +24453,16 @@ function _temp64(t_1) {
23991
24453
  function _temp54(t_0) {
23992
24454
  return t_0.type === "in_process_teammate";
23993
24455
  }
23994
- function _temp46(s_1) {
24456
+ function _temp47(s_1) {
23995
24457
  return s_1.expandedView;
23996
24458
  }
23997
- function _temp38(t) {
24459
+ function _temp39(t) {
23998
24460
  return isBackgroundTask(t) && true;
23999
24461
  }
24000
- function _temp211(s_0) {
24462
+ function _temp212(s_0) {
24001
24463
  return s_0.viewingAgentTaskId;
24002
24464
  }
24003
- function _temp47(s) {
24465
+ function _temp48(s) {
24004
24466
  return s.tasks;
24005
24467
  }
24006
24468
  function AgentPill(t0) {
@@ -24218,7 +24680,7 @@ function TeamStatus(t0) {
24218
24680
  const teamContext = useAppState(_temp49);
24219
24681
  let t1;
24220
24682
  if ($[0] !== teamContext) {
24221
- t1 = teamContext ? Object.values(teamContext.teammates).filter(_temp212).length : 0;
24683
+ t1 = teamContext ? Object.values(teamContext.teammates).filter(_temp213).length : 0;
24222
24684
  $[0] = teamContext;
24223
24685
  $[1] = t1;
24224
24686
  } else {
@@ -24294,7 +24756,7 @@ function TeamStatus(t0) {
24294
24756
  }
24295
24757
  return t6;
24296
24758
  }
24297
- function _temp212(t) {
24759
+ function _temp213(t) {
24298
24760
  return t.name !== "team-lead";
24299
24761
  }
24300
24762
  function _temp49(s) {
@@ -25084,8 +25546,7 @@ var PromptInputFooter_default = import_react59.memo(PromptInputFooter);
25084
25546
  function BridgeStatusIndicator({
25085
25547
  bridgeSelected
25086
25548
  }) {
25087
- if (true)
25088
- return null;
25549
+ /* buddy-enabled */
25089
25550
  const enabled = useAppState((s) => s.replBridgeEnabled);
25090
25551
  const connected = useAppState((s_0) => s_0.replBridgeConnected);
25091
25552
  const sessionActive = useAppState((s_1) => s_1.replBridgeSessionActive);
@@ -25681,10 +26142,7 @@ function PromptInput({
25681
26142
  const {
25682
26143
  companion: _companion,
25683
26144
  companionMuted
25684
- } = {
25685
- companion: undefined,
25686
- companionMuted: undefined
25687
- };
26145
+ } = getGlobalConfig();
25688
26146
  const companionFooterVisible = !!_companion && !companionMuted;
25689
26147
  const briefOwnsGap = false;
25690
26148
  const mainLoopModel_ = useAppState((s) => s.mainLoopModel);
@@ -26717,7 +27175,10 @@ function PromptInput({
26717
27175
  }
26718
27176
  switch (footerItemSelected) {
26719
27177
  case "companion":
26720
- if (false) {}
27178
+ if (true) {
27179
+ selectFooterItem(null);
27180
+ onSubmit("/buddy");
27181
+ }
26721
27182
  break;
26722
27183
  case "tasks":
26723
27184
  if (isTeammateMode) {
@@ -26876,7 +27337,7 @@ function PromptInput({
26876
27337
  });
26877
27338
  }, [effortNotificationText, addNotification, removeNotification]);
26878
27339
  useBuddyNotification();
26879
- const companionSpeaking = false;
27340
+ const companionSpeaking = useAppState((s) => s.companionReaction !== undefined);
26880
27341
  const {
26881
27342
  columns,
26882
27343
  rows
@@ -31398,7 +31859,7 @@ function SessionBackgroundHint(t0) {
31398
31859
  if (hasForegroundTasks(state)) {
31399
31860
  backgroundAll(() => appStateStore.getState(), setAppState);
31400
31861
  if (!getGlobalConfig().hasUsedBackgroundTask) {
31401
- saveGlobalConfig(_temp213);
31862
+ saveGlobalConfig(_temp214);
31402
31863
  }
31403
31864
  } else {
31404
31865
  if (isEnvTruthy("false") && isLoading) {
@@ -31461,7 +31922,7 @@ function SessionBackgroundHint(t0) {
31461
31922
  }
31462
31923
  return t5;
31463
31924
  }
31464
- function _temp213(c) {
31925
+ function _temp214(c) {
31465
31926
  return c.hasUsedBackgroundTask ? c : {
31466
31927
  ...c,
31467
31928
  hasUsedBackgroundTask: true
@@ -32459,9 +32920,7 @@ function useMemorySurvey(messages, isLoading, hasActivePrompt = false, {
32459
32920
  });
32460
32921
  }, []);
32461
32922
  const shouldShowTranscriptPrompt = import_react97.useCallback((selected_0) => {
32462
- if (true) {
32463
- return false;
32464
- }
32923
+ /* buddy-enabled */
32465
32924
  if (selected_0 !== "bad" && selected_0 !== "good") {
32466
32925
  return false;
32467
32926
  }
@@ -32627,7 +33086,7 @@ function usePostCompactSurvey(messages, isLoading, t0, t1) {
32627
33086
  const seenCompactBoundaries = import_react98.useRef(t4);
32628
33087
  const pendingCompactBoundaryUuid = import_react98.useRef(null);
32629
33088
  const onOpen = _temp58;
32630
- const onSelect = _temp214;
33089
+ const onSelect = _temp215;
32631
33090
  let t5;
32632
33091
  if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
32633
33092
  t5 = {
@@ -32665,7 +33124,7 @@ function usePostCompactSurvey(messages, isLoading, t0, t1) {
32665
33124
  import_react98.useEffect(t6, t7);
32666
33125
  let t8;
32667
33126
  if ($[7] !== messages) {
32668
- t8 = new Set(messages.filter(_temp310).map(_temp48));
33127
+ t8 = new Set(messages.filter(_temp311).map(_temp410));
32669
33128
  $[7] = messages;
32670
33129
  $[8] = t8;
32671
33130
  } else {
@@ -32741,13 +33200,13 @@ function usePostCompactSurvey(messages, isLoading, t0, t1) {
32741
33200
  }
32742
33201
  return t11;
32743
33202
  }
32744
- function _temp48(msg_0) {
33203
+ function _temp410(msg_0) {
32745
33204
  return msg_0.uuid;
32746
33205
  }
32747
- function _temp310(msg) {
33206
+ function _temp311(msg) {
32748
33207
  return isCompactBoundaryMessage(msg);
32749
33208
  }
32750
- function _temp214(appearanceId_0, selected) {
33209
+ function _temp215(appearanceId_0, selected) {
32751
33210
  const smCompactionEnabled_0 = shouldUseSessionMemoryCompaction();
32752
33211
  logEvent("tengu_post_compact_survey_event", {
32753
33212
  event_type: "responded",
@@ -33173,9 +33632,9 @@ function useStartupNotification(compute) {
33173
33632
 
33174
33633
  // src/hooks/notifs/useInstallMessages.tsx
33175
33634
  function useInstallMessages() {
33176
- useStartupNotification(_temp215);
33635
+ useStartupNotification(_temp216);
33177
33636
  }
33178
- async function _temp215() {
33637
+ async function _temp216() {
33179
33638
  const messages = await checkInstall();
33180
33639
  return messages.map(_temp59);
33181
33640
  }
@@ -34069,9 +34528,9 @@ function useMcpConnectivityStatus(t0) {
34069
34528
  return;
34070
34529
  }
34071
34530
  const failedLocalClients = mcpClients.filter(_temp68);
34072
- const failedClaudeAiClients = mcpClients.filter(_temp216);
34073
- const needsAuthLocalServers = mcpClients.filter(_temp311);
34074
- const needsAuthClaudeAiServers = mcpClients.filter(_temp410);
34531
+ const failedClaudeAiClients = mcpClients.filter(_temp217);
34532
+ const needsAuthLocalServers = mcpClients.filter(_temp312);
34533
+ const needsAuthClaudeAiServers = mcpClients.filter(_temp412);
34075
34534
  if (failedLocalClients.length === 0 && failedClaudeAiClients.length === 0 && needsAuthLocalServers.length === 0 && needsAuthClaudeAiServers.length === 0) {
34076
34535
  return;
34077
34536
  }
@@ -34186,13 +34645,13 @@ function useMcpConnectivityStatus(t0) {
34186
34645
  }
34187
34646
  import_react104.useEffect(t2, t3);
34188
34647
  }
34189
- function _temp410(client_2) {
34648
+ function _temp412(client_2) {
34190
34649
  return client_2.type === "needs-auth" && client_2.config.type === "claudeai-proxy" && hasClaudeAiMcpEverConnected(client_2.name);
34191
34650
  }
34192
- function _temp311(client_1) {
34651
+ function _temp312(client_1) {
34193
34652
  return client_1.type === "needs-auth" && client_1.config.type !== "claudeai-proxy";
34194
34653
  }
34195
- function _temp216(client_0) {
34654
+ function _temp217(client_0) {
34196
34655
  return client_0.type === "failed" && client_0.config.type === "claudeai-proxy" && hasClaudeAiMcpEverConnected(client_0.name);
34197
34656
  }
34198
34657
  function _temp68(client) {
@@ -34275,7 +34734,7 @@ function useLspInitializationNotification() {
34275
34734
  notifiedErrorsRef.current.add(errorKey);
34276
34735
  logForDebugging(`LSP error: ${source} - ${errorMessage4}`);
34277
34736
  setAppState((prev) => {
34278
- const existingKeys = new Set(prev.plugins.errors.map(_temp217));
34737
+ const existingKeys = new Set(prev.plugins.errors.map(_temp218));
34279
34738
  const stateErrorKey = `generic-error:${source}:${errorMessage4}`;
34280
34739
  if (existingKeys.has(stateErrorKey)) {
34281
34740
  return prev;
@@ -34377,7 +34836,7 @@ function useLspInitializationNotification() {
34377
34836
  }
34378
34837
  React33.useEffect(t3, t4);
34379
34838
  }
34380
- function _temp217(e) {
34839
+ function _temp218(e) {
34381
34840
  if (e.type === "generic-error") {
34382
34841
  return `generic-error:${e.source}:${e.error}`;
34383
34842
  }
@@ -34817,7 +35276,7 @@ function useLspPluginRecommendation() {
34817
35276
  break bb60;
34818
35277
  }
34819
35278
  case "disable": {
34820
- saveGlobalConfig(_temp218);
35279
+ saveGlobalConfig(_temp219);
34821
35280
  }
34822
35281
  }
34823
35282
  clearRecommendation();
@@ -34844,7 +35303,7 @@ function useLspPluginRecommendation() {
34844
35303
  }
34845
35304
  return t4;
34846
35305
  }
34847
- function _temp218(current) {
35306
+ function _temp219(current) {
34848
35307
  if (current.lspRecommendationDisabled) {
34849
35308
  return current;
34850
35309
  }
@@ -35258,7 +35717,7 @@ function usePluginInstallationStatus() {
35258
35717
  }
35259
35718
  let t12;
35260
35719
  if ($[1] !== installationStatus.marketplaces) {
35261
- t12 = installationStatus.marketplaces.filter(_temp219);
35720
+ t12 = installationStatus.marketplaces.filter(_temp220);
35262
35721
  $[1] = installationStatus.marketplaces;
35263
35722
  $[2] = t12;
35264
35723
  } else {
@@ -35267,7 +35726,7 @@ function usePluginInstallationStatus() {
35267
35726
  const failedMarketplaces = t12;
35268
35727
  let t22;
35269
35728
  if ($[3] !== installationStatus.plugins) {
35270
- t22 = installationStatus.plugins.filter(_temp312);
35729
+ t22 = installationStatus.plugins.filter(_temp313);
35271
35730
  $[3] = installationStatus.plugins;
35272
35731
  $[4] = t22;
35273
35732
  } else {
@@ -35358,10 +35817,10 @@ function usePluginInstallationStatus() {
35358
35817
  }
35359
35818
  import_react106.useEffect(t1, t2);
35360
35819
  }
35361
- function _temp312(p) {
35820
+ function _temp313(p) {
35362
35821
  return p.status === "failed";
35363
35822
  }
35364
- function _temp219(m) {
35823
+ function _temp220(m) {
35365
35824
  return m.status === "failed";
35366
35825
  }
35367
35826
  function _temp71(s) {
@@ -35971,7 +36430,7 @@ function useIDEStatusIndicator(t0) {
35971
36430
  if (hasShownHintRef.current || (getGlobalConfig().ideHintShownCount ?? 0) >= MAX_IDE_HINT_SHOW_COUNT) {
35972
36431
  return;
35973
36432
  }
35974
- const timeoutId = setTimeout(_temp220, 3000, hasShownHintRef, addNotification);
36433
+ const timeoutId = setTimeout(_temp221, 3000, hasShownHintRef, addNotification);
35975
36434
  return () => clearTimeout(timeoutId);
35976
36435
  };
35977
36436
  t3 = [addNotification, removeNotification, ideStatus, showJetBrainsInfo];
@@ -36076,7 +36535,7 @@ function useIDEStatusIndicator(t0) {
36076
36535
  }
36077
36536
  import_react111.useEffect(t8, t9);
36078
36537
  }
36079
- function _temp220(hasShownHintRef_0, addNotification_0) {
36538
+ function _temp221(hasShownHintRef_0, addNotification_0) {
36080
36539
  detectIDEs(true).then((infos) => {
36081
36540
  const ideName_0 = infos[0]?.name;
36082
36541
  if (ideName_0 && !hasShownHintRef_0.current) {
@@ -36161,9 +36620,9 @@ init_config2();
36161
36620
  var jsx_dev_runtime96 = __toESM(require_jsx_dev_runtime(), 1);
36162
36621
  var MAX_SHOW_COUNT = 3;
36163
36622
  function useCanSwitchToExistingSubscription() {
36164
- useStartupNotification(_temp221);
36623
+ useStartupNotification(_temp222);
36165
36624
  }
36166
- async function _temp221() {
36625
+ async function _temp222() {
36167
36626
  if ((getGlobalConfig().subscriptionNoticeCount ?? 0) >= MAX_SHOW_COUNT) {
36168
36627
  return null;
36169
36628
  }
@@ -36317,7 +36776,7 @@ function useFastModeNotification() {
36317
36776
  });
36318
36777
  } else {
36319
36778
  if (isFastMode) {
36320
- setAppState(_temp222);
36779
+ setAppState(_temp223);
36321
36780
  addNotification({
36322
36781
  key: ORG_CHANGED_KEY,
36323
36782
  color: "warning",
@@ -36350,7 +36809,7 @@ function useFastModeNotification() {
36350
36809
  return;
36351
36810
  }
36352
36811
  return onFastModeOverageRejection((message) => {
36353
- setAppState(_temp313);
36812
+ setAppState(_temp314);
36354
36813
  addNotification({
36355
36814
  key: OVERAGE_REJECTED_KEY,
36356
36815
  color: "warning",
@@ -36417,13 +36876,13 @@ function useFastModeNotification() {
36417
36876
  }
36418
36877
  import_react113.useEffect(t4, t5);
36419
36878
  }
36420
- function _temp313(prev_0) {
36879
+ function _temp314(prev_0) {
36421
36880
  return {
36422
36881
  ...prev_0,
36423
36882
  fastMode: false
36424
36883
  };
36425
36884
  }
36426
- function _temp222(prev) {
36885
+ function _temp223(prev) {
36427
36886
  return {
36428
36887
  ...prev,
36429
36888
  fastMode: false
@@ -36542,9 +37001,7 @@ function AutoRunIssueNotification(t0) {
36542
37001
  return t6;
36543
37002
  }
36544
37003
  function shouldAutoRunIssue(reason) {
36545
- if (true) {
36546
- return false;
36547
- }
37004
+ /* buddy-enabled */
36548
37005
  switch (reason) {
36549
37006
  case "feedback_survey_bad":
36550
37007
  return false;
@@ -37628,7 +38085,7 @@ function AnimatedTerminalTitle(t0) {
37628
38085
  if (disabled || noPrefix || !isAnimating || !terminalFocused) {
37629
38086
  return;
37630
38087
  }
37631
- const interval = setInterval(_temp223, TITLE_ANIMATION_INTERVAL_MS, setFrame);
38088
+ const interval = setInterval(_temp224, TITLE_ANIMATION_INTERVAL_MS, setFrame);
37632
38089
  return () => clearInterval(interval);
37633
38090
  };
37634
38091
  t2 = [disabled, noPrefix, isAnimating, terminalFocused];
@@ -37647,7 +38104,7 @@ function AnimatedTerminalTitle(t0) {
37647
38104
  useTerminalTitle(disabled ? null : noPrefix ? title : `${prefix} ${title}`);
37648
38105
  return null;
37649
38106
  }
37650
- function _temp223(setFrame_0) {
38107
+ function _temp224(setFrame_0) {
37651
38108
  return setFrame_0(_temp84);
37652
38109
  }
37653
38110
  function _temp84(f) {
@@ -38055,7 +38512,12 @@ function REPL({
38055
38512
  onScrollAway(handle);
38056
38513
  if (false)
38057
38514
  ;
38058
- if (false) {}
38515
+ if (true) {
38516
+ setAppState((prev) => prev.companionReaction === undefined ? prev : {
38517
+ ...prev,
38518
+ companionReaction: undefined
38519
+ });
38520
+ }
38059
38521
  }
38060
38522
  }, [onRepin, onScrollAway, maybeLoadOlder, setAppState]);
38061
38523
  const awaitPendingHooks = useDeferredHookMessages(pendingHookMessages, setMessages);
@@ -38989,7 +39451,12 @@ Error: sandbox required but unavailable: ${reason}
38989
39451
  })) {
38990
39452
  onQueryEvent(event);
38991
39453
  }
38992
- if (false) {}
39454
+ if (true) {
39455
+ fireCompanionObserver(messagesRef.current, (reaction) => setAppState((prev) => prev.companionReaction === reaction ? prev : {
39456
+ ...prev,
39457
+ companionReaction: reaction
39458
+ }));
39459
+ }
38993
39460
  queryCheckpoint("query_end");
38994
39461
  if (false) {}
38995
39462
  resetLoadingState();
@@ -39087,7 +39554,7 @@ Error: sandbox required but unavailable: ${reason}
39087
39554
  const oldPlanSlug = initialMsg.message.planContent ? getPlanSlug() : undefined;
39088
39555
  const {
39089
39556
  clearConversation
39090
- } = await import("./chunk-9c3hmh6k.js");
39557
+ } = await import("./chunk-a7e608yv.js");
39091
39558
  await clearConversation({
39092
39559
  setMessages,
39093
39560
  readFileState: readFileState.current,
@@ -40213,7 +40680,7 @@ Note: ctrl + z now suspends Claude Code, ctrl + _ undoes input.
40213
40680
  children: /* @__PURE__ */ jsx_dev_runtime100.jsxDEV(FullscreenLayout, {
40214
40681
  scrollRef,
40215
40682
  overlay: toolPermissionOverlay,
40216
- bottomFloat: undefined,
40683
+ bottomFloat: companionVisible && !companionNarrow ? /* @__PURE__ */ jsx_dev_runtime100.jsxDEV(CompanionFloatingBubble, {}, undefined, false, undefined, this) : undefined,
40217
40684
  modal: centeredModal,
40218
40685
  modalScrollRef,
40219
40686
  dividerYRef,
@@ -40292,11 +40759,11 @@ Note: ctrl + z now suspends Claude Code, ctrl + _ undoes input.
40292
40759
  ]
40293
40760
  }, undefined, true, undefined, this),
40294
40761
  bottom: /* @__PURE__ */ jsx_dev_runtime100.jsxDEV(ThemedBox_default, {
40295
- flexDirection: "row",
40762
+ flexDirection: companionNarrow ? "column" : "row",
40296
40763
  width: "100%",
40297
- alignItems: "flex-end",
40764
+ alignItems: companionNarrow ? undefined : "flex-end",
40298
40765
  children: [
40299
- null,
40766
+ companionNarrow && isFullscreenEnvEnabled() && companionVisible ? /* @__PURE__ */ jsx_dev_runtime100.jsxDEV(CompanionSprite, {}, undefined, false, undefined, this) : null,
40300
40767
  /* @__PURE__ */ jsx_dev_runtime100.jsxDEV(ThemedBox_default, {
40301
40768
  flexDirection: "column",
40302
40769
  flexGrow: 1,
@@ -40498,7 +40965,7 @@ Note: ctrl + z now suspends Claude Code, ctrl + _ undoes input.
40498
40965
  if (action === "clear") {
40499
40966
  const {
40500
40967
  clearConversation
40501
- } = await import("./chunk-9c3hmh6k.js");
40968
+ } = await import("./chunk-a7e608yv.js");
40502
40969
  await clearConversation({
40503
40970
  setMessages,
40504
40971
  readFileState: readFileState.current,
@@ -40745,7 +41212,7 @@ Note: ctrl + z now suspends Claude Code, ctrl + _ undoes input.
40745
41212
  false
40746
41213
  ]
40747
41214
  }, undefined, true, undefined, this),
40748
- null
41215
+ !(companionNarrow && isFullscreenEnvEnabled()) && companionVisible ? /* @__PURE__ */ jsx_dev_runtime100.jsxDEV(CompanionSprite, {}, undefined, false, undefined, this) : null
40749
41216
  ]
40750
41217
  }, undefined, true, undefined, this)
40751
41218
  }, undefined, false, undefined, this)