@tencent-ai/codebuddy-code 2.137.1-dev.71bdb0f.202608251753 → 2.137.1-dev.9da3753.202609011433
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/codebuddy-headless.js +22 -22
- package/dist/codebuddy.js +63 -63
- package/package.json +1 -1
- package/product.cloudhosted.json +2 -2
- package/product.internal.json +2 -2
- package/product.ioa.json +2 -2
- package/product.json +15 -367
- package/product.selfhosted.json +2 -2
- package/vendor/shim/sitecustomize.py +25 -18
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tencent-ai/codebuddy-code",
|
|
3
|
-
"version": "2.137.1-dev.
|
|
3
|
+
"version": "2.137.1-dev.9da3753.202609011433",
|
|
4
4
|
"description": "Use CodeBuddy, Tencent's AI assistant, right from your terminal. CodeBuddy can understand your codebase, edit files, run terminal commands, and handle entire workflows for you.",
|
|
5
5
|
"main": "lib/node/index.js",
|
|
6
6
|
"typings": "lib/node/index.d.ts",
|
package/product.cloudhosted.json
CHANGED
|
@@ -816,6 +816,6 @@
|
|
|
816
816
|
"SelectImage": true,
|
|
817
817
|
"SkipToolCallSupportCheck": true
|
|
818
818
|
},
|
|
819
|
-
"commit": "
|
|
820
|
-
"date": "2026-
|
|
819
|
+
"commit": "9da3753c0a1c9b0fff70f3dd45ad87a1db8bdf8a",
|
|
820
|
+
"date": "2026-09-01T06:31:52.374Z"
|
|
821
821
|
}
|
package/product.internal.json
CHANGED
package/product.ioa.json
CHANGED
package/product.json
CHANGED
|
@@ -128,12 +128,12 @@
|
|
|
128
128
|
},
|
|
129
129
|
"models": [
|
|
130
130
|
{
|
|
131
|
-
"credits": "
|
|
131
|
+
"credits": "x2.00 credits",
|
|
132
132
|
"id": "default-model",
|
|
133
133
|
"maxAllowedSize": 80000,
|
|
134
134
|
"maxOutputTokens": 24000,
|
|
135
135
|
"maxInputTokens": 176000,
|
|
136
|
-
"name": "
|
|
136
|
+
"name": "Default",
|
|
137
137
|
"supportsImages": true,
|
|
138
138
|
"supportsToolCall": true,
|
|
139
139
|
"vendor": "e",
|
|
@@ -162,82 +162,6 @@
|
|
|
162
162
|
"reasoning": "default-model-lite"
|
|
163
163
|
}
|
|
164
164
|
},
|
|
165
|
-
{
|
|
166
|
-
"id": "fast-model",
|
|
167
|
-
"name": "Fast",
|
|
168
|
-
"vendor": "i",
|
|
169
|
-
"maxOutputTokens": 32000,
|
|
170
|
-
"maxInputTokens": 200000,
|
|
171
|
-
"maxAllowedSize": 200000,
|
|
172
|
-
"supportsToolCall": true,
|
|
173
|
-
"supportsImages": true,
|
|
174
|
-
"supportsReasoning": true,
|
|
175
|
-
"onlyReasoning": true,
|
|
176
|
-
"temperature": 1,
|
|
177
|
-
"reasoning": {
|
|
178
|
-
"effort": "medium",
|
|
179
|
-
"summary": "auto"
|
|
180
|
-
},
|
|
181
|
-
"credits": "x0.34 credits",
|
|
182
|
-
"descriptionEn": "Fast responses for simple tasks",
|
|
183
|
-
"descriptionZh": "响应快,适合简单任务"
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
"id": "balanced-model",
|
|
187
|
-
"name": "Balanced",
|
|
188
|
-
"vendor": "f",
|
|
189
|
-
"maxOutputTokens": 32000,
|
|
190
|
-
"maxInputTokens": 256000,
|
|
191
|
-
"maxAllowedSize": 256000,
|
|
192
|
-
"supportsToolCall": true,
|
|
193
|
-
"supportsImages": true,
|
|
194
|
-
"supportsReasoning": true,
|
|
195
|
-
"onlyReasoning": true,
|
|
196
|
-
"temperature": 1,
|
|
197
|
-
"reasoning": {
|
|
198
|
-
"effort": "medium",
|
|
199
|
-
"summary": "auto"
|
|
200
|
-
},
|
|
201
|
-
"credits": "x0.59 credits",
|
|
202
|
-
"descriptionEn": "Balanced speed and quality for daily working",
|
|
203
|
-
"descriptionZh": "速度与质量兼顾,日常工作首选",
|
|
204
|
-
"tags": [
|
|
205
|
-
"craft"
|
|
206
|
-
]
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
"id": "primary-model",
|
|
210
|
-
"name": "Primary",
|
|
211
|
-
"vendor": "e",
|
|
212
|
-
"maxOutputTokens": 72000,
|
|
213
|
-
"maxInputTokens": 272000,
|
|
214
|
-
"maxAllowedSize": 272000,
|
|
215
|
-
"supportsToolCall": true,
|
|
216
|
-
"supportsImages": true,
|
|
217
|
-
"supportsReasoning": true,
|
|
218
|
-
"onlyReasoning": true,
|
|
219
|
-
"reasoning": {
|
|
220
|
-
"effort": "high",
|
|
221
|
-
"summary": "auto"
|
|
222
|
-
},
|
|
223
|
-
"credits": "x3.31 credits",
|
|
224
|
-
"descriptionEn": "High-quality output for complex challenges",
|
|
225
|
-
"descriptionZh": "高质量输出,胜任复杂任务"
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
"id": "deep-model",
|
|
229
|
-
"name": "Deep",
|
|
230
|
-
"vendor": "e",
|
|
231
|
-
"maxOutputTokens": 24000,
|
|
232
|
-
"maxInputTokens": 176000,
|
|
233
|
-
"maxAllowedSize": 200000,
|
|
234
|
-
"supportsToolCall": true,
|
|
235
|
-
"supportsImages": true,
|
|
236
|
-
"temperature": 1,
|
|
237
|
-
"credits": "x3.33 credits",
|
|
238
|
-
"descriptionEn": "Deep reasoning for analysis and hard problems",
|
|
239
|
-
"descriptionZh": "深度推理,适合深度分析与难题"
|
|
240
|
-
},
|
|
241
165
|
{
|
|
242
166
|
"credits": "x3.31 credits",
|
|
243
167
|
"id": "gpt-5.5",
|
|
@@ -557,280 +481,6 @@
|
|
|
557
481
|
"text-to-video",
|
|
558
482
|
"image-to-video"
|
|
559
483
|
]
|
|
560
|
-
},
|
|
561
|
-
{
|
|
562
|
-
"credits": "x3.47 credits",
|
|
563
|
-
"id": "gpt-5.6-sol",
|
|
564
|
-
"name": "GPT-5.6-Sol",
|
|
565
|
-
"vendor": "e",
|
|
566
|
-
"maxOutputTokens": 128000,
|
|
567
|
-
"maxInputTokens": 1000000,
|
|
568
|
-
"supportsToolCall": true,
|
|
569
|
-
"supportsImages": true,
|
|
570
|
-
"supportsReasoning": true,
|
|
571
|
-
"onlyReasoning": true,
|
|
572
|
-
"reasoning": {
|
|
573
|
-
"defaultEffort": "high",
|
|
574
|
-
"supportedEfforts": [
|
|
575
|
-
"low",
|
|
576
|
-
"medium",
|
|
577
|
-
"high",
|
|
578
|
-
"xhigh"
|
|
579
|
-
],
|
|
580
|
-
"canDisableThinking": false,
|
|
581
|
-
"summary": "auto"
|
|
582
|
-
},
|
|
583
|
-
"descriptionEn": "OpenAI's flagship model for complex reasoning and long-horizon task",
|
|
584
|
-
"descriptionZh": "OpenAI 旗舰模型,擅长复杂推理与长程任务",
|
|
585
|
-
"maxAllowedSize": 1000000,
|
|
586
|
-
"tags": [
|
|
587
|
-
"badge:企业版:#3B82F6"
|
|
588
|
-
],
|
|
589
|
-
"relatedModels": {
|
|
590
|
-
"lite": "gpt-5.6-sol",
|
|
591
|
-
"reasoning": "gpt-5.6-sol"
|
|
592
|
-
}
|
|
593
|
-
},
|
|
594
|
-
{
|
|
595
|
-
"credits": "x1.39 credits",
|
|
596
|
-
"id": "gpt-5.6-terra",
|
|
597
|
-
"name": "GPT-5.6-Terra",
|
|
598
|
-
"vendor": "e",
|
|
599
|
-
"maxOutputTokens": 128000,
|
|
600
|
-
"maxInputTokens": 1000000,
|
|
601
|
-
"supportsToolCall": true,
|
|
602
|
-
"supportsImages": true,
|
|
603
|
-
"supportsReasoning": true,
|
|
604
|
-
"onlyReasoning": true,
|
|
605
|
-
"reasoning": {
|
|
606
|
-
"defaultEffort": "high",
|
|
607
|
-
"supportedEfforts": [
|
|
608
|
-
"low",
|
|
609
|
-
"medium",
|
|
610
|
-
"high",
|
|
611
|
-
"xhigh"
|
|
612
|
-
],
|
|
613
|
-
"canDisableThinking": false,
|
|
614
|
-
"summary": "auto"
|
|
615
|
-
},
|
|
616
|
-
"descriptionEn": "OpenAI's balanced model for capability, speed, and cost",
|
|
617
|
-
"descriptionZh": "OpenAI 均衡模型,兼顾能力、速度与成本",
|
|
618
|
-
"maxAllowedSize": 1000000,
|
|
619
|
-
"tags": [
|
|
620
|
-
"badge:企业版:#3B82F6"
|
|
621
|
-
],
|
|
622
|
-
"relatedModels": {
|
|
623
|
-
"lite": "gpt-5.6-terra",
|
|
624
|
-
"reasoning": "gpt-5.6-terra"
|
|
625
|
-
}
|
|
626
|
-
},
|
|
627
|
-
{
|
|
628
|
-
"credits": "x0.14 credits",
|
|
629
|
-
"id": "gpt-5.6-luna",
|
|
630
|
-
"name": "GPT-5.6-Luna",
|
|
631
|
-
"vendor": "e",
|
|
632
|
-
"maxOutputTokens": 128000,
|
|
633
|
-
"maxInputTokens": 1000000,
|
|
634
|
-
"supportsToolCall": true,
|
|
635
|
-
"supportsImages": true,
|
|
636
|
-
"supportsReasoning": true,
|
|
637
|
-
"onlyReasoning": true,
|
|
638
|
-
"reasoning": {
|
|
639
|
-
"defaultEffort": "high",
|
|
640
|
-
"supportedEfforts": [
|
|
641
|
-
"low",
|
|
642
|
-
"medium",
|
|
643
|
-
"high",
|
|
644
|
-
"xhigh"
|
|
645
|
-
],
|
|
646
|
-
"canDisableThinking": false,
|
|
647
|
-
"summary": "auto"
|
|
648
|
-
},
|
|
649
|
-
"descriptionEn": "OpenAI's lightweight model for fast responses and everyday tasks",
|
|
650
|
-
"descriptionZh": "OpenAI 轻量模型,响应快速,适合日常任务",
|
|
651
|
-
"maxAllowedSize": 1000000,
|
|
652
|
-
"tags": [
|
|
653
|
-
"badge:企业版:#3B82F6"
|
|
654
|
-
],
|
|
655
|
-
"relatedModels": {
|
|
656
|
-
"lite": "gpt-5.6-luna",
|
|
657
|
-
"reasoning": "gpt-5.6-luna"
|
|
658
|
-
}
|
|
659
|
-
},
|
|
660
|
-
{
|
|
661
|
-
"credits": "x0.79 credits",
|
|
662
|
-
"id": "glm-5.3",
|
|
663
|
-
"name": "GLM-5.3",
|
|
664
|
-
"vendor": "e",
|
|
665
|
-
"maxOutputTokens": 48000,
|
|
666
|
-
"maxInputTokens": 1000000,
|
|
667
|
-
"supportsToolCall": true,
|
|
668
|
-
"supportsImages": true,
|
|
669
|
-
"maxAllowedSize": 1000000,
|
|
670
|
-
"supportsReasoning": true,
|
|
671
|
-
"onlyReasoning": true,
|
|
672
|
-
"temperature": 1,
|
|
673
|
-
"reasoning": {
|
|
674
|
-
"defaultEffort": "high",
|
|
675
|
-
"supportedEfforts": [
|
|
676
|
-
"low",
|
|
677
|
-
"high",
|
|
678
|
-
"max"
|
|
679
|
-
],
|
|
680
|
-
"canDisableThinking": true,
|
|
681
|
-
"summary": "auto"
|
|
682
|
-
},
|
|
683
|
-
"descriptionEn": "Great for daily use",
|
|
684
|
-
"descriptionZh": "能力均衡,适合日常使用",
|
|
685
|
-
"tags": [
|
|
686
|
-
"craft"
|
|
687
|
-
],
|
|
688
|
-
"relatedModels": {
|
|
689
|
-
"lite": "glm-5.3",
|
|
690
|
-
"reasoning": "glm-5.3"
|
|
691
|
-
}
|
|
692
|
-
},
|
|
693
|
-
{
|
|
694
|
-
"credits": "x0.79 credits",
|
|
695
|
-
"id": "glm-5.2",
|
|
696
|
-
"name": "GLM-5.2",
|
|
697
|
-
"vendor": "e",
|
|
698
|
-
"maxOutputTokens": 48000,
|
|
699
|
-
"maxInputTokens": 1000000,
|
|
700
|
-
"supportsToolCall": true,
|
|
701
|
-
"supportsImages": true,
|
|
702
|
-
"maxAllowedSize": 1000000,
|
|
703
|
-
"supportsReasoning": true,
|
|
704
|
-
"onlyReasoning": false,
|
|
705
|
-
"temperature": 1,
|
|
706
|
-
"reasoning": {
|
|
707
|
-
"defaultEffort": "high",
|
|
708
|
-
"supportedEfforts": [
|
|
709
|
-
"high",
|
|
710
|
-
"xhigh"
|
|
711
|
-
],
|
|
712
|
-
"canDisableThinking": true,
|
|
713
|
-
"summary": "auto"
|
|
714
|
-
},
|
|
715
|
-
"descriptionEn": "1M context, built for long-horizon tasks.",
|
|
716
|
-
"descriptionZh": "1M 上下文,擅长长程任务",
|
|
717
|
-
"tags": [
|
|
718
|
-
"craft"
|
|
719
|
-
],
|
|
720
|
-
"relatedModels": {
|
|
721
|
-
"lite": "glm-5.2",
|
|
722
|
-
"reasoning": "glm-5.2"
|
|
723
|
-
}
|
|
724
|
-
},
|
|
725
|
-
{
|
|
726
|
-
"credits": "x0.00",
|
|
727
|
-
"id": "hy3",
|
|
728
|
-
"name": "Hy3",
|
|
729
|
-
"vendor": "j",
|
|
730
|
-
"maxOutputTokens": 64000,
|
|
731
|
-
"maxInputTokens": 192000,
|
|
732
|
-
"maxAllowedSize": 192000,
|
|
733
|
-
"supportsToolCall": true,
|
|
734
|
-
"supportsImages": true,
|
|
735
|
-
"disabledMultimodal": false,
|
|
736
|
-
"supportsReasoning": true,
|
|
737
|
-
"temperature": 0.9,
|
|
738
|
-
"onlyReasoning": true,
|
|
739
|
-
"top_p": 1,
|
|
740
|
-
"reasoning": {
|
|
741
|
-
"canDisableThinking": false,
|
|
742
|
-
"defaultEffort": "high",
|
|
743
|
-
"supportedEfforts": [
|
|
744
|
-
"low",
|
|
745
|
-
"high"
|
|
746
|
-
],
|
|
747
|
-
"summary": "auto"
|
|
748
|
-
},
|
|
749
|
-
"descriptionEn": "Hunyuan's thinking model with enhanced reasoning capabilities",
|
|
750
|
-
"descriptionZh": "混元思考模型,具有增强的推理能力",
|
|
751
|
-
"tags": [
|
|
752
|
-
"craft"
|
|
753
|
-
],
|
|
754
|
-
"relatedModels": {
|
|
755
|
-
"lite": "hy3",
|
|
756
|
-
"reasoning": "hy3"
|
|
757
|
-
}
|
|
758
|
-
},
|
|
759
|
-
{
|
|
760
|
-
"credits": "x1.62 credits",
|
|
761
|
-
"id": "kimi-k3",
|
|
762
|
-
"name": "Kimi-K3",
|
|
763
|
-
"vendor": "f",
|
|
764
|
-
"maxOutputTokens": 32000,
|
|
765
|
-
"maxInputTokens": 1000000,
|
|
766
|
-
"supportsToolCall": true,
|
|
767
|
-
"supportsImages": true,
|
|
768
|
-
"supportsReasoning": true,
|
|
769
|
-
"temperature": 1,
|
|
770
|
-
"onlyReasoning": true,
|
|
771
|
-
"reasoning": {
|
|
772
|
-
"effort": "medium",
|
|
773
|
-
"summary": "auto"
|
|
774
|
-
},
|
|
775
|
-
"maxAllowedSize": 1000000,
|
|
776
|
-
"descriptionEn": "Excels at complex, long-horizon autonomous tasks, with standout front-end skills and strong knowledge work and scientific reasoning",
|
|
777
|
-
"descriptionZh": "擅长处理复杂的长程自主任务,前端开发能力突出,同时在知识工作与科研推理上表现出色。",
|
|
778
|
-
"relatedModels": {
|
|
779
|
-
"lite": "kimi-k3-1",
|
|
780
|
-
"reasoning": "kimi-k3-1"
|
|
781
|
-
}
|
|
782
|
-
},
|
|
783
|
-
{
|
|
784
|
-
"credits": "x0.52 credits",
|
|
785
|
-
"id": "kimi-k2.6",
|
|
786
|
-
"name": "Kimi-K2.6",
|
|
787
|
-
"vendor": "f",
|
|
788
|
-
"maxOutputTokens": 32000,
|
|
789
|
-
"maxInputTokens": 256000,
|
|
790
|
-
"supportsToolCall": true,
|
|
791
|
-
"supportsImages": true,
|
|
792
|
-
"supportsReasoning": true,
|
|
793
|
-
"temperature": 1,
|
|
794
|
-
"onlyReasoning": true,
|
|
795
|
-
"reasoning": {
|
|
796
|
-
"effort": "medium",
|
|
797
|
-
"summary": "auto"
|
|
798
|
-
},
|
|
799
|
-
"maxAllowedSize": 256000,
|
|
800
|
-
"descriptionEn": "A multimodal model, good for daily use.",
|
|
801
|
-
"descriptionZh": "多模态模型,适合日常任务",
|
|
802
|
-
"tags": [
|
|
803
|
-
"craft"
|
|
804
|
-
],
|
|
805
|
-
"relatedModels": {
|
|
806
|
-
"lite": "kimi-k2.6",
|
|
807
|
-
"reasoning": "kimi-k2.6"
|
|
808
|
-
}
|
|
809
|
-
},
|
|
810
|
-
{
|
|
811
|
-
"credits": "x0.25 credits",
|
|
812
|
-
"id": "minimax-m3",
|
|
813
|
-
"name": "MiniMax-M3",
|
|
814
|
-
"vendor": "f",
|
|
815
|
-
"maxOutputTokens": 128000,
|
|
816
|
-
"maxInputTokens": 512000,
|
|
817
|
-
"supportsToolCall": true,
|
|
818
|
-
"supportsImages": true,
|
|
819
|
-
"maxAllowedSize": 512000,
|
|
820
|
-
"supportsReasoning": true,
|
|
821
|
-
"onlyReasoning": true,
|
|
822
|
-
"disabledMultimodal": false,
|
|
823
|
-
"temperature": 1,
|
|
824
|
-
"reasoning": {
|
|
825
|
-
"effort": "medium",
|
|
826
|
-
"summary": "auto"
|
|
827
|
-
},
|
|
828
|
-
"descriptionEn": "Native multimodal model for coding and agents tasks",
|
|
829
|
-
"descriptionZh": "原生多模态,擅长代码、智能体任务",
|
|
830
|
-
"relatedModels": {
|
|
831
|
-
"lite": "minimax-m3",
|
|
832
|
-
"reasoning": "minimax-m3"
|
|
833
|
-
}
|
|
834
484
|
}
|
|
835
485
|
],
|
|
836
486
|
"tokenUsageThresholds": {
|
|
@@ -1365,22 +1015,20 @@
|
|
|
1365
1015
|
"description": "cli agent",
|
|
1366
1016
|
"models": [
|
|
1367
1017
|
"default-model",
|
|
1368
|
-
"
|
|
1369
|
-
"
|
|
1370
|
-
"
|
|
1371
|
-
"
|
|
1372
|
-
"
|
|
1373
|
-
"
|
|
1374
|
-
"gpt-5.6-luna",
|
|
1018
|
+
"gemini-3.1-pro",
|
|
1019
|
+
"gemini-3.0-flash",
|
|
1020
|
+
"gemini-3.5-flash",
|
|
1021
|
+
"gemini-2.5-pro",
|
|
1022
|
+
"gemini-2.5-flash",
|
|
1023
|
+
"gemini-3.1-flash-lite",
|
|
1375
1024
|
"gpt-5.5",
|
|
1376
1025
|
"gpt-5.4",
|
|
1377
1026
|
"gpt-5.3-codex",
|
|
1378
|
-
"
|
|
1379
|
-
"
|
|
1380
|
-
"
|
|
1381
|
-
"
|
|
1382
|
-
"kimi-k2.
|
|
1383
|
-
"minimax-m3"
|
|
1027
|
+
"gpt-5.1-codex",
|
|
1028
|
+
"gpt-5.1-codex-mini",
|
|
1029
|
+
"deepseek-v3-2-volc",
|
|
1030
|
+
"glm-5.0",
|
|
1031
|
+
"kimi-k2.5"
|
|
1384
1032
|
],
|
|
1385
1033
|
"modelTags": [
|
|
1386
1034
|
"craft"
|
|
@@ -2176,6 +1824,6 @@
|
|
|
2176
1824
|
"description": "tool-repl-description"
|
|
2177
1825
|
}
|
|
2178
1826
|
],
|
|
2179
|
-
"commit": "
|
|
2180
|
-
"date": "2026-
|
|
1827
|
+
"commit": "9da3753c0a1c9b0fff70f3dd45ad87a1db8bdf8a",
|
|
1828
|
+
"date": "2026-09-01T06:31:52.351Z"
|
|
2181
1829
|
}
|
package/product.selfhosted.json
CHANGED
|
@@ -353,6 +353,6 @@
|
|
|
353
353
|
"ScheduledTasks": true,
|
|
354
354
|
"SkipToolCallSupportCheck": true
|
|
355
355
|
},
|
|
356
|
-
"commit": "
|
|
357
|
-
"date": "2026-
|
|
356
|
+
"commit": "9da3753c0a1c9b0fff70f3dd45ad87a1db8bdf8a",
|
|
357
|
+
"date": "2026-09-01T06:31:52.259Z"
|
|
358
358
|
}
|
|
@@ -932,21 +932,24 @@ if _SESSION_ID:
|
|
|
932
932
|
except Exception:
|
|
933
933
|
return "unavailable"
|
|
934
934
|
|
|
935
|
+
def _emit_safe_delete_fail_closed(abs_path, reason, detail=None):
|
|
936
|
+
payload = {
|
|
937
|
+
"target": abs_path,
|
|
938
|
+
"reason": reason,
|
|
939
|
+
}
|
|
940
|
+
if detail:
|
|
941
|
+
payload["detail"] = detail
|
|
942
|
+
message = (
|
|
943
|
+
"[safe-delete][SAFE_DELETE_FAIL_CLOSED] "
|
|
944
|
+
+ json.dumps(payload, ensure_ascii=False)
|
|
945
|
+
)
|
|
946
|
+
try:
|
|
947
|
+
sys.stderr.write(message + "\n")
|
|
948
|
+
sys.stderr.flush()
|
|
949
|
+
except Exception:
|
|
950
|
+
pass
|
|
951
|
+
|
|
935
952
|
def _try_trash(abs_path, recursive=False, force=False):
|
|
936
|
-
if sys.platform == "win32" and _IN_SANDBOX:
|
|
937
|
-
message = (
|
|
938
|
-
"[safe-delete][SAFE_DELETE_FAIL_CLOSED] "
|
|
939
|
-
+ json.dumps({
|
|
940
|
-
"target": abs_path,
|
|
941
|
-
"reason": "windows-sandbox-recycle-bin-unavailable",
|
|
942
|
-
}, ensure_ascii=False)
|
|
943
|
-
)
|
|
944
|
-
try:
|
|
945
|
-
sys.stderr.write(message + "\n")
|
|
946
|
-
sys.stderr.flush()
|
|
947
|
-
except Exception:
|
|
948
|
-
pass
|
|
949
|
-
raise OSError(message)
|
|
950
953
|
_check_bulk_delete_guard(abs_path)
|
|
951
954
|
|
|
952
955
|
broker_result = _try_broker_delete(abs_path, recursive=recursive, force=force)
|
|
@@ -957,10 +960,14 @@ if _SESSION_ID:
|
|
|
957
960
|
"[safe-delete] broker denied delete: path=%s" % abs_path
|
|
958
961
|
)
|
|
959
962
|
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
963
|
+
try:
|
|
964
|
+
if _try_trash_via_binary(abs_path):
|
|
965
|
+
_record_trash(abs_path)
|
|
966
|
+
return True
|
|
967
|
+
_platform_trash(abs_path)
|
|
968
|
+
except Exception as e:
|
|
969
|
+
_emit_safe_delete_fail_closed(abs_path, "trash-failed", str(e))
|
|
970
|
+
raise
|
|
964
971
|
_record_trash(abs_path)
|
|
965
972
|
return True
|
|
966
973
|
|