@polka-codes/core 0.8.20 → 0.8.21

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.
@@ -164,19 +164,19 @@ export { allAgents as allAgents_alias_1 }
164
164
 
165
165
  export declare namespace allTools {
166
166
  export {
167
- _default_2 as askFollowupQuestion,
168
- _default_3 as attemptCompletion,
169
- _default_4 as delegate,
170
- _default_5 as executeCommand,
171
- _default_6 as listFiles,
172
- _default_7 as readFile,
173
- _default_8 as replaceInFile,
174
- _default_9 as searchFiles,
175
- _default_10 as updateKnowledge,
176
- _default_11 as writeToFile,
177
- _default_12 as handOver,
178
- _default_13 as removeFile,
179
- _default_14 as renameFile
167
+ _default as askFollowupQuestion,
168
+ _default_2 as attemptCompletion,
169
+ _default_3 as delegate,
170
+ _default_4 as executeCommand,
171
+ _default_5 as listFiles,
172
+ _default_6 as readFile,
173
+ _default_7 as replaceInFile,
174
+ _default_8 as searchFiles,
175
+ _default_9 as updateKnowledge,
176
+ _default_10 as writeToFile,
177
+ _default_11 as handOver,
178
+ _default_12 as removeFile,
179
+ _default_13 as renameFile
180
180
  }
181
181
  }
182
182
 
@@ -799,300 +799,135 @@ export declare class DeepSeekService extends AiServiceBase {
799
799
 
800
800
  declare const _default: {
801
801
  handler: ToolHandler<{
802
- readonly name: "edit_file";
803
- readonly description: "Request to edit file contents using search/replace operations. Supports multiple edit operations in a single call.";
802
+ readonly name: "ask_followup_question";
803
+ readonly description: "Call this when vital details are missing. Pose each follow-up as one direct, unambiguous question. If it speeds the reply, add up to five short, mutually-exclusive answer options. Group any related questions in the same call to avoid a back-and-forth chain.";
804
804
  readonly parameters: [{
805
- readonly name: "path";
806
- readonly description: "The path of the file to edit";
807
- readonly required: true;
808
- readonly usageValue: "File path here";
809
- }, {
810
- readonly name: "operations";
811
- readonly description: "Edit operation with search and replace parameters";
805
+ readonly name: "questions";
806
+ readonly description: "One or more follow-up questions you need answered before you can continue.";
812
807
  readonly required: true;
813
808
  readonly allowMultiple: true;
809
+ readonly usageValue: "questions here";
814
810
  readonly children: [{
815
- readonly name: "search";
816
- readonly description: "Text to search for and replace (use <<<START_OF_FILE>>> to insert at file start, <<<END_OF_FILE>>> to insert at file end)";
811
+ readonly name: "prompt";
812
+ readonly description: "The text of the question.";
817
813
  readonly required: true;
818
- readonly usageValue: "Text to find and replace";
814
+ readonly usageValue: "question text here";
819
815
  }, {
820
- readonly name: "replace";
821
- readonly description: "Text to replace the search text with";
822
- readonly required: true;
823
- readonly usageValue: "Replacement text";
816
+ readonly name: "options";
817
+ readonly description: "Ordered list of suggested answers (omit if none).";
818
+ readonly required: false;
819
+ readonly allowMultiple: true;
820
+ readonly usageValue: "suggested answer here";
824
821
  }];
825
- readonly usageValue: "operations here";
826
822
  }];
827
823
  readonly examples: [{
828
- readonly description: "Replace specific text";
824
+ readonly description: "Single clarifying question (no options)";
829
825
  readonly parameters: [{
830
- readonly name: "path";
831
- readonly value: "src/main.ts";
832
- }, {
833
- readonly name: "operations";
826
+ readonly name: "questions";
834
827
  readonly value: {
835
- readonly search: "function oldFunction() {\n return 42;\n}";
836
- readonly replace: "function newFunction() {\n return \"new implementation\";\n}";
828
+ readonly prompt: "What is the target deployment environment?";
837
829
  };
838
830
  }];
839
831
  }, {
840
- readonly description: "Insert at start of file";
832
+ readonly description: "Single question with multiple-choice options";
841
833
  readonly parameters: [{
842
- readonly name: "path";
843
- readonly value: "src/header.ts";
844
- }, {
845
- readonly name: "operations";
834
+ readonly name: "questions";
846
835
  readonly value: {
847
- readonly search: "<<<START_OF_FILE>>>";
848
- readonly replace: "// File header comment\n";
836
+ readonly prompt: "Which frontend framework are you using?";
837
+ readonly options: ["React", "Angular", "Vue", "Svelte"];
849
838
  };
850
839
  }];
851
840
  }, {
852
- readonly description: "Multiple operations in one call";
841
+ readonly description: "Two related questions in one call";
853
842
  readonly parameters: [{
854
- readonly name: "path";
855
- readonly value: "src/utils.ts";
856
- }, {
857
- readonly name: "operations";
843
+ readonly name: "questions";
858
844
  readonly value: [{
859
- readonly search: "import React from \"react\"";
860
- readonly replace: "import React, { useState } from \"react\"";
845
+ readonly prompt: "What type of application are you building?";
861
846
  }, {
862
- readonly search: "function Component() {\n return (";
863
- readonly replace: "function Component() {\n const [state, setState] = useState(false);\n return (";
847
+ readonly prompt: "Preferred programming language?";
848
+ readonly options: ["JavaScript", "TypeScript", "Python", "Java"];
864
849
  }];
865
850
  }];
866
851
  }, {
867
- readonly description: "Append content at end of file";
852
+ readonly description: "Binary (yes/no) confirmation";
868
853
  readonly parameters: [{
869
- readonly name: "path";
870
- readonly value: "src/footer.ts";
871
- }, {
872
- readonly name: "operations";
854
+ readonly name: "questions";
873
855
  readonly value: {
874
- readonly search: "<<<END_OF_FILE>>>";
875
- readonly replace: "\n// End of file appended comment\n";
856
+ readonly prompt: "Is it acceptable to refactor existing tests to improve performance?";
857
+ readonly options: ["Yes", "No"];
876
858
  };
877
859
  }];
878
860
  }];
879
- readonly permissionLevel: PermissionLevel.Write;
880
- }, FilesystemProvider>;
881
- isAvailable: (provider: FilesystemProvider) => boolean;
882
- name: "edit_file";
883
- description: "Request to edit file contents using search/replace operations. Supports multiple edit operations in a single call.";
861
+ readonly permissionLevel: PermissionLevel.None;
862
+ }, InteractionProvider>;
863
+ isAvailable: (provider: InteractionProvider) => boolean;
864
+ name: "ask_followup_question";
865
+ description: "Call this when vital details are missing. Pose each follow-up as one direct, unambiguous question. If it speeds the reply, add up to five short, mutually-exclusive answer options. Group any related questions in the same call to avoid a back-and-forth chain.";
884
866
  parameters: [{
885
- readonly name: "path";
886
- readonly description: "The path of the file to edit";
887
- readonly required: true;
888
- readonly usageValue: "File path here";
889
- }, {
890
- readonly name: "operations";
891
- readonly description: "Edit operation with search and replace parameters";
867
+ readonly name: "questions";
868
+ readonly description: "One or more follow-up questions you need answered before you can continue.";
892
869
  readonly required: true;
893
870
  readonly allowMultiple: true;
871
+ readonly usageValue: "questions here";
894
872
  readonly children: [{
895
- readonly name: "search";
896
- readonly description: "Text to search for and replace (use <<<START_OF_FILE>>> to insert at file start, <<<END_OF_FILE>>> to insert at file end)";
873
+ readonly name: "prompt";
874
+ readonly description: "The text of the question.";
897
875
  readonly required: true;
898
- readonly usageValue: "Text to find and replace";
876
+ readonly usageValue: "question text here";
899
877
  }, {
900
- readonly name: "replace";
901
- readonly description: "Text to replace the search text with";
902
- readonly required: true;
903
- readonly usageValue: "Replacement text";
878
+ readonly name: "options";
879
+ readonly description: "Ordered list of suggested answers (omit if none).";
880
+ readonly required: false;
881
+ readonly allowMultiple: true;
882
+ readonly usageValue: "suggested answer here";
904
883
  }];
905
- readonly usageValue: "operations here";
906
884
  }];
907
885
  examples: [{
908
- readonly description: "Replace specific text";
886
+ readonly description: "Single clarifying question (no options)";
909
887
  readonly parameters: [{
910
- readonly name: "path";
911
- readonly value: "src/main.ts";
912
- }, {
913
- readonly name: "operations";
888
+ readonly name: "questions";
914
889
  readonly value: {
915
- readonly search: "function oldFunction() {\n return 42;\n}";
916
- readonly replace: "function newFunction() {\n return \"new implementation\";\n}";
890
+ readonly prompt: "What is the target deployment environment?";
917
891
  };
918
892
  }];
919
893
  }, {
920
- readonly description: "Insert at start of file";
894
+ readonly description: "Single question with multiple-choice options";
921
895
  readonly parameters: [{
922
- readonly name: "path";
923
- readonly value: "src/header.ts";
924
- }, {
925
- readonly name: "operations";
896
+ readonly name: "questions";
926
897
  readonly value: {
927
- readonly search: "<<<START_OF_FILE>>>";
928
- readonly replace: "// File header comment\n";
898
+ readonly prompt: "Which frontend framework are you using?";
899
+ readonly options: ["React", "Angular", "Vue", "Svelte"];
929
900
  };
930
901
  }];
931
902
  }, {
932
- readonly description: "Multiple operations in one call";
903
+ readonly description: "Two related questions in one call";
933
904
  readonly parameters: [{
934
- readonly name: "path";
935
- readonly value: "src/utils.ts";
936
- }, {
937
- readonly name: "operations";
905
+ readonly name: "questions";
938
906
  readonly value: [{
939
- readonly search: "import React from \"react\"";
940
- readonly replace: "import React, { useState } from \"react\"";
907
+ readonly prompt: "What type of application are you building?";
941
908
  }, {
942
- readonly search: "function Component() {\n return (";
943
- readonly replace: "function Component() {\n const [state, setState] = useState(false);\n return (";
909
+ readonly prompt: "Preferred programming language?";
910
+ readonly options: ["JavaScript", "TypeScript", "Python", "Java"];
944
911
  }];
945
912
  }];
946
913
  }, {
947
- readonly description: "Append content at end of file";
914
+ readonly description: "Binary (yes/no) confirmation";
948
915
  readonly parameters: [{
949
- readonly name: "path";
950
- readonly value: "src/footer.ts";
951
- }, {
952
- readonly name: "operations";
916
+ readonly name: "questions";
953
917
  readonly value: {
954
- readonly search: "<<<END_OF_FILE>>>";
955
- readonly replace: "\n// End of file appended comment\n";
918
+ readonly prompt: "Is it acceptable to refactor existing tests to improve performance?";
919
+ readonly options: ["Yes", "No"];
956
920
  };
957
921
  }];
958
922
  }];
959
- permissionLevel: PermissionLevel.Write;
923
+ permissionLevel: PermissionLevel.None;
960
924
  };
961
- export { _default as default_alias_7 }
962
- export { _default as editFile }
963
- export { _default as editFile_alias_1 }
925
+ export { _default as askFollowupQuestion }
926
+ export { _default as askFollowupQuestion_alias_1 }
927
+ export { _default as askFollowupQuestion_alias_2 }
928
+ export { _default as default_alias_4 }
964
929
 
965
930
  declare const _default_10: {
966
- handler: ToolHandler<{
967
- readonly name: "update_knowledge";
968
- readonly description: "Update knowledge in a knowledge.ai.yml file with smart merging capabilities. This tool lets you add, update, or remove information using path-based updates and special directives.";
969
- readonly parameters: [{
970
- readonly name: "path";
971
- readonly description: "Directory containing (or where to create) the knowledge.ai.yml file";
972
- readonly required: true;
973
- readonly usageValue: "Directory path here";
974
- }, {
975
- readonly name: "knowledge";
976
- readonly description: "YAML content to merge into the knowledge file";
977
- readonly required: true;
978
- readonly usageValue: "YAML content with knowledge to update";
979
- }];
980
- readonly examples: [{
981
- readonly description: "Add a new file entry";
982
- readonly parameters: [{
983
- readonly name: "path";
984
- readonly value: "src/utils";
985
- }, {
986
- readonly name: "knowledge";
987
- readonly value: "files:\n \"newFile.ts\":\n description: \"A new utility file\"\n api:\n functions:\n 1:\n name: \"processData\"\n params:\n 1: { name: \"data\", type: \"object\" }\n returns: \"object\"";
988
- }];
989
- }, {
990
- readonly description: "Update an existing file description";
991
- readonly parameters: [{
992
- readonly name: "path";
993
- readonly value: "src/utils";
994
- }, {
995
- readonly name: "knowledge";
996
- readonly value: "files:\n \"existingFile.ts\":\n description: \"Updated description for the file\"";
997
- }];
998
- }, {
999
- readonly description: "Add a new rule";
1000
- readonly parameters: [{
1001
- readonly name: "path";
1002
- readonly value: "src";
1003
- }, {
1004
- readonly name: "knowledge";
1005
- readonly value: "rules:\n 10: \"New rule to follow\"";
1006
- }];
1007
- }, {
1008
- readonly description: "Remove a rule";
1009
- readonly parameters: [{
1010
- readonly name: "path";
1011
- readonly value: "src";
1012
- }, {
1013
- readonly name: "knowledge";
1014
- readonly value: "rules:\n 5: null";
1015
- }];
1016
- }, {
1017
- readonly description: "Update nested properties using dot notation";
1018
- readonly parameters: [{
1019
- readonly name: "path";
1020
- readonly value: "src/components";
1021
- }, {
1022
- readonly name: "knowledge";
1023
- readonly value: "files.Button.tsx.api.functions.1.description: \"Updated function description\"";
1024
- }];
1025
- }];
1026
- readonly permissionLevel: PermissionLevel.Write;
1027
- }, FilesystemProvider>;
1028
- isAvailable: (provider: FilesystemProvider) => boolean;
1029
- name: "update_knowledge";
1030
- description: "Update knowledge in a knowledge.ai.yml file with smart merging capabilities. This tool lets you add, update, or remove information using path-based updates and special directives.";
1031
- parameters: [{
1032
- readonly name: "path";
1033
- readonly description: "Directory containing (or where to create) the knowledge.ai.yml file";
1034
- readonly required: true;
1035
- readonly usageValue: "Directory path here";
1036
- }, {
1037
- readonly name: "knowledge";
1038
- readonly description: "YAML content to merge into the knowledge file";
1039
- readonly required: true;
1040
- readonly usageValue: "YAML content with knowledge to update";
1041
- }];
1042
- examples: [{
1043
- readonly description: "Add a new file entry";
1044
- readonly parameters: [{
1045
- readonly name: "path";
1046
- readonly value: "src/utils";
1047
- }, {
1048
- readonly name: "knowledge";
1049
- readonly value: "files:\n \"newFile.ts\":\n description: \"A new utility file\"\n api:\n functions:\n 1:\n name: \"processData\"\n params:\n 1: { name: \"data\", type: \"object\" }\n returns: \"object\"";
1050
- }];
1051
- }, {
1052
- readonly description: "Update an existing file description";
1053
- readonly parameters: [{
1054
- readonly name: "path";
1055
- readonly value: "src/utils";
1056
- }, {
1057
- readonly name: "knowledge";
1058
- readonly value: "files:\n \"existingFile.ts\":\n description: \"Updated description for the file\"";
1059
- }];
1060
- }, {
1061
- readonly description: "Add a new rule";
1062
- readonly parameters: [{
1063
- readonly name: "path";
1064
- readonly value: "src";
1065
- }, {
1066
- readonly name: "knowledge";
1067
- readonly value: "rules:\n 10: \"New rule to follow\"";
1068
- }];
1069
- }, {
1070
- readonly description: "Remove a rule";
1071
- readonly parameters: [{
1072
- readonly name: "path";
1073
- readonly value: "src";
1074
- }, {
1075
- readonly name: "knowledge";
1076
- readonly value: "rules:\n 5: null";
1077
- }];
1078
- }, {
1079
- readonly description: "Update nested properties using dot notation";
1080
- readonly parameters: [{
1081
- readonly name: "path";
1082
- readonly value: "src/components";
1083
- }, {
1084
- readonly name: "knowledge";
1085
- readonly value: "files.Button.tsx.api.functions.1.description: \"Updated function description\"";
1086
- }];
1087
- }];
1088
- permissionLevel: PermissionLevel.Write;
1089
- };
1090
- export { _default_10 as default_alias_16 }
1091
- export { _default_10 as updateKnowledge }
1092
- export { _default_10 as updateKnowledge_alias_1 }
1093
- export { _default_10 as updateKnowledge_alias_2 }
1094
-
1095
- declare const _default_11: {
1096
931
  handler: ToolHandler<{
1097
932
  readonly name: "write_to_file";
1098
933
  readonly description: "Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. Ensure that the output content does not include incorrect escaped character patterns such as `&lt;` and `&gt;`.";
@@ -1145,12 +980,12 @@ declare const _default_11: {
1145
980
  }];
1146
981
  permissionLevel: PermissionLevel.Write;
1147
982
  };
1148
- export { _default_11 as default_alias_17 }
1149
- export { _default_11 as writeToFile }
1150
- export { _default_11 as writeToFile_alias_1 }
1151
- export { _default_11 as writeToFile_alias_2 }
983
+ export { _default_10 as default_alias_16 }
984
+ export { _default_10 as writeToFile }
985
+ export { _default_10 as writeToFile_alias_1 }
986
+ export { _default_10 as writeToFile_alias_2 }
1152
987
 
1153
- declare const _default_12: {
988
+ declare const _default_11: {
1154
989
  handler: ToolHandler<{
1155
990
  readonly name: "hand_over";
1156
991
  readonly description: "Hand over the current task to another agent to complete. This tool MUST NOT to be used with any other tool.";
@@ -1235,12 +1070,12 @@ declare const _default_12: {
1235
1070
  }];
1236
1071
  permissionLevel: PermissionLevel.None;
1237
1072
  };
1238
- export { _default_12 as default_alias_9 }
1239
- export { _default_12 as handOver }
1240
- export { _default_12 as handOver_alias_1 }
1241
- export { _default_12 as handOver_alias_2 }
1073
+ export { _default_11 as default_alias_8 }
1074
+ export { _default_11 as handOver }
1075
+ export { _default_11 as handOver_alias_1 }
1076
+ export { _default_11 as handOver_alias_2 }
1242
1077
 
1243
- declare const _default_13: {
1078
+ declare const _default_12: {
1244
1079
  handler: ToolHandler<{
1245
1080
  readonly name: "remove_file";
1246
1081
  readonly description: "Request to remove a file at the specified path.";
@@ -1277,12 +1112,12 @@ declare const _default_13: {
1277
1112
  }];
1278
1113
  permissionLevel: PermissionLevel.Write;
1279
1114
  };
1280
- export { _default_13 as default_alias_12 }
1281
- export { _default_13 as removeFile }
1282
- export { _default_13 as removeFile_alias_1 }
1283
- export { _default_13 as removeFile_alias_2 }
1115
+ export { _default_12 as default_alias_11 }
1116
+ export { _default_12 as removeFile }
1117
+ export { _default_12 as removeFile_alias_1 }
1118
+ export { _default_12 as removeFile_alias_2 }
1284
1119
 
1285
- declare const _default_14: {
1120
+ declare const _default_13: {
1286
1121
  handler: ToolHandler<{
1287
1122
  readonly name: "rename_file";
1288
1123
  readonly description: "Request to rename a file from source path to target path.";
@@ -1293,184 +1128,54 @@ declare const _default_14: {
1293
1128
  readonly usageValue: "Source file path here";
1294
1129
  }, {
1295
1130
  readonly name: "target_path";
1296
- readonly description: "The new path for the file";
1297
- readonly required: true;
1298
- readonly usageValue: "Target file path here";
1299
- }];
1300
- readonly examples: [{
1301
- readonly description: "Request to rename a file";
1302
- readonly parameters: [{
1303
- readonly name: "source_path";
1304
- readonly value: "src/old-name.js";
1305
- }, {
1306
- readonly name: "target_path";
1307
- readonly value: "src/new-name.js";
1308
- }];
1309
- }];
1310
- readonly permissionLevel: PermissionLevel.Write;
1311
- }, FilesystemProvider>;
1312
- isAvailable: (provider: FilesystemProvider) => boolean;
1313
- name: "rename_file";
1314
- description: "Request to rename a file from source path to target path.";
1315
- parameters: [{
1316
- readonly name: "source_path";
1317
- readonly description: "The current path of the file";
1318
- readonly required: true;
1319
- readonly usageValue: "Source file path here";
1320
- }, {
1321
- readonly name: "target_path";
1322
- readonly description: "The new path for the file";
1323
- readonly required: true;
1324
- readonly usageValue: "Target file path here";
1325
- }];
1326
- examples: [{
1327
- readonly description: "Request to rename a file";
1328
- readonly parameters: [{
1329
- readonly name: "source_path";
1330
- readonly value: "src/old-name.js";
1331
- }, {
1332
- readonly name: "target_path";
1333
- readonly value: "src/new-name.js";
1334
- }];
1335
- }];
1336
- permissionLevel: PermissionLevel.Write;
1337
- };
1338
- export { _default_14 as default_alias_13 }
1339
- export { _default_14 as renameFile }
1340
- export { _default_14 as renameFile_alias_1 }
1341
- export { _default_14 as renameFile_alias_2 }
1342
-
1343
- declare const _default_2: {
1344
- handler: ToolHandler<{
1345
- readonly name: "ask_followup_question";
1346
- readonly description: "Call this when vital details are missing. Pose each follow-up as one direct, unambiguous question. If it speeds the reply, add up to five short, mutually-exclusive answer options. Group any related questions in the same call to avoid a back-and-forth chain.";
1347
- readonly parameters: [{
1348
- readonly name: "questions";
1349
- readonly description: "One or more follow-up questions you need answered before you can continue.";
1350
- readonly required: true;
1351
- readonly allowMultiple: true;
1352
- readonly usageValue: "questions here";
1353
- readonly children: [{
1354
- readonly name: "prompt";
1355
- readonly description: "The text of the question.";
1356
- readonly required: true;
1357
- readonly usageValue: "question text here";
1358
- }, {
1359
- readonly name: "options";
1360
- readonly description: "Ordered list of suggested answers (omit if none).";
1361
- readonly required: false;
1362
- readonly allowMultiple: true;
1363
- readonly usageValue: "suggested answer here";
1364
- }];
1365
- }];
1366
- readonly examples: [{
1367
- readonly description: "Single clarifying question (no options)";
1368
- readonly parameters: [{
1369
- readonly name: "questions";
1370
- readonly value: {
1371
- readonly prompt: "What is the target deployment environment?";
1372
- };
1373
- }];
1374
- }, {
1375
- readonly description: "Single question with multiple-choice options";
1376
- readonly parameters: [{
1377
- readonly name: "questions";
1378
- readonly value: {
1379
- readonly prompt: "Which frontend framework are you using?";
1380
- readonly options: ["React", "Angular", "Vue", "Svelte"];
1381
- };
1382
- }];
1383
- }, {
1384
- readonly description: "Two related questions in one call";
1385
- readonly parameters: [{
1386
- readonly name: "questions";
1387
- readonly value: [{
1388
- readonly prompt: "What type of application are you building?";
1389
- }, {
1390
- readonly prompt: "Preferred programming language?";
1391
- readonly options: ["JavaScript", "TypeScript", "Python", "Java"];
1392
- }];
1393
- }];
1394
- }, {
1395
- readonly description: "Binary (yes/no) confirmation";
1396
- readonly parameters: [{
1397
- readonly name: "questions";
1398
- readonly value: {
1399
- readonly prompt: "Is it acceptable to refactor existing tests to improve performance?";
1400
- readonly options: ["Yes", "No"];
1401
- };
1402
- }];
1403
- }];
1404
- readonly permissionLevel: PermissionLevel.None;
1405
- }, InteractionProvider>;
1406
- isAvailable: (provider: InteractionProvider) => boolean;
1407
- name: "ask_followup_question";
1408
- description: "Call this when vital details are missing. Pose each follow-up as one direct, unambiguous question. If it speeds the reply, add up to five short, mutually-exclusive answer options. Group any related questions in the same call to avoid a back-and-forth chain.";
1409
- parameters: [{
1410
- readonly name: "questions";
1411
- readonly description: "One or more follow-up questions you need answered before you can continue.";
1412
- readonly required: true;
1413
- readonly allowMultiple: true;
1414
- readonly usageValue: "questions here";
1415
- readonly children: [{
1416
- readonly name: "prompt";
1417
- readonly description: "The text of the question.";
1418
- readonly required: true;
1419
- readonly usageValue: "question text here";
1420
- }, {
1421
- readonly name: "options";
1422
- readonly description: "Ordered list of suggested answers (omit if none).";
1423
- readonly required: false;
1424
- readonly allowMultiple: true;
1425
- readonly usageValue: "suggested answer here";
1426
- }];
1427
- }];
1428
- examples: [{
1429
- readonly description: "Single clarifying question (no options)";
1430
- readonly parameters: [{
1431
- readonly name: "questions";
1432
- readonly value: {
1433
- readonly prompt: "What is the target deployment environment?";
1434
- };
1435
- }];
1436
- }, {
1437
- readonly description: "Single question with multiple-choice options";
1438
- readonly parameters: [{
1439
- readonly name: "questions";
1440
- readonly value: {
1441
- readonly prompt: "Which frontend framework are you using?";
1442
- readonly options: ["React", "Angular", "Vue", "Svelte"];
1443
- };
1131
+ readonly description: "The new path for the file";
1132
+ readonly required: true;
1133
+ readonly usageValue: "Target file path here";
1444
1134
  }];
1445
- }, {
1446
- readonly description: "Two related questions in one call";
1447
- readonly parameters: [{
1448
- readonly name: "questions";
1449
- readonly value: [{
1450
- readonly prompt: "What type of application are you building?";
1135
+ readonly examples: [{
1136
+ readonly description: "Request to rename a file";
1137
+ readonly parameters: [{
1138
+ readonly name: "source_path";
1139
+ readonly value: "src/old-name.js";
1451
1140
  }, {
1452
- readonly prompt: "Preferred programming language?";
1453
- readonly options: ["JavaScript", "TypeScript", "Python", "Java"];
1141
+ readonly name: "target_path";
1142
+ readonly value: "src/new-name.js";
1454
1143
  }];
1455
1144
  }];
1145
+ readonly permissionLevel: PermissionLevel.Write;
1146
+ }, FilesystemProvider>;
1147
+ isAvailable: (provider: FilesystemProvider) => boolean;
1148
+ name: "rename_file";
1149
+ description: "Request to rename a file from source path to target path.";
1150
+ parameters: [{
1151
+ readonly name: "source_path";
1152
+ readonly description: "The current path of the file";
1153
+ readonly required: true;
1154
+ readonly usageValue: "Source file path here";
1456
1155
  }, {
1457
- readonly description: "Binary (yes/no) confirmation";
1156
+ readonly name: "target_path";
1157
+ readonly description: "The new path for the file";
1158
+ readonly required: true;
1159
+ readonly usageValue: "Target file path here";
1160
+ }];
1161
+ examples: [{
1162
+ readonly description: "Request to rename a file";
1458
1163
  readonly parameters: [{
1459
- readonly name: "questions";
1460
- readonly value: {
1461
- readonly prompt: "Is it acceptable to refactor existing tests to improve performance?";
1462
- readonly options: ["Yes", "No"];
1463
- };
1164
+ readonly name: "source_path";
1165
+ readonly value: "src/old-name.js";
1166
+ }, {
1167
+ readonly name: "target_path";
1168
+ readonly value: "src/new-name.js";
1464
1169
  }];
1465
1170
  }];
1466
- permissionLevel: PermissionLevel.None;
1171
+ permissionLevel: PermissionLevel.Write;
1467
1172
  };
1468
- export { _default_2 as askFollowupQuestion }
1469
- export { _default_2 as askFollowupQuestion_alias_1 }
1470
- export { _default_2 as askFollowupQuestion_alias_2 }
1471
- export { _default_2 as default_alias_4 }
1173
+ export { _default_13 as default_alias_12 }
1174
+ export { _default_13 as renameFile }
1175
+ export { _default_13 as renameFile_alias_1 }
1176
+ export { _default_13 as renameFile_alias_2 }
1472
1177
 
1473
- declare const _default_3: {
1178
+ declare const _default_2: {
1474
1179
  handler: ToolHandler<{
1475
1180
  readonly name: "attempt_completion";
1476
1181
  readonly description: "Use this tool when you believe the user’s requested task is complete. Indicate that your work is finished, but acknowledge the user may still provide additional instructions or questions if they want to continue. This tool MUST NOT to be used with any other tool.";
@@ -1507,12 +1212,12 @@ declare const _default_3: {
1507
1212
  }];
1508
1213
  permissionLevel: PermissionLevel.None;
1509
1214
  };
1510
- export { _default_3 as attemptCompletion }
1511
- export { _default_3 as attemptCompletion_alias_1 }
1512
- export { _default_3 as attemptCompletion_alias_2 }
1513
- export { _default_3 as default_alias_5 }
1215
+ export { _default_2 as attemptCompletion }
1216
+ export { _default_2 as attemptCompletion_alias_1 }
1217
+ export { _default_2 as attemptCompletion_alias_2 }
1218
+ export { _default_2 as default_alias_5 }
1514
1219
 
1515
- declare const _default_4: {
1220
+ declare const _default_3: {
1516
1221
  handler: ToolHandler<{
1517
1222
  readonly name: "delegate";
1518
1223
  readonly description: "Temporarily delegate a task to another agent and receive the result back. This tool MUST NOT to be used with any other tool.";
@@ -1597,12 +1302,12 @@ declare const _default_4: {
1597
1302
  }];
1598
1303
  permissionLevel: PermissionLevel.None;
1599
1304
  };
1600
- export { _default_4 as default_alias_6 }
1601
- export { _default_4 as delegate }
1602
- export { _default_4 as delegate_alias_1 }
1603
- export { _default_4 as delegate_alias_2 }
1305
+ export { _default_3 as default_alias_6 }
1306
+ export { _default_3 as delegate }
1307
+ export { _default_3 as delegate_alias_1 }
1308
+ export { _default_3 as delegate_alias_2 }
1604
1309
 
1605
- declare const _default_5: {
1310
+ declare const _default_4: {
1606
1311
  handler: ToolHandler<{
1607
1312
  readonly name: "execute_command";
1608
1313
  readonly description: "Run a single CLI command. The command is always executed in the project-root working directory (regardless of earlier commands). Prefer one-off shell commands over wrapper scripts for flexibility. **IMPORTANT**: After an `execute_command` call, you MUST stop and NOT allowed to make further tool calls in the same message.";
@@ -1655,12 +1360,12 @@ declare const _default_5: {
1655
1360
  }];
1656
1361
  permissionLevel: PermissionLevel.Arbitrary;
1657
1362
  };
1658
- export { _default_5 as default_alias_8 }
1659
- export { _default_5 as executeCommand }
1660
- export { _default_5 as executeCommand_alias_1 }
1661
- export { _default_5 as executeCommand_alias_2 }
1363
+ export { _default_4 as default_alias_7 }
1364
+ export { _default_4 as executeCommand }
1365
+ export { _default_4 as executeCommand_alias_1 }
1366
+ export { _default_4 as executeCommand_alias_2 }
1662
1367
 
1663
- declare const _default_6: {
1368
+ declare const _default_5: {
1664
1369
  handler: ToolHandler<{
1665
1370
  readonly name: "list_files";
1666
1371
  readonly description: "Request to list files and directories within the specified directory. If recursive is true, it will list all files and directories recursively. If recursive is false or not provided, it will only list the top-level contents. Do not use this tool to confirm the existence of files you may have created, as the user will let you know if the files were created successfully or not.";
@@ -1723,12 +1428,12 @@ declare const _default_6: {
1723
1428
  }];
1724
1429
  permissionLevel: PermissionLevel.Read;
1725
1430
  };
1726
- export { _default_6 as default_alias_10 }
1727
- export { _default_6 as listFiles }
1728
- export { _default_6 as listFiles_alias_1 }
1729
- export { _default_6 as listFiles_alias_2 }
1431
+ export { _default_5 as default_alias_9 }
1432
+ export { _default_5 as listFiles }
1433
+ export { _default_5 as listFiles_alias_1 }
1434
+ export { _default_5 as listFiles_alias_2 }
1730
1435
 
1731
- declare const _default_7: {
1436
+ declare const _default_6: {
1732
1437
  handler: ToolHandler<{
1733
1438
  readonly name: "read_file";
1734
1439
  readonly description: "Request to read the contents of one or multiple files at the specified paths. Use comma separated paths to read multiple files. Use this when you need to examine the contents of an existing file you do not know the contents of, for example to analyze code, review text files, or extract information from configuration files. May not be suitable for other types of binary files, as it returns the raw content as a string. Try to list all the potential files are relevent to the task, and then use this tool to read all the relevant files.";
@@ -1777,12 +1482,12 @@ declare const _default_7: {
1777
1482
  }];
1778
1483
  permissionLevel: PermissionLevel.Read;
1779
1484
  };
1780
- export { _default_7 as default_alias_11 }
1781
- export { _default_7 as readFile }
1782
- export { _default_7 as readFile_alias_1 }
1783
- export { _default_7 as readFile_alias_2 }
1485
+ export { _default_6 as default_alias_10 }
1486
+ export { _default_6 as readFile }
1487
+ export { _default_6 as readFile_alias_1 }
1488
+ export { _default_6 as readFile_alias_2 }
1784
1489
 
1785
- declare const _default_8: {
1490
+ declare const _default_7: {
1786
1491
  handler: ToolHandler<{
1787
1492
  readonly name: "replace_in_file";
1788
1493
  readonly description: "Request to replace sections of content in an existing file using SEARCH/REPLACE blocks that define exact changes to specific parts of the file. This tool should be used when you need to make targeted changes to specific parts of a file.";
@@ -1793,7 +1498,7 @@ declare const _default_8: {
1793
1498
  readonly usageValue: "File path here";
1794
1499
  }, {
1795
1500
  readonly name: "diff";
1796
- readonly description: "One or more SEARCH/REPLACE blocks following this exact format:\n ```\n <<<<<<< SEARCH\n [exact content to find]\n =======\n [new content to replace with]\n >>>>>>> REPLACE\n ```\n Critical rules:\n 1. SEARCH content must match the associated file section to find EXACTLY:\n * Match character-for-character including whitespace, indentation, line endings\n * Include all comments, docstrings, etc.\n 2. SEARCH/REPLACE blocks will ONLY replace the first match occurrence.\n * Including multiple unique SEARCH/REPLACE blocks if you need to make multiple changes.\n * Include *just* enough lines in each SEARCH section to uniquely match each set of lines that need to change.\n * When using multiple SEARCH/REPLACE blocks, list them in the order they appear in the file.\n 3. Keep SEARCH/REPLACE blocks concise:\n * Break large SEARCH/REPLACE blocks into a series of smaller blocks that each change a small portion of the file.\n * Include just the changing lines, and a few surrounding lines if needed for uniqueness.\n * Do not include long runs of unchanging lines in SEARCH/REPLACE blocks.\n * Each line must be complete. Never truncate lines mid-way through as this can cause matching failures.\n 4. Special operations:\n * To move code: Use two SEARCH/REPLACE blocks (one to delete from original + one to insert at new location)\n * To delete code: Use empty REPLACE section";
1501
+ readonly description: "One or more SEARCH/REPLACE blocks following this exact format:\n```\n<<<<<<< SEARCH\n[exact content to find]\n=======\n[new content to replace with]\n>>>>>>> REPLACE\n```\nCritical rules:\n1. SEARCH content must match the associated file section to find EXACTLY:\n * Match character-for-character including whitespace, indentation, line endings\n * Include all comments, docstrings, etc.\n2. SEARCH/REPLACE blocks will ONLY replace the first match occurrence.\n * Including multiple unique SEARCH/REPLACE blocks if you need to make multiple changes.\n * Include *just* enough lines in each SEARCH section to uniquely match each set of lines that need to change.\n * When using multiple SEARCH/REPLACE blocks, list them in the order they appear in the file.\n3. Keep SEARCH/REPLACE blocks concise:\n * Break large SEARCH/REPLACE blocks into a series of smaller blocks that each change a small portion of the file.\n * Include just the changing lines, and a few surrounding lines if needed for uniqueness.\n * Do not include long runs of unchanging lines in SEARCH/REPLACE blocks.\n * Each line must be complete. Never truncate lines mid-way through as this can cause matching failures.\n4. Special operations:\n * To move code: Use two SEARCH/REPLACE blocks (one to delete from original + one to insert at new location)\n * To delete code: Use empty REPLACE section";
1797
1502
  readonly required: true;
1798
1503
  readonly usageValue: "Search and replace blocks here";
1799
1504
  }];
@@ -1801,118 +1506,302 @@ declare const _default_8: {
1801
1506
  readonly description: "Request to replace sections of content in a file";
1802
1507
  readonly parameters: [{
1803
1508
  readonly name: "path";
1804
- readonly value: "src/main.js";
1509
+ readonly value: "src/main.js";
1510
+ }, {
1511
+ readonly name: "diff";
1512
+ readonly value: "\n<<<<<<< SEARCH\nimport React from 'react';\n=======\nimport React, { useState } from 'react';\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\n=======\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nreturn (\n <div>\n=======\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\nreturn (\n <div>\n>>>>>>> REPLACE\n";
1513
+ }];
1514
+ }, {
1515
+ readonly description: "Request to perform a simple, single-line replacement";
1516
+ readonly parameters: [{
1517
+ readonly name: "path";
1518
+ readonly value: "src/config.js";
1519
+ }, {
1520
+ readonly name: "diff";
1521
+ readonly value: "\n<<<<<<< SEARCH\nconst API_URL = 'https://api.example.com';\n=======\nconst API_URL = 'https://api.staging.example.com';\n>>>>>>> REPLACE\n";
1522
+ }];
1523
+ }, {
1524
+ readonly description: "Request to add a new function to a file";
1525
+ readonly parameters: [{
1526
+ readonly name: "path";
1527
+ readonly value: "src/utils.js";
1528
+ }, {
1529
+ readonly name: "diff";
1530
+ readonly value: "\n<<<<<<< SEARCH\nfunction helperA() {\n // ...\n}\n=======\nfunction helperA() {\n // ...\n}\n\nfunction newHelper() {\n // implementation\n}\n>>>>>>> REPLACE\n";
1531
+ }];
1532
+ }, {
1533
+ readonly description: "Request to delete a block of code from a file";
1534
+ readonly parameters: [{
1535
+ readonly name: "path";
1536
+ readonly value: "src/app.js";
1537
+ }, {
1538
+ readonly name: "diff";
1539
+ readonly value: "\n<<<<<<< SEARCH\nfunction oldFeature() {\n // This is no longer needed\n}\n\n=======\n>>>>>>> REPLACE\n";
1540
+ }];
1541
+ }];
1542
+ readonly permissionLevel: PermissionLevel.Write;
1543
+ }, FilesystemProvider>;
1544
+ isAvailable: (provider: FilesystemProvider) => boolean;
1545
+ name: "replace_in_file";
1546
+ description: "Request to replace sections of content in an existing file using SEARCH/REPLACE blocks that define exact changes to specific parts of the file. This tool should be used when you need to make targeted changes to specific parts of a file.";
1547
+ parameters: [{
1548
+ readonly name: "path";
1549
+ readonly description: "The path of the file to modify";
1550
+ readonly required: true;
1551
+ readonly usageValue: "File path here";
1552
+ }, {
1553
+ readonly name: "diff";
1554
+ readonly description: "One or more SEARCH/REPLACE blocks following this exact format:\n```\n<<<<<<< SEARCH\n[exact content to find]\n=======\n[new content to replace with]\n>>>>>>> REPLACE\n```\nCritical rules:\n1. SEARCH content must match the associated file section to find EXACTLY:\n * Match character-for-character including whitespace, indentation, line endings\n * Include all comments, docstrings, etc.\n2. SEARCH/REPLACE blocks will ONLY replace the first match occurrence.\n * Including multiple unique SEARCH/REPLACE blocks if you need to make multiple changes.\n * Include *just* enough lines in each SEARCH section to uniquely match each set of lines that need to change.\n * When using multiple SEARCH/REPLACE blocks, list them in the order they appear in the file.\n3. Keep SEARCH/REPLACE blocks concise:\n * Break large SEARCH/REPLACE blocks into a series of smaller blocks that each change a small portion of the file.\n * Include just the changing lines, and a few surrounding lines if needed for uniqueness.\n * Do not include long runs of unchanging lines in SEARCH/REPLACE blocks.\n * Each line must be complete. Never truncate lines mid-way through as this can cause matching failures.\n4. Special operations:\n * To move code: Use two SEARCH/REPLACE blocks (one to delete from original + one to insert at new location)\n * To delete code: Use empty REPLACE section";
1555
+ readonly required: true;
1556
+ readonly usageValue: "Search and replace blocks here";
1557
+ }];
1558
+ examples: [{
1559
+ readonly description: "Request to replace sections of content in a file";
1560
+ readonly parameters: [{
1561
+ readonly name: "path";
1562
+ readonly value: "src/main.js";
1563
+ }, {
1564
+ readonly name: "diff";
1565
+ readonly value: "\n<<<<<<< SEARCH\nimport React from 'react';\n=======\nimport React, { useState } from 'react';\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\n=======\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nreturn (\n <div>\n=======\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\nreturn (\n <div>\n>>>>>>> REPLACE\n";
1566
+ }];
1567
+ }, {
1568
+ readonly description: "Request to perform a simple, single-line replacement";
1569
+ readonly parameters: [{
1570
+ readonly name: "path";
1571
+ readonly value: "src/config.js";
1572
+ }, {
1573
+ readonly name: "diff";
1574
+ readonly value: "\n<<<<<<< SEARCH\nconst API_URL = 'https://api.example.com';\n=======\nconst API_URL = 'https://api.staging.example.com';\n>>>>>>> REPLACE\n";
1575
+ }];
1576
+ }, {
1577
+ readonly description: "Request to add a new function to a file";
1578
+ readonly parameters: [{
1579
+ readonly name: "path";
1580
+ readonly value: "src/utils.js";
1581
+ }, {
1582
+ readonly name: "diff";
1583
+ readonly value: "\n<<<<<<< SEARCH\nfunction helperA() {\n // ...\n}\n=======\nfunction helperA() {\n // ...\n}\n\nfunction newHelper() {\n // implementation\n}\n>>>>>>> REPLACE\n";
1584
+ }];
1585
+ }, {
1586
+ readonly description: "Request to delete a block of code from a file";
1587
+ readonly parameters: [{
1588
+ readonly name: "path";
1589
+ readonly value: "src/app.js";
1590
+ }, {
1591
+ readonly name: "diff";
1592
+ readonly value: "\n<<<<<<< SEARCH\nfunction oldFeature() {\n // This is no longer needed\n}\n\n=======\n>>>>>>> REPLACE\n";
1593
+ }];
1594
+ }];
1595
+ permissionLevel: PermissionLevel.Write;
1596
+ };
1597
+ export { _default_7 as default_alias_13 }
1598
+ export { _default_7 as replaceInFile }
1599
+ export { _default_7 as replaceInFile_alias_1 }
1600
+ export { _default_7 as replaceInFile_alias_2 }
1601
+
1602
+ declare const _default_8: {
1603
+ handler: ToolHandler<{
1604
+ readonly name: "search_files";
1605
+ readonly description: "Request to perform a regex search across files in a specified directory, outputting context-rich results that include surrounding lines. This tool searches for patterns or specific content across multiple files, displaying each match with encapsulating context.";
1606
+ readonly parameters: [{
1607
+ readonly name: "path";
1608
+ readonly description: "The path of the directory to search in (relative to the current working directory). This directory will be recursively searched.";
1609
+ readonly required: true;
1610
+ readonly usageValue: "Directory path here";
1611
+ }, {
1612
+ readonly name: "regex";
1613
+ readonly description: "The regular expression pattern to search for. Uses Rust regex syntax.";
1614
+ readonly required: true;
1615
+ readonly usageValue: "Your regex pattern here";
1616
+ }, {
1617
+ readonly name: "file_pattern";
1618
+ readonly description: "Comma-separated glob pattern to filter files (e.g., \"*.ts\" for TypeScript files or \"*.ts,*.js\" for both TypeScript and JavaScript files). If not provided, it will search all files (*).";
1619
+ readonly required: false;
1620
+ readonly usageValue: "file pattern here (optional)";
1621
+ }];
1622
+ readonly examples: [{
1623
+ readonly description: "Request to perform a regex search across files";
1624
+ readonly parameters: [{
1625
+ readonly name: "path";
1626
+ readonly value: "src";
1627
+ }, {
1628
+ readonly name: "regex";
1629
+ readonly value: "^components/";
1630
+ }, {
1631
+ readonly name: "file_pattern";
1632
+ readonly value: "*.ts,*.tsx";
1633
+ }];
1634
+ }];
1635
+ readonly permissionLevel: PermissionLevel.Read;
1636
+ }, FilesystemProvider>;
1637
+ isAvailable: (provider: FilesystemProvider) => boolean;
1638
+ name: "search_files";
1639
+ description: "Request to perform a regex search across files in a specified directory, outputting context-rich results that include surrounding lines. This tool searches for patterns or specific content across multiple files, displaying each match with encapsulating context.";
1640
+ parameters: [{
1641
+ readonly name: "path";
1642
+ readonly description: "The path of the directory to search in (relative to the current working directory). This directory will be recursively searched.";
1643
+ readonly required: true;
1644
+ readonly usageValue: "Directory path here";
1645
+ }, {
1646
+ readonly name: "regex";
1647
+ readonly description: "The regular expression pattern to search for. Uses Rust regex syntax.";
1648
+ readonly required: true;
1649
+ readonly usageValue: "Your regex pattern here";
1650
+ }, {
1651
+ readonly name: "file_pattern";
1652
+ readonly description: "Comma-separated glob pattern to filter files (e.g., \"*.ts\" for TypeScript files or \"*.ts,*.js\" for both TypeScript and JavaScript files). If not provided, it will search all files (*).";
1653
+ readonly required: false;
1654
+ readonly usageValue: "file pattern here (optional)";
1655
+ }];
1656
+ examples: [{
1657
+ readonly description: "Request to perform a regex search across files";
1658
+ readonly parameters: [{
1659
+ readonly name: "path";
1660
+ readonly value: "src";
1661
+ }, {
1662
+ readonly name: "regex";
1663
+ readonly value: "^components/";
1664
+ }, {
1665
+ readonly name: "file_pattern";
1666
+ readonly value: "*.ts,*.tsx";
1667
+ }];
1668
+ }];
1669
+ permissionLevel: PermissionLevel.Read;
1670
+ };
1671
+ export { _default_8 as default_alias_14 }
1672
+ export { _default_8 as searchFiles }
1673
+ export { _default_8 as searchFiles_alias_1 }
1674
+ export { _default_8 as searchFiles_alias_2 }
1675
+
1676
+ declare const _default_9: {
1677
+ handler: ToolHandler<{
1678
+ readonly name: "update_knowledge";
1679
+ readonly description: "Update knowledge in a knowledge.ai.yml file with smart merging capabilities. This tool lets you add, update, or remove information using path-based updates and special directives.";
1680
+ readonly parameters: [{
1681
+ readonly name: "path";
1682
+ readonly description: "Directory containing (or where to create) the knowledge.ai.yml file";
1683
+ readonly required: true;
1684
+ readonly usageValue: "Directory path here";
1685
+ }, {
1686
+ readonly name: "knowledge";
1687
+ readonly description: "YAML content to merge into the knowledge file";
1688
+ readonly required: true;
1689
+ readonly usageValue: "YAML content with knowledge to update";
1690
+ }];
1691
+ readonly examples: [{
1692
+ readonly description: "Add a new file entry";
1693
+ readonly parameters: [{
1694
+ readonly name: "path";
1695
+ readonly value: "src/utils";
1696
+ }, {
1697
+ readonly name: "knowledge";
1698
+ readonly value: "files:\n \"newFile.ts\":\n description: \"A new utility file\"\n api:\n functions:\n 1:\n name: \"processData\"\n params:\n 1: { name: \"data\", type: \"object\" }\n returns: \"object\"";
1699
+ }];
1700
+ }, {
1701
+ readonly description: "Update an existing file description";
1702
+ readonly parameters: [{
1703
+ readonly name: "path";
1704
+ readonly value: "src/utils";
1705
+ }, {
1706
+ readonly name: "knowledge";
1707
+ readonly value: "files:\n \"existingFile.ts\":\n description: \"Updated description for the file\"";
1708
+ }];
1709
+ }, {
1710
+ readonly description: "Add a new rule";
1711
+ readonly parameters: [{
1712
+ readonly name: "path";
1713
+ readonly value: "src";
1714
+ }, {
1715
+ readonly name: "knowledge";
1716
+ readonly value: "rules:\n 10: \"New rule to follow\"";
1717
+ }];
1718
+ }, {
1719
+ readonly description: "Remove a rule";
1720
+ readonly parameters: [{
1721
+ readonly name: "path";
1722
+ readonly value: "src";
1723
+ }, {
1724
+ readonly name: "knowledge";
1725
+ readonly value: "rules:\n 5: null";
1726
+ }];
1727
+ }, {
1728
+ readonly description: "Update nested properties using dot notation";
1729
+ readonly parameters: [{
1730
+ readonly name: "path";
1731
+ readonly value: "src/components";
1805
1732
  }, {
1806
- readonly name: "diff";
1807
- readonly value: "\n<<<<<<< SEARCH\nimport React from 'react';\n=======\nimport React, { useState } from 'react';\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\n=======\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nreturn (\n <div>\n=======\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\nreturn (\n <div>\n>>>>>>> REPLACE\n";
1733
+ readonly name: "knowledge";
1734
+ readonly value: "files.Button.tsx.api.functions.1.description: \"Updated function description\"";
1808
1735
  }];
1809
1736
  }];
1810
1737
  readonly permissionLevel: PermissionLevel.Write;
1811
1738
  }, FilesystemProvider>;
1812
1739
  isAvailable: (provider: FilesystemProvider) => boolean;
1813
- name: "replace_in_file";
1814
- description: "Request to replace sections of content in an existing file using SEARCH/REPLACE blocks that define exact changes to specific parts of the file. This tool should be used when you need to make targeted changes to specific parts of a file.";
1740
+ name: "update_knowledge";
1741
+ description: "Update knowledge in a knowledge.ai.yml file with smart merging capabilities. This tool lets you add, update, or remove information using path-based updates and special directives.";
1815
1742
  parameters: [{
1816
1743
  readonly name: "path";
1817
- readonly description: "The path of the file to modify";
1744
+ readonly description: "Directory containing (or where to create) the knowledge.ai.yml file";
1818
1745
  readonly required: true;
1819
- readonly usageValue: "File path here";
1746
+ readonly usageValue: "Directory path here";
1820
1747
  }, {
1821
- readonly name: "diff";
1822
- readonly description: "One or more SEARCH/REPLACE blocks following this exact format:\n ```\n <<<<<<< SEARCH\n [exact content to find]\n =======\n [new content to replace with]\n >>>>>>> REPLACE\n ```\n Critical rules:\n 1. SEARCH content must match the associated file section to find EXACTLY:\n * Match character-for-character including whitespace, indentation, line endings\n * Include all comments, docstrings, etc.\n 2. SEARCH/REPLACE blocks will ONLY replace the first match occurrence.\n * Including multiple unique SEARCH/REPLACE blocks if you need to make multiple changes.\n * Include *just* enough lines in each SEARCH section to uniquely match each set of lines that need to change.\n * When using multiple SEARCH/REPLACE blocks, list them in the order they appear in the file.\n 3. Keep SEARCH/REPLACE blocks concise:\n * Break large SEARCH/REPLACE blocks into a series of smaller blocks that each change a small portion of the file.\n * Include just the changing lines, and a few surrounding lines if needed for uniqueness.\n * Do not include long runs of unchanging lines in SEARCH/REPLACE blocks.\n * Each line must be complete. Never truncate lines mid-way through as this can cause matching failures.\n 4. Special operations:\n * To move code: Use two SEARCH/REPLACE blocks (one to delete from original + one to insert at new location)\n * To delete code: Use empty REPLACE section";
1748
+ readonly name: "knowledge";
1749
+ readonly description: "YAML content to merge into the knowledge file";
1823
1750
  readonly required: true;
1824
- readonly usageValue: "Search and replace blocks here";
1751
+ readonly usageValue: "YAML content with knowledge to update";
1825
1752
  }];
1826
1753
  examples: [{
1827
- readonly description: "Request to replace sections of content in a file";
1754
+ readonly description: "Add a new file entry";
1828
1755
  readonly parameters: [{
1829
1756
  readonly name: "path";
1830
- readonly value: "src/main.js";
1757
+ readonly value: "src/utils";
1831
1758
  }, {
1832
- readonly name: "diff";
1833
- readonly value: "\n<<<<<<< SEARCH\nimport React from 'react';\n=======\nimport React, { useState } from 'react';\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\n=======\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nreturn (\n <div>\n=======\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\nreturn (\n <div>\n>>>>>>> REPLACE\n";
1759
+ readonly name: "knowledge";
1760
+ readonly value: "files:\n \"newFile.ts\":\n description: \"A new utility file\"\n api:\n functions:\n 1:\n name: \"processData\"\n params:\n 1: { name: \"data\", type: \"object\" }\n returns: \"object\"";
1834
1761
  }];
1835
- }];
1836
- permissionLevel: PermissionLevel.Write;
1837
- };
1838
- export { _default_8 as default_alias_14 }
1839
- export { _default_8 as replaceInFile }
1840
- export { _default_8 as replaceInFile_alias_1 }
1841
- export { _default_8 as replaceInFile_alias_2 }
1842
-
1843
- declare const _default_9: {
1844
- handler: ToolHandler<{
1845
- readonly name: "search_files";
1846
- readonly description: "Request to perform a regex search across files in a specified directory, outputting context-rich results that include surrounding lines. This tool searches for patterns or specific content across multiple files, displaying each match with encapsulating context.";
1762
+ }, {
1763
+ readonly description: "Update an existing file description";
1847
1764
  readonly parameters: [{
1848
1765
  readonly name: "path";
1849
- readonly description: "The path of the directory to search in (relative to the current working directory). This directory will be recursively searched.";
1850
- readonly required: true;
1851
- readonly usageValue: "Directory path here";
1852
- }, {
1853
- readonly name: "regex";
1854
- readonly description: "The regular expression pattern to search for. Uses Rust regex syntax.";
1855
- readonly required: true;
1856
- readonly usageValue: "Your regex pattern here";
1766
+ readonly value: "src/utils";
1857
1767
  }, {
1858
- readonly name: "file_pattern";
1859
- readonly description: "Comma-separated glob pattern to filter files (e.g., \"*.ts\" for TypeScript files or \"*.ts,*.js\" for both TypeScript and JavaScript files). If not provided, it will search all files (*).";
1860
- readonly required: false;
1861
- readonly usageValue: "file pattern here (optional)";
1862
- }];
1863
- readonly examples: [{
1864
- readonly description: "Request to perform a regex search across files";
1865
- readonly parameters: [{
1866
- readonly name: "path";
1867
- readonly value: "src";
1868
- }, {
1869
- readonly name: "regex";
1870
- readonly value: "^components/";
1871
- }, {
1872
- readonly name: "file_pattern";
1873
- readonly value: "*.ts,*.tsx";
1874
- }];
1768
+ readonly name: "knowledge";
1769
+ readonly value: "files:\n \"existingFile.ts\":\n description: \"Updated description for the file\"";
1875
1770
  }];
1876
- readonly permissionLevel: PermissionLevel.Read;
1877
- }, FilesystemProvider>;
1878
- isAvailable: (provider: FilesystemProvider) => boolean;
1879
- name: "search_files";
1880
- description: "Request to perform a regex search across files in a specified directory, outputting context-rich results that include surrounding lines. This tool searches for patterns or specific content across multiple files, displaying each match with encapsulating context.";
1881
- parameters: [{
1882
- readonly name: "path";
1883
- readonly description: "The path of the directory to search in (relative to the current working directory). This directory will be recursively searched.";
1884
- readonly required: true;
1885
- readonly usageValue: "Directory path here";
1886
1771
  }, {
1887
- readonly name: "regex";
1888
- readonly description: "The regular expression pattern to search for. Uses Rust regex syntax.";
1889
- readonly required: true;
1890
- readonly usageValue: "Your regex pattern here";
1772
+ readonly description: "Add a new rule";
1773
+ readonly parameters: [{
1774
+ readonly name: "path";
1775
+ readonly value: "src";
1776
+ }, {
1777
+ readonly name: "knowledge";
1778
+ readonly value: "rules:\n 10: \"New rule to follow\"";
1779
+ }];
1891
1780
  }, {
1892
- readonly name: "file_pattern";
1893
- readonly description: "Comma-separated glob pattern to filter files (e.g., \"*.ts\" for TypeScript files or \"*.ts,*.js\" for both TypeScript and JavaScript files). If not provided, it will search all files (*).";
1894
- readonly required: false;
1895
- readonly usageValue: "file pattern here (optional)";
1896
- }];
1897
- examples: [{
1898
- readonly description: "Request to perform a regex search across files";
1781
+ readonly description: "Remove a rule";
1899
1782
  readonly parameters: [{
1900
1783
  readonly name: "path";
1901
1784
  readonly value: "src";
1902
1785
  }, {
1903
- readonly name: "regex";
1904
- readonly value: "^components/";
1786
+ readonly name: "knowledge";
1787
+ readonly value: "rules:\n 5: null";
1788
+ }];
1789
+ }, {
1790
+ readonly description: "Update nested properties using dot notation";
1791
+ readonly parameters: [{
1792
+ readonly name: "path";
1793
+ readonly value: "src/components";
1905
1794
  }, {
1906
- readonly name: "file_pattern";
1907
- readonly value: "*.ts,*.tsx";
1795
+ readonly name: "knowledge";
1796
+ readonly value: "files.Button.tsx.api.functions.1.description: \"Updated function description\"";
1908
1797
  }];
1909
1798
  }];
1910
- permissionLevel: PermissionLevel.Read;
1799
+ permissionLevel: PermissionLevel.Write;
1911
1800
  };
1912
1801
  export { _default_9 as default_alias_15 }
1913
- export { _default_9 as searchFiles }
1914
- export { _default_9 as searchFiles_alias_1 }
1915
- export { _default_9 as searchFiles_alias_2 }
1802
+ export { _default_9 as updateKnowledge }
1803
+ export { _default_9 as updateKnowledge_alias_1 }
1804
+ export { _default_9 as updateKnowledge_alias_2 }
1916
1805
 
1917
1806
  /**
1918
1807
  * AI tool for creating new projects based on user specifications.
@@ -1968,33 +1857,8 @@ declare const defaultModels: {
1968
1857
  export { defaultModels }
1969
1858
  export { defaultModels as defaultModels_alias_1 }
1970
1859
 
1971
- /**
1972
- * Apply multiple edit operations to file content using search/replace pattern.
1973
- * @param fileContent - The original file content
1974
- * @param operations - Array of edit operations to apply
1975
- * @returns The modified file content
1976
- */
1977
- declare const editFile_2: (fileContent: string, operations: EditOperation[]) => Promise<string>;
1978
- export { editFile_2 as editFileHelper }
1979
- export { editFile_2 as editFile_alias_2 }
1980
- export { editFile_2 as editFile_alias_3 }
1981
-
1982
1860
  export declare const editingFilesPrompt: (toolNamePrefix: string) => string;
1983
1861
 
1984
- /**
1985
- * Edit operation using search/replace pattern
1986
- */
1987
- declare interface EditOperation {
1988
- search: string;
1989
- replace: string;
1990
- }
1991
- export { EditOperation }
1992
- export { EditOperation as EditOperation_alias_1 }
1993
-
1994
- declare const END_OF_FILE = "<<<END_OF_FILE>>>";
1995
- export { END_OF_FILE }
1996
- export { END_OF_FILE as END_OF_FILE_alias_1 }
1997
-
1998
1862
  declare const executeAgentTool: <T extends AiToolDefinition<any, any>>(definition: T, agent: MultiAgent, params: GetInput<T>) => Promise<GetOutput<T>>;
1999
1863
  export { executeAgentTool }
2000
1864
  export { executeAgentTool as executeAgentTool_alias_1 }
@@ -2158,15 +2022,13 @@ export declare const handler_alias_11: ToolHandler<typeof toolInfo_alias_11, Fil
2158
2022
 
2159
2023
  export declare const handler_alias_12: ToolHandler<typeof toolInfo_alias_12, FilesystemProvider>;
2160
2024
 
2161
- export declare const handler_alias_13: ToolHandler<typeof toolInfo_alias_13, FilesystemProvider>;
2162
-
2163
2025
  export declare const handler_alias_2: ToolHandler<typeof toolInfo_alias_2, any>;
2164
2026
 
2165
- export declare const handler_alias_3: ToolHandler<typeof toolInfo_alias_3, FilesystemProvider>;
2027
+ export declare const handler_alias_3: ToolHandler<typeof toolInfo_alias_3, CommandProvider>;
2166
2028
 
2167
- export declare const handler_alias_4: ToolHandler<typeof toolInfo_alias_4, CommandProvider>;
2029
+ export declare const handler_alias_4: ToolHandler<typeof toolInfo_alias_4, any>;
2168
2030
 
2169
- export declare const handler_alias_5: ToolHandler<typeof toolInfo_alias_5, any>;
2031
+ export declare const handler_alias_5: ToolHandler<typeof toolInfo_alias_5, FilesystemProvider>;
2170
2032
 
2171
2033
  export declare const handler_alias_6: ToolHandler<typeof toolInfo_alias_6, FilesystemProvider>;
2172
2034
 
@@ -2201,15 +2063,13 @@ export declare const isAvailable_alias_11: (provider: FilesystemProvider) => boo
2201
2063
 
2202
2064
  export declare const isAvailable_alias_12: (provider: FilesystemProvider) => boolean;
2203
2065
 
2204
- export declare const isAvailable_alias_13: (provider: FilesystemProvider) => boolean;
2205
-
2206
2066
  export declare const isAvailable_alias_2: (_provider: any) => boolean;
2207
2067
 
2208
- export declare const isAvailable_alias_3: (provider: FilesystemProvider) => boolean;
2068
+ export declare const isAvailable_alias_3: (provider: CommandProvider) => boolean;
2209
2069
 
2210
- export declare const isAvailable_alias_4: (provider: CommandProvider) => boolean;
2070
+ export declare const isAvailable_alias_4: (_provider: any) => boolean;
2211
2071
 
2212
- export declare const isAvailable_alias_5: (_provider: any) => boolean;
2072
+ export declare const isAvailable_alias_5: (provider: FilesystemProvider) => boolean;
2213
2073
 
2214
2074
  export declare const isAvailable_alias_6: (provider: FilesystemProvider) => boolean;
2215
2075
 
@@ -2703,10 +2563,6 @@ export { SharedAgentOptions }
2703
2563
  export { SharedAgentOptions as SharedAgentOptions_alias_1 }
2704
2564
  export { SharedAgentOptions as SharedAgentOptions_alias_2 }
2705
2565
 
2706
- declare const START_OF_FILE = "<<<START_OF_FILE>>>";
2707
- export { START_OF_FILE }
2708
- export { START_OF_FILE as START_OF_FILE_alias_1 }
2709
-
2710
2566
  declare const systemInformation: (info: {
2711
2567
  os: string;
2712
2568
  }) => string;
@@ -2988,33 +2844,6 @@ export declare const toolInfo_alias_1: {
2988
2844
  };
2989
2845
 
2990
2846
  export declare const toolInfo_alias_10: {
2991
- readonly name: "replace_in_file";
2992
- readonly description: "Request to replace sections of content in an existing file using SEARCH/REPLACE blocks that define exact changes to specific parts of the file. This tool should be used when you need to make targeted changes to specific parts of a file.";
2993
- readonly parameters: [{
2994
- readonly name: "path";
2995
- readonly description: "The path of the file to modify";
2996
- readonly required: true;
2997
- readonly usageValue: "File path here";
2998
- }, {
2999
- readonly name: "diff";
3000
- readonly description: "One or more SEARCH/REPLACE blocks following this exact format:\n ```\n <<<<<<< SEARCH\n [exact content to find]\n =======\n [new content to replace with]\n >>>>>>> REPLACE\n ```\n Critical rules:\n 1. SEARCH content must match the associated file section to find EXACTLY:\n * Match character-for-character including whitespace, indentation, line endings\n * Include all comments, docstrings, etc.\n 2. SEARCH/REPLACE blocks will ONLY replace the first match occurrence.\n * Including multiple unique SEARCH/REPLACE blocks if you need to make multiple changes.\n * Include *just* enough lines in each SEARCH section to uniquely match each set of lines that need to change.\n * When using multiple SEARCH/REPLACE blocks, list them in the order they appear in the file.\n 3. Keep SEARCH/REPLACE blocks concise:\n * Break large SEARCH/REPLACE blocks into a series of smaller blocks that each change a small portion of the file.\n * Include just the changing lines, and a few surrounding lines if needed for uniqueness.\n * Do not include long runs of unchanging lines in SEARCH/REPLACE blocks.\n * Each line must be complete. Never truncate lines mid-way through as this can cause matching failures.\n 4. Special operations:\n * To move code: Use two SEARCH/REPLACE blocks (one to delete from original + one to insert at new location)\n * To delete code: Use empty REPLACE section";
3001
- readonly required: true;
3002
- readonly usageValue: "Search and replace blocks here";
3003
- }];
3004
- readonly examples: [{
3005
- readonly description: "Request to replace sections of content in a file";
3006
- readonly parameters: [{
3007
- readonly name: "path";
3008
- readonly value: "src/main.js";
3009
- }, {
3010
- readonly name: "diff";
3011
- readonly value: "\n<<<<<<< SEARCH\nimport React from 'react';\n=======\nimport React, { useState } from 'react';\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\n=======\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nreturn (\n <div>\n=======\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\nreturn (\n <div>\n>>>>>>> REPLACE\n";
3012
- }];
3013
- }];
3014
- readonly permissionLevel: PermissionLevel.Write;
3015
- };
3016
-
3017
- export declare const toolInfo_alias_11: {
3018
2847
  readonly name: "search_files";
3019
2848
  readonly description: "Request to perform a regex search across files in a specified directory, outputting context-rich results that include surrounding lines. This tool searches for patterns or specific content across multiple files, displaying each match with encapsulating context.";
3020
2849
  readonly parameters: [{
@@ -3049,7 +2878,7 @@ export declare const toolInfo_alias_11: {
3049
2878
  readonly permissionLevel: PermissionLevel.Read;
3050
2879
  };
3051
2880
 
3052
- export declare const toolInfo_alias_12: {
2881
+ export declare const toolInfo_alias_11: {
3053
2882
  readonly name: "update_knowledge";
3054
2883
  readonly description: "Update knowledge in a knowledge.ai.yml file with smart merging capabilities. This tool lets you add, update, or remove information using path-based updates and special directives.";
3055
2884
  readonly parameters: [{
@@ -3112,7 +2941,7 @@ export declare const toolInfo_alias_12: {
3112
2941
  readonly permissionLevel: PermissionLevel.Write;
3113
2942
  };
3114
2943
 
3115
- export declare const toolInfo_alias_13: {
2944
+ export declare const toolInfo_alias_12: {
3116
2945
  readonly name: "write_to_file";
3117
2946
  readonly description: "Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file. Ensure that the output content does not include incorrect escaped character patterns such as `&lt;` and `&gt;`.";
3118
2947
  readonly parameters: [{
@@ -3183,87 +3012,6 @@ export declare const toolInfo_alias_2: {
3183
3012
  };
3184
3013
 
3185
3014
  export declare const toolInfo_alias_3: {
3186
- readonly name: "edit_file";
3187
- readonly description: "Request to edit file contents using search/replace operations. Supports multiple edit operations in a single call.";
3188
- readonly parameters: [{
3189
- readonly name: "path";
3190
- readonly description: "The path of the file to edit";
3191
- readonly required: true;
3192
- readonly usageValue: "File path here";
3193
- }, {
3194
- readonly name: "operations";
3195
- readonly description: "Edit operation with search and replace parameters";
3196
- readonly required: true;
3197
- readonly allowMultiple: true;
3198
- readonly children: [{
3199
- readonly name: "search";
3200
- readonly description: "Text to search for and replace (use <<<START_OF_FILE>>> to insert at file start, <<<END_OF_FILE>>> to insert at file end)";
3201
- readonly required: true;
3202
- readonly usageValue: "Text to find and replace";
3203
- }, {
3204
- readonly name: "replace";
3205
- readonly description: "Text to replace the search text with";
3206
- readonly required: true;
3207
- readonly usageValue: "Replacement text";
3208
- }];
3209
- readonly usageValue: "operations here";
3210
- }];
3211
- readonly examples: [{
3212
- readonly description: "Replace specific text";
3213
- readonly parameters: [{
3214
- readonly name: "path";
3215
- readonly value: "src/main.ts";
3216
- }, {
3217
- readonly name: "operations";
3218
- readonly value: {
3219
- readonly search: "function oldFunction() {\n return 42;\n}";
3220
- readonly replace: "function newFunction() {\n return \"new implementation\";\n}";
3221
- };
3222
- }];
3223
- }, {
3224
- readonly description: "Insert at start of file";
3225
- readonly parameters: [{
3226
- readonly name: "path";
3227
- readonly value: "src/header.ts";
3228
- }, {
3229
- readonly name: "operations";
3230
- readonly value: {
3231
- readonly search: "<<<START_OF_FILE>>>";
3232
- readonly replace: "// File header comment\n";
3233
- };
3234
- }];
3235
- }, {
3236
- readonly description: "Multiple operations in one call";
3237
- readonly parameters: [{
3238
- readonly name: "path";
3239
- readonly value: "src/utils.ts";
3240
- }, {
3241
- readonly name: "operations";
3242
- readonly value: [{
3243
- readonly search: "import React from \"react\"";
3244
- readonly replace: "import React, { useState } from \"react\"";
3245
- }, {
3246
- readonly search: "function Component() {\n return (";
3247
- readonly replace: "function Component() {\n const [state, setState] = useState(false);\n return (";
3248
- }];
3249
- }];
3250
- }, {
3251
- readonly description: "Append content at end of file";
3252
- readonly parameters: [{
3253
- readonly name: "path";
3254
- readonly value: "src/footer.ts";
3255
- }, {
3256
- readonly name: "operations";
3257
- readonly value: {
3258
- readonly search: "<<<END_OF_FILE>>>";
3259
- readonly replace: "\n// End of file appended comment\n";
3260
- };
3261
- }];
3262
- }];
3263
- readonly permissionLevel: PermissionLevel.Write;
3264
- };
3265
-
3266
- export declare const toolInfo_alias_4: {
3267
3015
  readonly name: "execute_command";
3268
3016
  readonly description: "Run a single CLI command. The command is always executed in the project-root working directory (regardless of earlier commands). Prefer one-off shell commands over wrapper scripts for flexibility. **IMPORTANT**: After an `execute_command` call, you MUST stop and NOT allowed to make further tool calls in the same message.";
3269
3017
  readonly parameters: [{
@@ -3290,7 +3038,7 @@ export declare const toolInfo_alias_4: {
3290
3038
  readonly permissionLevel: PermissionLevel.Arbitrary;
3291
3039
  };
3292
3040
 
3293
- export declare const toolInfo_alias_5: {
3041
+ export declare const toolInfo_alias_4: {
3294
3042
  readonly name: "hand_over";
3295
3043
  readonly description: "Hand over the current task to another agent to complete. This tool MUST NOT to be used with any other tool.";
3296
3044
  readonly parameters: [{
@@ -3333,7 +3081,7 @@ export declare const toolInfo_alias_5: {
3333
3081
  readonly permissionLevel: PermissionLevel.None;
3334
3082
  };
3335
3083
 
3336
- export declare const toolInfo_alias_6: {
3084
+ export declare const toolInfo_alias_5: {
3337
3085
  readonly name: "list_files";
3338
3086
  readonly description: "Request to list files and directories within the specified directory. If recursive is true, it will list all files and directories recursively. If recursive is false or not provided, it will only list the top-level contents. Do not use this tool to confirm the existence of files you may have created, as the user will let you know if the files were created successfully or not.";
3339
3087
  readonly parameters: [{
@@ -3365,7 +3113,7 @@ export declare const toolInfo_alias_6: {
3365
3113
  readonly permissionLevel: PermissionLevel.Read;
3366
3114
  };
3367
3115
 
3368
- export declare const toolInfo_alias_7: {
3116
+ export declare const toolInfo_alias_6: {
3369
3117
  readonly name: "read_file";
3370
3118
  readonly description: "Request to read the contents of one or multiple files at the specified paths. Use comma separated paths to read multiple files. Use this when you need to examine the contents of an existing file you do not know the contents of, for example to analyze code, review text files, or extract information from configuration files. May not be suitable for other types of binary files, as it returns the raw content as a string. Try to list all the potential files are relevent to the task, and then use this tool to read all the relevant files.";
3371
3119
  readonly parameters: [{
@@ -3390,7 +3138,7 @@ export declare const toolInfo_alias_7: {
3390
3138
  readonly permissionLevel: PermissionLevel.Read;
3391
3139
  };
3392
3140
 
3393
- export declare const toolInfo_alias_8: {
3141
+ export declare const toolInfo_alias_7: {
3394
3142
  readonly name: "remove_file";
3395
3143
  readonly description: "Request to remove a file at the specified path.";
3396
3144
  readonly parameters: [{
@@ -3409,7 +3157,7 @@ export declare const toolInfo_alias_8: {
3409
3157
  readonly permissionLevel: PermissionLevel.Write;
3410
3158
  };
3411
3159
 
3412
- export declare const toolInfo_alias_9: {
3160
+ export declare const toolInfo_alias_8: {
3413
3161
  readonly name: "rename_file";
3414
3162
  readonly description: "Request to rename a file from source path to target path.";
3415
3163
  readonly parameters: [{
@@ -3436,6 +3184,60 @@ export declare const toolInfo_alias_9: {
3436
3184
  readonly permissionLevel: PermissionLevel.Write;
3437
3185
  };
3438
3186
 
3187
+ export declare const toolInfo_alias_9: {
3188
+ readonly name: "replace_in_file";
3189
+ readonly description: "Request to replace sections of content in an existing file using SEARCH/REPLACE blocks that define exact changes to specific parts of the file. This tool should be used when you need to make targeted changes to specific parts of a file.";
3190
+ readonly parameters: [{
3191
+ readonly name: "path";
3192
+ readonly description: "The path of the file to modify";
3193
+ readonly required: true;
3194
+ readonly usageValue: "File path here";
3195
+ }, {
3196
+ readonly name: "diff";
3197
+ readonly description: "One or more SEARCH/REPLACE blocks following this exact format:\n```\n<<<<<<< SEARCH\n[exact content to find]\n=======\n[new content to replace with]\n>>>>>>> REPLACE\n```\nCritical rules:\n1. SEARCH content must match the associated file section to find EXACTLY:\n * Match character-for-character including whitespace, indentation, line endings\n * Include all comments, docstrings, etc.\n2. SEARCH/REPLACE blocks will ONLY replace the first match occurrence.\n * Including multiple unique SEARCH/REPLACE blocks if you need to make multiple changes.\n * Include *just* enough lines in each SEARCH section to uniquely match each set of lines that need to change.\n * When using multiple SEARCH/REPLACE blocks, list them in the order they appear in the file.\n3. Keep SEARCH/REPLACE blocks concise:\n * Break large SEARCH/REPLACE blocks into a series of smaller blocks that each change a small portion of the file.\n * Include just the changing lines, and a few surrounding lines if needed for uniqueness.\n * Do not include long runs of unchanging lines in SEARCH/REPLACE blocks.\n * Each line must be complete. Never truncate lines mid-way through as this can cause matching failures.\n4. Special operations:\n * To move code: Use two SEARCH/REPLACE blocks (one to delete from original + one to insert at new location)\n * To delete code: Use empty REPLACE section";
3198
+ readonly required: true;
3199
+ readonly usageValue: "Search and replace blocks here";
3200
+ }];
3201
+ readonly examples: [{
3202
+ readonly description: "Request to replace sections of content in a file";
3203
+ readonly parameters: [{
3204
+ readonly name: "path";
3205
+ readonly value: "src/main.js";
3206
+ }, {
3207
+ readonly name: "diff";
3208
+ readonly value: "\n<<<<<<< SEARCH\nimport React from 'react';\n=======\nimport React, { useState } from 'react';\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\n=======\n>>>>>>> REPLACE\n\n<<<<<<< SEARCH\nreturn (\n <div>\n=======\nfunction handleSubmit() {\n saveData();\n setLoading(false);\n}\n\nreturn (\n <div>\n>>>>>>> REPLACE\n";
3209
+ }];
3210
+ }, {
3211
+ readonly description: "Request to perform a simple, single-line replacement";
3212
+ readonly parameters: [{
3213
+ readonly name: "path";
3214
+ readonly value: "src/config.js";
3215
+ }, {
3216
+ readonly name: "diff";
3217
+ readonly value: "\n<<<<<<< SEARCH\nconst API_URL = 'https://api.example.com';\n=======\nconst API_URL = 'https://api.staging.example.com';\n>>>>>>> REPLACE\n";
3218
+ }];
3219
+ }, {
3220
+ readonly description: "Request to add a new function to a file";
3221
+ readonly parameters: [{
3222
+ readonly name: "path";
3223
+ readonly value: "src/utils.js";
3224
+ }, {
3225
+ readonly name: "diff";
3226
+ readonly value: "\n<<<<<<< SEARCH\nfunction helperA() {\n // ...\n}\n=======\nfunction helperA() {\n // ...\n}\n\nfunction newHelper() {\n // implementation\n}\n>>>>>>> REPLACE\n";
3227
+ }];
3228
+ }, {
3229
+ readonly description: "Request to delete a block of code from a file";
3230
+ readonly parameters: [{
3231
+ readonly name: "path";
3232
+ readonly value: "src/app.js";
3233
+ }, {
3234
+ readonly name: "diff";
3235
+ readonly value: "\n<<<<<<< SEARCH\nfunction oldFeature() {\n // This is no longer needed\n}\n\n=======\n>>>>>>> REPLACE\n";
3236
+ }];
3237
+ }];
3238
+ readonly permissionLevel: PermissionLevel.Write;
3239
+ };
3240
+
3439
3241
  declare type ToolParameter = {
3440
3242
  name: string;
3441
3243
  description: string;