beast-agent 2.10.0 → 2.12.0
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/package.json +1 -1
- package/src/agent/engine.js +24 -0
- package/src/agent/tools.js +15 -0
- package/src/main.js +556 -9
- package/src/preload.js +13 -0
- package/src/renderer/i18n.js +2 -0
- package/src/renderer/index.html +50 -3
- package/src/renderer/renderer.js +551 -9
- package/src/renderer/style.css +269 -0
package/src/renderer/style.css
CHANGED
|
@@ -3581,6 +3581,275 @@ body.studio-mode #ideRow { display: none; }
|
|
|
3581
3581
|
#studioRow { display: none; flex: 1; min-height: 0; }
|
|
3582
3582
|
body.studio-mode #studioRow { display: flex; flex-direction: row; }
|
|
3583
3583
|
|
|
3584
|
+
/* ================= BEAST SANDBOX MODU =================
|
|
3585
|
+
Studio düzeniyle birebir: sol → repo dosya konsolu (filePanel yeniden
|
|
3586
|
+
kullanılır), ortada CHAT, sağda ÇALIŞTIR (yönetilen süreç). Sohbet
|
|
3587
|
+
oturumları Sandbox'a özeldir; chat geçmişi ve Code/Studio ile paylaşılmaz. */
|
|
3588
|
+
body.sandbox-mode #newChat,
|
|
3589
|
+
body.sandbox-mode #sessList,
|
|
3590
|
+
body.sandbox-mode #botBar { display: none; }
|
|
3591
|
+
body.sandbox-mode #filePanel {
|
|
3592
|
+
display: flex;
|
|
3593
|
+
flex: 1;
|
|
3594
|
+
width: auto;
|
|
3595
|
+
min-width: 0;
|
|
3596
|
+
border-right: none;
|
|
3597
|
+
}
|
|
3598
|
+
body.sandbox-mode #filePanelTitle { display: inline; }
|
|
3599
|
+
body.sandbox-mode #filePreview { display: none; }
|
|
3600
|
+
body.sandbox-mode #bcHistWrap { display: none; }
|
|
3601
|
+
/* SANDBOX modunda orta: sohbet + composer + diğer mod satırları gizli */
|
|
3602
|
+
body.sandbox-mode #chatScroll,
|
|
3603
|
+
body.sandbox-mode #composerWrap,
|
|
3604
|
+
body.sandbox-mode #ideRow,
|
|
3605
|
+
body.sandbox-mode #studioRow { display: none; }
|
|
3606
|
+
|
|
3607
|
+
#sandboxRow { display: none; flex: 1; min-height: 0; }
|
|
3608
|
+
body.sandbox-mode #sandboxRow { display: flex; flex-direction: row; }
|
|
3609
|
+
|
|
3610
|
+
#sbPanel {
|
|
3611
|
+
display: flex;
|
|
3612
|
+
flex-direction: column;
|
|
3613
|
+
min-height: 0;
|
|
3614
|
+
min-width: 300px;
|
|
3615
|
+
flex: 0 0 var(--sbSplit, 480px);
|
|
3616
|
+
background: var(--bg);
|
|
3617
|
+
overflow: hidden;
|
|
3618
|
+
}
|
|
3619
|
+
#sbRun {
|
|
3620
|
+
display: flex;
|
|
3621
|
+
flex-direction: column;
|
|
3622
|
+
min-height: 0;
|
|
3623
|
+
min-width: 240px;
|
|
3624
|
+
flex: 1;
|
|
3625
|
+
background: var(--bg);
|
|
3626
|
+
overflow: hidden;
|
|
3627
|
+
border-left: 1px solid var(--border);
|
|
3628
|
+
}
|
|
3629
|
+
|
|
3630
|
+
#sbHead {
|
|
3631
|
+
flex: none;
|
|
3632
|
+
display: flex;
|
|
3633
|
+
align-items: center;
|
|
3634
|
+
gap: 6px;
|
|
3635
|
+
padding: 9px 12px;
|
|
3636
|
+
border-bottom: 1px solid var(--border);
|
|
3637
|
+
background: var(--panel);
|
|
3638
|
+
}
|
|
3639
|
+
#sbTitle { font-size: 11px; font-weight: 800; letter-spacing: 1px; color: var(--accent); flex: none; }
|
|
3640
|
+
#sbRepo {
|
|
3641
|
+
flex: 1;
|
|
3642
|
+
min-width: 0;
|
|
3643
|
+
background: var(--panel2);
|
|
3644
|
+
border: 1px solid var(--border);
|
|
3645
|
+
color: var(--text);
|
|
3646
|
+
font-size: 12px;
|
|
3647
|
+
padding: 4px 6px;
|
|
3648
|
+
border-radius: 6px;
|
|
3649
|
+
}
|
|
3650
|
+
#sbHead button {
|
|
3651
|
+
background: none;
|
|
3652
|
+
border: none;
|
|
3653
|
+
color: var(--muted);
|
|
3654
|
+
font-size: 13px;
|
|
3655
|
+
cursor: pointer;
|
|
3656
|
+
padding: 3px 7px;
|
|
3657
|
+
border-radius: 6px;
|
|
3658
|
+
}
|
|
3659
|
+
#sbHead button:hover { background: var(--panel2); color: var(--text); }
|
|
3660
|
+
#sbRemove:hover { color: var(--err); }
|
|
3661
|
+
|
|
3662
|
+
#sbCloneRow {
|
|
3663
|
+
flex: none;
|
|
3664
|
+
display: flex;
|
|
3665
|
+
gap: 6px;
|
|
3666
|
+
padding: 8px 12px;
|
|
3667
|
+
border-bottom: 1px solid var(--border);
|
|
3668
|
+
}
|
|
3669
|
+
#sbCloneInput {
|
|
3670
|
+
flex: 1;
|
|
3671
|
+
min-width: 0;
|
|
3672
|
+
background: var(--panel2);
|
|
3673
|
+
border: 1px solid var(--border);
|
|
3674
|
+
color: var(--text);
|
|
3675
|
+
font-size: 12px;
|
|
3676
|
+
padding: 5px 8px;
|
|
3677
|
+
border-radius: 6px;
|
|
3678
|
+
}
|
|
3679
|
+
#sbCloneInput:focus { border-color: var(--accent); outline: none; }
|
|
3680
|
+
#sbCloneRow button {
|
|
3681
|
+
flex: none;
|
|
3682
|
+
background: var(--panel2);
|
|
3683
|
+
border: 1px solid var(--border);
|
|
3684
|
+
color: var(--text);
|
|
3685
|
+
font-size: 12px;
|
|
3686
|
+
padding: 4px 9px;
|
|
3687
|
+
border-radius: 6px;
|
|
3688
|
+
cursor: pointer;
|
|
3689
|
+
}
|
|
3690
|
+
#sbCloneRow button:hover { border-color: var(--accent); }
|
|
3691
|
+
|
|
3692
|
+
#sbOut {
|
|
3693
|
+
flex: 1;
|
|
3694
|
+
min-height: 0;
|
|
3695
|
+
overflow-y: auto;
|
|
3696
|
+
padding: 10px 12px;
|
|
3697
|
+
font-family: Consolas, monospace;
|
|
3698
|
+
font-size: 12px;
|
|
3699
|
+
line-height: 1.5;
|
|
3700
|
+
white-space: pre-wrap;
|
|
3701
|
+
word-break: break-word;
|
|
3702
|
+
}
|
|
3703
|
+
#sbStatus {
|
|
3704
|
+
flex: none;
|
|
3705
|
+
align-self: center;
|
|
3706
|
+
margin: 0 12px 6px;
|
|
3707
|
+
padding: 3px 10px;
|
|
3708
|
+
font-size: 11px;
|
|
3709
|
+
color: var(--accent);
|
|
3710
|
+
background: var(--accent-dim);
|
|
3711
|
+
border: 1px solid var(--accent);
|
|
3712
|
+
border-radius: 999px;
|
|
3713
|
+
max-width: calc(100% - 24px);
|
|
3714
|
+
overflow: hidden;
|
|
3715
|
+
text-overflow: ellipsis;
|
|
3716
|
+
white-space: nowrap;
|
|
3717
|
+
}
|
|
3718
|
+
#sbInputRow {
|
|
3719
|
+
flex: none;
|
|
3720
|
+
display: flex;
|
|
3721
|
+
gap: 6px;
|
|
3722
|
+
align-items: flex-end;
|
|
3723
|
+
padding: 8px 12px;
|
|
3724
|
+
border-top: 1px solid var(--border);
|
|
3725
|
+
background: var(--panel);
|
|
3726
|
+
}
|
|
3727
|
+
#sbInput {
|
|
3728
|
+
flex: 1;
|
|
3729
|
+
min-width: 0;
|
|
3730
|
+
resize: none;
|
|
3731
|
+
background: var(--panel2);
|
|
3732
|
+
border: 1px solid var(--border);
|
|
3733
|
+
color: var(--text);
|
|
3734
|
+
font-size: 12.5px;
|
|
3735
|
+
padding: 7px 9px;
|
|
3736
|
+
border-radius: 8px;
|
|
3737
|
+
font-family: inherit;
|
|
3738
|
+
}
|
|
3739
|
+
#sbInput:focus { border-color: var(--accent); outline: none; }
|
|
3740
|
+
#sbInput.expand { overflow-y: auto; }
|
|
3741
|
+
|
|
3742
|
+
/* ---------- ÇALIŞTIR bölmesi ---------- */
|
|
3743
|
+
#sbRunHead {
|
|
3744
|
+
flex: none;
|
|
3745
|
+
display: flex;
|
|
3746
|
+
align-items: center;
|
|
3747
|
+
gap: 10px;
|
|
3748
|
+
padding: 9px 12px;
|
|
3749
|
+
border-bottom: 1px solid var(--border);
|
|
3750
|
+
background: var(--panel);
|
|
3751
|
+
}
|
|
3752
|
+
#sbRunTitle { font-size: 11px; font-weight: 800; letter-spacing: 1px; color: var(--accent); flex: none; }
|
|
3753
|
+
#sbRunCwd {
|
|
3754
|
+
color: var(--muted);
|
|
3755
|
+
font-family: Consolas, monospace;
|
|
3756
|
+
font-size: 11px;
|
|
3757
|
+
min-width: 0;
|
|
3758
|
+
overflow: hidden;
|
|
3759
|
+
text-overflow: ellipsis;
|
|
3760
|
+
white-space: nowrap;
|
|
3761
|
+
}
|
|
3762
|
+
#sbRunBtns {
|
|
3763
|
+
flex: none;
|
|
3764
|
+
display: flex;
|
|
3765
|
+
gap: 6px;
|
|
3766
|
+
padding: 8px 12px;
|
|
3767
|
+
border-bottom: 1px solid var(--border);
|
|
3768
|
+
flex-wrap: wrap;
|
|
3769
|
+
}
|
|
3770
|
+
#sbRunBtns button {
|
|
3771
|
+
background: var(--panel2);
|
|
3772
|
+
border: 1px solid var(--border);
|
|
3773
|
+
color: var(--text);
|
|
3774
|
+
font-size: 12px;
|
|
3775
|
+
padding: 5px 10px;
|
|
3776
|
+
border-radius: 6px;
|
|
3777
|
+
cursor: pointer;
|
|
3778
|
+
}
|
|
3779
|
+
#sbRunBtns button:hover { border-color: var(--accent); }
|
|
3780
|
+
#sbRunStop { background: var(--err) !important; color: #fff !important; border-color: var(--err) !important; }
|
|
3781
|
+
#sbRunCustom {
|
|
3782
|
+
flex: none;
|
|
3783
|
+
display: flex;
|
|
3784
|
+
gap: 6px;
|
|
3785
|
+
padding: 8px 12px;
|
|
3786
|
+
border-bottom: 1px solid var(--border);
|
|
3787
|
+
}
|
|
3788
|
+
#sbRunCmd {
|
|
3789
|
+
flex: 1;
|
|
3790
|
+
min-width: 0;
|
|
3791
|
+
background: var(--panel2);
|
|
3792
|
+
border: 1px solid var(--border);
|
|
3793
|
+
color: var(--text);
|
|
3794
|
+
font-family: Consolas, monospace;
|
|
3795
|
+
font-size: 12px;
|
|
3796
|
+
padding: 5px 8px;
|
|
3797
|
+
border-radius: 6px;
|
|
3798
|
+
}
|
|
3799
|
+
#sbRunCmd:focus { border-color: var(--accent); outline: none; }
|
|
3800
|
+
#sbRunCustom button {
|
|
3801
|
+
flex: none;
|
|
3802
|
+
background: var(--panel2);
|
|
3803
|
+
border: 1px solid var(--border);
|
|
3804
|
+
color: var(--text);
|
|
3805
|
+
font-size: 12px;
|
|
3806
|
+
padding: 4px 10px;
|
|
3807
|
+
border-radius: 6px;
|
|
3808
|
+
cursor: pointer;
|
|
3809
|
+
}
|
|
3810
|
+
#sbRunCustom button:hover { border-color: var(--accent); }
|
|
3811
|
+
#sbRunOut {
|
|
3812
|
+
flex: 1;
|
|
3813
|
+
min-height: 0;
|
|
3814
|
+
overflow-y: auto;
|
|
3815
|
+
padding: 10px 12px;
|
|
3816
|
+
font-family: Consolas, monospace;
|
|
3817
|
+
font-size: 12px;
|
|
3818
|
+
line-height: 1.45;
|
|
3819
|
+
white-space: pre-wrap;
|
|
3820
|
+
word-break: break-word;
|
|
3821
|
+
background: var(--panel);
|
|
3822
|
+
}
|
|
3823
|
+
#sbRunFoot {
|
|
3824
|
+
flex: none;
|
|
3825
|
+
display: flex;
|
|
3826
|
+
align-items: center;
|
|
3827
|
+
gap: 8px;
|
|
3828
|
+
padding: 8px 12px;
|
|
3829
|
+
border-top: 1px solid var(--border);
|
|
3830
|
+
background: var(--panel);
|
|
3831
|
+
}
|
|
3832
|
+
#sbRunOpen {
|
|
3833
|
+
background: var(--panel2);
|
|
3834
|
+
border: 1px solid var(--border);
|
|
3835
|
+
color: var(--text);
|
|
3836
|
+
font-size: 12px;
|
|
3837
|
+
padding: 4px 10px;
|
|
3838
|
+
border-radius: 6px;
|
|
3839
|
+
cursor: pointer;
|
|
3840
|
+
}
|
|
3841
|
+
#sbRunOpen:hover:not([disabled]) { border-color: var(--accent); }
|
|
3842
|
+
#sbRunOpen[disabled] { opacity: 0.4; cursor: default; }
|
|
3843
|
+
#sbRunUrl {
|
|
3844
|
+
color: var(--muted);
|
|
3845
|
+
font-family: Consolas, monospace;
|
|
3846
|
+
font-size: 11px;
|
|
3847
|
+
min-width: 0;
|
|
3848
|
+
overflow: hidden;
|
|
3849
|
+
text-overflow: ellipsis;
|
|
3850
|
+
white-space: nowrap;
|
|
3851
|
+
}
|
|
3852
|
+
|
|
3584
3853
|
#stPanel {
|
|
3585
3854
|
display: flex;
|
|
3586
3855
|
flex-direction: column;
|