copilot-operator 0.1.42 → 0.1.43
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/src/api/operator.controller.js +131 -0
- package/dist/src/api/operator.service.js +335 -3
- package/dist/src/api/server.js +16 -0
- package/dist/src/cli.js +12 -0
- package/dist/src/config/schema.js +10 -0
- package/dist/src/orchestrator/taskRunner.js +109 -38
- package/dist/src/plan/brief.js +57 -20
- package/dist/src/plan/changes.js +217 -0
- package/dist/src/plan/schema.js +1 -1
- package/dist/src/plan/systemGuide.js +597 -12
- package/dist/src/session/compose.js +15 -1
- package/dist/src/session/model.js +1 -1
- package/dist/src/session/store.js +60 -0
- package/dist/src/vcs/taskVcs.js +110 -1
- package/dist/web/404.html +2 -2
- package/dist/web/_next/static/WmzBz4QN36pcz4PL_cfEW/_buildManifest.js +1 -0
- package/dist/web/_next/static/chunks/499-751e0be9d4f86e2d.js +1 -0
- package/dist/web/_next/static/chunks/549-2415dd26f4e53d07.js +1 -0
- package/dist/web/_next/static/chunks/699-9d031f8c145a0465.js +1 -0
- package/dist/web/_next/static/chunks/867-aea30f560bc18eaf.js +1 -0
- package/dist/web/_next/static/chunks/897-5a34109533c3da50.js +1 -0
- package/dist/web/_next/static/chunks/app/defaults/page-56134fbb8cc7554f.js +1 -0
- package/dist/web/_next/static/chunks/app/history/{page-47973539ceff81d6.js → page-0bb537407fed5944.js} +1 -1
- package/dist/web/_next/static/chunks/app/import/{page-999d6cd958989723.js → page-8ef75fc08638e75f.js} +1 -1
- package/dist/web/_next/static/chunks/app/layout-dc602b727480a653.js +1 -0
- package/dist/web/_next/static/chunks/app/page-d73a8ff300862cd8.js +1 -0
- package/dist/web/_next/static/chunks/app/{page-e557d58476ae6383.js → sessions/page-28376d2e4a9b4738.js} +1 -1
- package/dist/web/_next/static/chunks/app/sessions/view/page-afc235a9171535d8.js +1 -0
- package/dist/web/_next/static/css/{0e55721108c300f2.css → 72c85e4322c21223.css} +1 -1
- package/dist/web/appearance.html +2 -2
- package/dist/web/appearance.txt +25 -28
- package/dist/web/defaults.html +2 -2
- package/dist/web/defaults.txt +25 -28
- package/dist/web/history.html +2 -2
- package/dist/web/history.txt +25 -28
- package/dist/web/import.html +2 -2
- package/dist/web/import.txt +25 -28
- package/dist/web/index.html +2 -2
- package/dist/web/index.txt +25 -28
- package/dist/web/level1.html +2 -2
- package/dist/web/level1.txt +25 -28
- package/dist/web/presets.html +3 -3
- package/dist/web/presets.txt +25 -28
- package/dist/web/sessions/view.html +2 -2
- package/dist/web/sessions/view.txt +25 -28
- package/dist/web/sessions.html +16 -0
- package/dist/web/sessions.txt +26 -0
- package/dist/web/system.html +2 -2
- package/dist/web/system.txt +25 -28
- package/package.json +4 -2
- package/dist/web/_next/static/chunks/204-db82ca47ff211e21.js +0 -1
- package/dist/web/_next/static/chunks/499-39b2c00bda3656f0.js +0 -1
- package/dist/web/_next/static/chunks/549-348b0a1404407e5a.js +0 -1
- package/dist/web/_next/static/chunks/867-7d86a692260006f1.js +0 -1
- package/dist/web/_next/static/chunks/app/defaults/page-a25c40436fc312db.js +0 -1
- package/dist/web/_next/static/chunks/app/layout-6ee612d25e78b246.js +0 -1
- package/dist/web/_next/static/chunks/app/sessions/view/page-872d8b9fe8eedbbf.js +0 -1
- package/dist/web/_next/static/lDmqS7pWU_B_Ac5idPvdS/_buildManifest.js +0 -1
- /package/dist/web/_next/static/{lDmqS7pWU_B_Ac5idPvdS → WmzBz4QN36pcz4PL_cfEW}/_ssgManifest.js +0 -0
|
@@ -827,6 +827,583 @@ export const SYSTEM_GUIDE = [
|
|
|
827
827
|
},
|
|
828
828
|
{
|
|
829
829
|
route: '/',
|
|
830
|
+
nameEn: 'Workbench',
|
|
831
|
+
nameBg: 'Работно място',
|
|
832
|
+
purposeEn: 'The home screen, laid out as an IDE: the sessions and tasks (or the repository\'s files and commits) on the left, the open task with every way on from it in the middle, the commands it ran and the problems below, its chat on the right, where a note, a continuation or a new prompt is written, and Kerrigan beside it. The status bar says what runs; Ctrl+K finds anything.',
|
|
833
|
+
purposeBg: 'Началният екран, подреден като IDE: сесиите и задачите (или файловете и комитите на хранилището) отляво, отворената задача с всички пътища напред в средата, изпълнените команди и проблемите отдолу, чатът ѝ отдясно, където се пише бележка, продължение или нов prompt, и Кериган до него. Лентата най-долу казва какво върви; Ctrl+K намира всичко.',
|
|
834
|
+
sections: [
|
|
835
|
+
{
|
|
836
|
+
headingKey: null,
|
|
837
|
+
en: 'The bar on top',
|
|
838
|
+
bg: 'Лентата горе',
|
|
839
|
+
controls: [
|
|
840
|
+
{
|
|
841
|
+
key: 'wb.palette',
|
|
842
|
+
kind: 'button',
|
|
843
|
+
en: 'Find a task, a session, a page or a command',
|
|
844
|
+
bg: 'Намери задача, сесия, страница или команда',
|
|
845
|
+
doesEn: 'Opens the command palette (also Ctrl+K): any task, session, page or command, found by a few letters.',
|
|
846
|
+
doesBg: 'Отваря палитрата с команди (и с Ctrl+K): всяка задача, сесия, страница или команда, по няколко букви.',
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
key: 'wb.welcome',
|
|
850
|
+
kind: 'note',
|
|
851
|
+
en: 'Welcome',
|
|
852
|
+
bg: 'Добре дошъл',
|
|
853
|
+
doesEn: 'The editor with nothing open: where to begin, and the tasks waiting for you.',
|
|
854
|
+
doesBg: 'Редакторът, когато нищо не е отворено: откъде да се започне и задачите, които чакат теб.',
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
key: 'wb.needsYou',
|
|
858
|
+
kind: 'note',
|
|
859
|
+
en: 'Waiting for you ({n})',
|
|
860
|
+
bg: 'Чакат теб ({n})',
|
|
861
|
+
doesEn: 'Under the welcome: the tasks that failed, blocked, stopped or wait for an answer, each opening its task.',
|
|
862
|
+
doesBg: 'Под поздрава: задачите, които се провалиха, блокираха, спряха или чакат отговор; всяка отваря задачата си.',
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
key: 'wb.closeTab',
|
|
866
|
+
kind: 'button',
|
|
867
|
+
en: 'Close {name}',
|
|
868
|
+
bg: 'Затвори {name}',
|
|
869
|
+
doesEn: 'The × on a tab: closes it.',
|
|
870
|
+
doesBg: 'Хиксът на раздел: затваря го.',
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
key: 'wb.openRunning',
|
|
874
|
+
kind: 'button',
|
|
875
|
+
en: 'Open the task that is running',
|
|
876
|
+
bg: 'Отвори задачата, която върви',
|
|
877
|
+
doesEn: 'In the status bar while something runs: opens the task that is running (session, task, message n of the limit, minutes).',
|
|
878
|
+
doesBg: 'В лентата най-долу, докато нещо върви: отваря задачата, която върви (сесия, задача, съобщение n от лимита, минути).',
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
key: 'wb.waiting',
|
|
882
|
+
kind: 'button',
|
|
883
|
+
en: '{n} waiting for you',
|
|
884
|
+
bg: 'чакат теб: {n}',
|
|
885
|
+
doesEn: 'In the status bar: how many steps or plans wait for an answer; brings the card on top into view.',
|
|
886
|
+
doesBg: 'В лентата най-долу: колко стъпки или планове чакат отговор; показва картата горе.',
|
|
887
|
+
},
|
|
888
|
+
],
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
headingKey: 'wb.sessions',
|
|
892
|
+
en: 'Sessions',
|
|
893
|
+
bg: 'Сесии',
|
|
894
|
+
controls: [
|
|
895
|
+
{
|
|
896
|
+
key: 'wb.filter',
|
|
897
|
+
kind: 'field',
|
|
898
|
+
en: 'Filter tasks',
|
|
899
|
+
bg: 'Филтрирай задачите',
|
|
900
|
+
doesEn: 'Shows only the tasks (and sessions) whose name has these letters.',
|
|
901
|
+
doesBg: 'Показва само задачите (и сесиите), чието име съдържа тези букви.',
|
|
902
|
+
},
|
|
903
|
+
{
|
|
904
|
+
key: 'wb.collapse',
|
|
905
|
+
kind: 'button',
|
|
906
|
+
en: 'Fold {name}',
|
|
907
|
+
bg: 'Сгъни {name}',
|
|
908
|
+
doesEn: 'The ▾ beside a session: folds its tasks away.',
|
|
909
|
+
doesBg: 'Стрелката до сесия: сгъва задачите ѝ.',
|
|
910
|
+
},
|
|
911
|
+
{
|
|
912
|
+
key: 'wb.expand',
|
|
913
|
+
kind: 'button',
|
|
914
|
+
en: 'Unfold {name}',
|
|
915
|
+
bg: 'Разгъни {name}',
|
|
916
|
+
doesEn: 'The ▸ beside a folded session: shows its tasks.',
|
|
917
|
+
doesBg: 'Стрелката до сгъната сесия: показва задачите ѝ.',
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
key: 'wb.refresh',
|
|
921
|
+
kind: 'button',
|
|
922
|
+
en: 'Read again',
|
|
923
|
+
bg: 'Прочети отново',
|
|
924
|
+
doesEn: 'Reads the sessions again at once (they are read every few seconds anyway).',
|
|
925
|
+
doesBg: 'Прочита сесиите веднага (те се четат на всеки няколко секунди и без това).',
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
key: 'wb.newSession',
|
|
929
|
+
kind: 'link',
|
|
930
|
+
en: 'New session',
|
|
931
|
+
bg: 'Нова сесия',
|
|
932
|
+
doesEn: 'Goes to the Sessions page, to the form that makes a new session.',
|
|
933
|
+
doesBg: 'Отива на страницата „Сесии“, на формата за нова сесия.',
|
|
934
|
+
},
|
|
935
|
+
{
|
|
936
|
+
key: 'wb.startPlan',
|
|
937
|
+
kind: 'link',
|
|
938
|
+
en: 'Import a plan',
|
|
939
|
+
bg: 'Импортирай план',
|
|
940
|
+
doesEn: 'Goes to the import page: Kerrigan\'s brief, and the place to paste her plan.',
|
|
941
|
+
doesBg: 'Отива на страницата за импорт: брифингът на Кериган и мястото за плана ѝ.',
|
|
942
|
+
},
|
|
943
|
+
],
|
|
944
|
+
},
|
|
945
|
+
{
|
|
946
|
+
headingKey: null,
|
|
947
|
+
en: 'A task opened in the editor: what can be done with it',
|
|
948
|
+
bg: 'Задача, отворена в редактора: какво може да се направи с нея',
|
|
949
|
+
controls: [
|
|
950
|
+
{
|
|
951
|
+
key: 'wb.runThis',
|
|
952
|
+
kind: 'button',
|
|
953
|
+
en: 'Run this task',
|
|
954
|
+
bg: 'Пусни тази задача',
|
|
955
|
+
doesEn: 'Queued task: offers to run it alone or with the queued ones after it, then opens the start window.',
|
|
956
|
+
doesBg: 'Чакаща задача: предлага да се пусне сама или с чакащите след нея, после отваря прозореца за начало.',
|
|
957
|
+
},
|
|
958
|
+
{
|
|
959
|
+
key: 'wb.addNote',
|
|
960
|
+
kind: 'button',
|
|
961
|
+
en: 'Add information',
|
|
962
|
+
bg: 'Добави информация',
|
|
963
|
+
doesEn: 'Queued task: puts the keyboard in the chat box, where what is written goes to the chat with the task when it runs.',
|
|
964
|
+
doesBg: 'Чакаща задача: слага курсора в полето на чата; написаното отива при чата заедно със задачата, когато тръгне.',
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
key: 'wb.editTask',
|
|
968
|
+
kind: 'link',
|
|
969
|
+
en: 'Edit the task',
|
|
970
|
+
bg: 'Редактирай задачата',
|
|
971
|
+
doesEn: 'Opens the task on its session\'s page, where its prompt, checks and scope are edited.',
|
|
972
|
+
doesBg: 'Отваря задачата на страницата на сесията ѝ, където се редактират prompt, проверки и обхват.',
|
|
973
|
+
},
|
|
974
|
+
{
|
|
975
|
+
key: 'wb.remove',
|
|
976
|
+
kind: 'button',
|
|
977
|
+
en: 'Remove',
|
|
978
|
+
bg: 'Премахни',
|
|
979
|
+
doesEn: 'Queued task: removes it, after a confirmation.',
|
|
980
|
+
doesBg: 'Чакаща задача: премахва я след потвърждение.',
|
|
981
|
+
},
|
|
982
|
+
{
|
|
983
|
+
key: 'wb.writeToChat',
|
|
984
|
+
kind: 'button',
|
|
985
|
+
en: 'Write to the chat',
|
|
986
|
+
bg: 'Пиши в чата',
|
|
987
|
+
doesEn: 'Running task: puts the keyboard in the chat box; what is sent goes to the chat with the next report, while it works.',
|
|
988
|
+
doesBg: 'Задача, която върви: слага курсора в полето на чата; изпратеното отива при чата със следващия отчет, докато работи.',
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
key: 'wb.stopSession',
|
|
992
|
+
kind: 'button',
|
|
993
|
+
en: 'Stop the session',
|
|
994
|
+
bg: 'Спри сесията',
|
|
995
|
+
doesEn: 'Stops the session that is running; the task in flight ends aborted and can be continued.',
|
|
996
|
+
doesBg: 'Спира сесията, която върви; текущата задача завършва като прекъсната и може да продължи.',
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
key: 'wb.fixContradiction',
|
|
1000
|
+
kind: 'link',
|
|
1001
|
+
en: 'Fix the contradiction',
|
|
1002
|
+
bg: 'Поправи противоречието',
|
|
1003
|
+
doesEn: 'A task refused for contradicting itself: opens its session\'s page with the smallest fix offered.',
|
|
1004
|
+
doesBg: 'Задача, отказана заради противоречие: отваря страницата на сесията с предложена най-малката поправка.',
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
key: 'wb.continue',
|
|
1008
|
+
kind: 'button',
|
|
1009
|
+
en: 'Continue',
|
|
1010
|
+
bg: 'Продължи',
|
|
1011
|
+
doesEn: 'A task a limit or a stop ended: queues it to carry on in its own chat and branch, from where it got to, and offers to run it.',
|
|
1012
|
+
doesBg: 'Задача, спряна от лимит или спиране: слага я да продължи в своя чат и клон, от където е стигнала, и предлага да се пусне.',
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
key: 'wb.continueWithPrompt',
|
|
1016
|
+
kind: 'button',
|
|
1017
|
+
en: 'Continue with a new prompt',
|
|
1018
|
+
bg: 'Продължи с нов prompt',
|
|
1019
|
+
doesEn: 'A task that failed, blocked or stopped: puts the keyboard in the chat box, where the prompt it carries on with is written.',
|
|
1020
|
+
doesBg: 'Задача, която се провали, блокира или спря: слага курсора в полето на чата, където се пише prompt-ът, с който продължава.',
|
|
1021
|
+
},
|
|
1022
|
+
{
|
|
1023
|
+
key: 'wb.newPrompt',
|
|
1024
|
+
kind: 'button',
|
|
1025
|
+
en: 'Give it a new prompt',
|
|
1026
|
+
bg: 'Дай ѝ нов prompt',
|
|
1027
|
+
doesEn: 'A done task: puts the keyboard in the chat box, where a new prompt that builds on its work is written.',
|
|
1028
|
+
doesBg: 'Готова задача: слага курсора в полето на чата, където се пише нов prompt, който надгражда работата ѝ.',
|
|
1029
|
+
},
|
|
1030
|
+
{
|
|
1031
|
+
key: 'wb.runAgain',
|
|
1032
|
+
kind: 'button',
|
|
1033
|
+
en: 'Run again',
|
|
1034
|
+
bg: 'Пусни отново',
|
|
1035
|
+
doesEn: 'Queues the task again from where it first started, after a confirmation; its earlier work is not used.',
|
|
1036
|
+
doesBg: 'Слага задачата отново на опашката от където е започнала първия път, след потвърждение; по-ранната ѝ работа не се използва.',
|
|
1037
|
+
},
|
|
1038
|
+
{
|
|
1039
|
+
key: 'wb.accept',
|
|
1040
|
+
kind: 'button',
|
|
1041
|
+
en: 'Accept as done',
|
|
1042
|
+
bg: 'Приеми като готова',
|
|
1043
|
+
doesEn: 'A task that did not end done: opens a field for why, then accepts it as done; what it was is kept beside it.',
|
|
1044
|
+
doesBg: 'Задача, която не е завършила като готова: отваря поле за причината и я приема като готова; какво е била, се пази до нея.',
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
key: 'wb.acceptNote',
|
|
1048
|
+
kind: 'field',
|
|
1049
|
+
en: 'Why it is done (optional), e.g. finished by hand on its branch',
|
|
1050
|
+
bg: 'Защо е готова (по желание), напр. довършена ръчно в нейния клон',
|
|
1051
|
+
doesEn: 'Why the task is done although it did not end so; kept on the task.',
|
|
1052
|
+
doesBg: 'Защо задачата е готова, макар да не е завършила така; пази се на задачата.',
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
key: 'wb.acceptGo',
|
|
1056
|
+
kind: 'button',
|
|
1057
|
+
en: 'Accept it as done',
|
|
1058
|
+
bg: 'Приеми я като готова',
|
|
1059
|
+
doesEn: 'Accepts the task as done.',
|
|
1060
|
+
doesBg: 'Приема задачата като готова.',
|
|
1061
|
+
},
|
|
1062
|
+
{
|
|
1063
|
+
key: 'wb.undo',
|
|
1064
|
+
kind: 'button',
|
|
1065
|
+
en: 'Undo…',
|
|
1066
|
+
bg: 'Отмени…',
|
|
1067
|
+
doesEn: 'Opens the two ways to undo a task that ran, each said before it is done.',
|
|
1068
|
+
doesBg: 'Отваря двата начина да се отмени задача, която е пускана, всеки казан преди да се направи.',
|
|
1069
|
+
},
|
|
1070
|
+
{
|
|
1071
|
+
key: 'wb.undoThisGo',
|
|
1072
|
+
kind: 'button',
|
|
1073
|
+
en: 'Undo this task',
|
|
1074
|
+
bg: 'Отмени задачата',
|
|
1075
|
+
doesEn: 'Takes only this task\'s work out of the session\'s branch, in one new commit, keeps what came after it, and queues it again (per-task branches: the folder goes back to its start). Refused, with nothing changed, when later tasks changed the same lines.',
|
|
1076
|
+
doesBg: 'Изважда само работата на тази задача от клона на сесията с един нов комит, пази каквото е след нея и я слага отново на опашката (при клон на задача: папката се връща в началото ѝ). Отказва се, без нищо да се промени, ако по-късни задачи са променили същите редове.',
|
|
1077
|
+
},
|
|
1078
|
+
{
|
|
1079
|
+
key: 'wb.undoBackGo',
|
|
1080
|
+
kind: 'button',
|
|
1081
|
+
en: 'Go back',
|
|
1082
|
+
bg: 'Върни',
|
|
1083
|
+
doesEn: 'Puts the code back as it was before this task, on a branch of its own, and queues it and the tasks after it again; nothing is started and the old branch keeps the work.',
|
|
1084
|
+
doesBg: 'Връща кода както беше преди тази задача, на отделен клон, и слага нея и задачите след нея отново на опашката; нищо не се пуска, а старият клон пази работата.',
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
key: 'wb.askKerrigan',
|
|
1088
|
+
kind: 'button',
|
|
1089
|
+
en: 'Ask Kerrigan',
|
|
1090
|
+
bg: 'Попитай Кериган',
|
|
1091
|
+
doesEn: 'Opens Kerrigan\'s tab in the right panel, set to this task.',
|
|
1092
|
+
doesBg: 'Отваря раздела на Кериган в десния панел, настроен на тази задача.',
|
|
1093
|
+
},
|
|
1094
|
+
{
|
|
1095
|
+
key: 'wb.onSessionPage',
|
|
1096
|
+
kind: 'link',
|
|
1097
|
+
en: 'On its session’s page',
|
|
1098
|
+
bg: 'На страницата на сесията',
|
|
1099
|
+
doesEn: 'Opens the task on its session\'s page, with every detail and setting.',
|
|
1100
|
+
doesBg: 'Отваря задачата на страницата на сесията ѝ, с всички подробности и настройки.',
|
|
1101
|
+
},
|
|
1102
|
+
{
|
|
1103
|
+
key: 'wb.result',
|
|
1104
|
+
kind: 'note',
|
|
1105
|
+
en: 'How it stands',
|
|
1106
|
+
bg: 'Как стои',
|
|
1107
|
+
doesEn: 'How the task stands: its summary, why it stopped, whether it was accepted or undone.',
|
|
1108
|
+
doesBg: 'Как стои задачата: обобщението ѝ, защо е спряла, дали е приета или отменена.',
|
|
1109
|
+
},
|
|
1110
|
+
{
|
|
1111
|
+
key: 'wb.checks',
|
|
1112
|
+
kind: 'note',
|
|
1113
|
+
en: 'Checks',
|
|
1114
|
+
bg: 'Проверки',
|
|
1115
|
+
doesEn: 'The checks of its last attempt, each passed or not.',
|
|
1116
|
+
doesBg: 'Проверките на последния ѝ опит, всяка минала или не.',
|
|
1117
|
+
},
|
|
1118
|
+
{
|
|
1119
|
+
key: 'wb.review',
|
|
1120
|
+
kind: 'note',
|
|
1121
|
+
en: 'Review: {verdict}',
|
|
1122
|
+
bg: 'Преглед: {verdict}',
|
|
1123
|
+
doesEn: 'What the independent review concluded, with its findings.',
|
|
1124
|
+
doesBg: 'Какво е заключил независимият преглед, с находките му.',
|
|
1125
|
+
},
|
|
1126
|
+
{
|
|
1127
|
+
key: 'wb.changedFiles',
|
|
1128
|
+
kind: 'note',
|
|
1129
|
+
en: 'Files it changed ({n})',
|
|
1130
|
+
bg: 'Файлове, които промени ({n})',
|
|
1131
|
+
doesEn: 'The files the task changed; each opens at the task\'s commit.',
|
|
1132
|
+
doesBg: 'Файловете, които задачата е променила; всеки се отваря при комита на задачата.',
|
|
1133
|
+
},
|
|
1134
|
+
{
|
|
1135
|
+
key: 'wb.notes',
|
|
1136
|
+
kind: 'note',
|
|
1137
|
+
en: 'Your notes to the chat',
|
|
1138
|
+
bg: 'Твоите бележки към чата',
|
|
1139
|
+
doesEn: 'What you wrote to the chat about this task, and whether it has gone out yet.',
|
|
1140
|
+
doesBg: 'Какво си писал на чата за тази задача и дали вече е изпратено.',
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
key: 'wb.prompt',
|
|
1144
|
+
kind: 'disclosure',
|
|
1145
|
+
en: 'Prompt',
|
|
1146
|
+
bg: 'Prompt',
|
|
1147
|
+
doesEn: 'The task\'s prompt, as the chat gets it.',
|
|
1148
|
+
doesBg: 'Prompt-ът на задачата, както го получава чатът.',
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
key: 'wb.plan',
|
|
1152
|
+
kind: 'disclosure',
|
|
1153
|
+
en: 'Plan (version {n})',
|
|
1154
|
+
bg: 'План (версия {n})',
|
|
1155
|
+
doesEn: 'The plan the task made before changing anything (plan first).',
|
|
1156
|
+
doesBg: 'Планът, който задачата е направила, преди да промени нещо („Първо план“).',
|
|
1157
|
+
},
|
|
1158
|
+
{
|
|
1159
|
+
key: 'wb.attempts',
|
|
1160
|
+
kind: 'disclosure',
|
|
1161
|
+
en: 'Earlier attempts ({n})',
|
|
1162
|
+
bg: 'По-ранни опити ({n})',
|
|
1163
|
+
doesEn: 'The task\'s earlier attempts, with how each ended and whether it was undone.',
|
|
1164
|
+
doesBg: 'По-ранните опити на задачата, с това как е завършил всеки и дали е отменен.',
|
|
1165
|
+
},
|
|
1166
|
+
],
|
|
1167
|
+
},
|
|
1168
|
+
{
|
|
1169
|
+
headingKey: null,
|
|
1170
|
+
en: 'A session opened in the editor',
|
|
1171
|
+
bg: 'Сесия, отворена в редактора',
|
|
1172
|
+
controls: [
|
|
1173
|
+
{
|
|
1174
|
+
key: 'wb.sessionSettings',
|
|
1175
|
+
kind: 'link',
|
|
1176
|
+
en: 'Session settings',
|
|
1177
|
+
bg: 'Настройки на сесията',
|
|
1178
|
+
doesEn: 'Opens the session\'s page, with all its settings.',
|
|
1179
|
+
doesBg: 'Отваря страницата на сесията с всичките ѝ настройки.',
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
key: 'wb.addTask',
|
|
1183
|
+
kind: 'link',
|
|
1184
|
+
en: 'Add a task',
|
|
1185
|
+
bg: 'Добави задача',
|
|
1186
|
+
doesEn: 'Opens the session\'s page at the form that adds a task.',
|
|
1187
|
+
doesBg: 'Отваря страницата на сесията при формата за нова задача.',
|
|
1188
|
+
},
|
|
1189
|
+
],
|
|
1190
|
+
},
|
|
1191
|
+
{
|
|
1192
|
+
headingKey: 'wb.chatPanel',
|
|
1193
|
+
en: 'Chat',
|
|
1194
|
+
bg: 'Чат',
|
|
1195
|
+
controls: [
|
|
1196
|
+
{
|
|
1197
|
+
key: 'wb.chatTab',
|
|
1198
|
+
kind: 'tab',
|
|
1199
|
+
en: 'Chat',
|
|
1200
|
+
bg: 'Чат',
|
|
1201
|
+
doesEn: 'The chosen task\'s conversation as it happens, and the box to write to it.',
|
|
1202
|
+
doesBg: 'Разговорът на избраната задача, докато върви, и полето за писане до нея.',
|
|
1203
|
+
},
|
|
1204
|
+
{
|
|
1205
|
+
key: 'wb.kerriganTab',
|
|
1206
|
+
kind: 'tab',
|
|
1207
|
+
en: 'Kerrigan',
|
|
1208
|
+
bg: 'Кериган',
|
|
1209
|
+
doesEn: 'Tell Kerrigan what happened and apply the changes she answers with.',
|
|
1210
|
+
doesBg: 'Кажи на Кериган какво се случи и приложи промените, с които отговори.',
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
key: 'wb.toggleChat',
|
|
1214
|
+
kind: 'button',
|
|
1215
|
+
en: 'Show or hide the chat',
|
|
1216
|
+
bg: 'Покажи или скрий чата',
|
|
1217
|
+
doesEn: 'The × on the right panel (and the chat icon on the far left): hides or shows it (Ctrl+L brings it back with the keyboard in the box).',
|
|
1218
|
+
doesBg: 'Хиксът на десния панел (и иконата на чата най-вляво): скрива го или го показва (Ctrl+L го връща с курсора в полето).',
|
|
1219
|
+
},
|
|
1220
|
+
{
|
|
1221
|
+
key: 'wb.sendNote',
|
|
1222
|
+
kind: 'button',
|
|
1223
|
+
en: 'Send to the chat',
|
|
1224
|
+
bg: 'Изпрати на чата',
|
|
1225
|
+
doesEn: 'Queued or running task: sends what is written as a note, with its next message (Ctrl+Enter).',
|
|
1226
|
+
doesBg: 'Чакаща задача или такава, която върви: изпраща написаното като бележка със следващото ѝ съобщение (Ctrl+Enter).',
|
|
1227
|
+
},
|
|
1228
|
+
{
|
|
1229
|
+
key: 'wb.sendContinue',
|
|
1230
|
+
kind: 'button',
|
|
1231
|
+
en: 'Continue with this',
|
|
1232
|
+
bg: 'Продължи с това',
|
|
1233
|
+
doesEn: 'Failed, blocked or stopped task: queues it to carry on from where it got to with this prompt, and offers to run it.',
|
|
1234
|
+
doesBg: 'Провалена, блокирала или спряна задача: слага я да продължи от където е стигнала с този prompt и предлага да се пусне.',
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
key: 'wb.sendNewPrompt',
|
|
1238
|
+
kind: 'button',
|
|
1239
|
+
en: 'Queue with this new prompt',
|
|
1240
|
+
bg: 'На опашката с този нов prompt',
|
|
1241
|
+
doesEn: 'Done task: queues it with this new prompt, building on its work, and offers to run it.',
|
|
1242
|
+
doesBg: 'Готова задача: слага я на опашката с този нов prompt, надграждайки работата ѝ, и предлага да се пусне.',
|
|
1243
|
+
},
|
|
1244
|
+
{
|
|
1245
|
+
key: 'wb.sendNone',
|
|
1246
|
+
kind: 'button',
|
|
1247
|
+
en: 'Send',
|
|
1248
|
+
bg: 'Изпрати',
|
|
1249
|
+
doesEn: 'Shown when nothing can be sent to the task now (its session runs another task).',
|
|
1250
|
+
doesBg: 'Показва се, когато сега нищо не може да се изпрати на задачата (сесията ѝ изпълнява друга).',
|
|
1251
|
+
},
|
|
1252
|
+
],
|
|
1253
|
+
},
|
|
1254
|
+
{
|
|
1255
|
+
headingKey: 'wb.kTell',
|
|
1256
|
+
en: 'Tell Kerrigan what happened',
|
|
1257
|
+
bg: 'Кажи на Кериган какво се случи',
|
|
1258
|
+
controls: [
|
|
1259
|
+
{
|
|
1260
|
+
key: 'wb.kScopeTask',
|
|
1261
|
+
kind: 'radio',
|
|
1262
|
+
en: 'This task',
|
|
1263
|
+
bg: 'Тази задача',
|
|
1264
|
+
doesEn: 'The report covers the chosen task.',
|
|
1265
|
+
doesBg: 'Отчетът е за избраната задача.',
|
|
1266
|
+
},
|
|
1267
|
+
{
|
|
1268
|
+
key: 'wb.kScopeSession',
|
|
1269
|
+
kind: 'radio',
|
|
1270
|
+
en: 'This session',
|
|
1271
|
+
bg: 'Тази сесия',
|
|
1272
|
+
doesEn: 'The report covers every task of the chosen session.',
|
|
1273
|
+
doesBg: 'Отчетът е за всички задачи на избраната сесия.',
|
|
1274
|
+
},
|
|
1275
|
+
{
|
|
1276
|
+
key: 'wb.kScopeAll',
|
|
1277
|
+
kind: 'radio',
|
|
1278
|
+
en: 'All sessions',
|
|
1279
|
+
bg: 'Всички сесии',
|
|
1280
|
+
doesEn: 'The report covers every session.',
|
|
1281
|
+
doesBg: 'Отчетът е за всички сесии.',
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
key: 'wb.kScope',
|
|
1285
|
+
kind: 'note',
|
|
1286
|
+
en: 'What to tell her about',
|
|
1287
|
+
bg: 'За какво да ѝ кажеш',
|
|
1288
|
+
doesEn: 'The choice above the note: which tasks the report covers.',
|
|
1289
|
+
doesBg: 'Изборът над бележката: за кои задачи е отчетът.',
|
|
1290
|
+
},
|
|
1291
|
+
{
|
|
1292
|
+
key: 'wb.kNote',
|
|
1293
|
+
kind: 'field',
|
|
1294
|
+
en: 'What happened, and what you want now',
|
|
1295
|
+
bg: 'Какво се случи и какво искаш сега',
|
|
1296
|
+
doesEn: 'What you tell Kerrigan: what went wrong, what you want now; it goes into the report.',
|
|
1297
|
+
doesBg: 'Какво казваш на Кериган: какво се обърка, какво искаш сега; влиза в отчета.',
|
|
1298
|
+
},
|
|
1299
|
+
{
|
|
1300
|
+
key: 'wb.kCopy',
|
|
1301
|
+
kind: 'button',
|
|
1302
|
+
en: 'Copy for Kerrigan',
|
|
1303
|
+
bg: 'Копирай за Кериган',
|
|
1304
|
+
doesEn: 'Copies the report — every task with how it ended and why, what it changed, your words, and how to answer — for Kerrigan\'s chat.',
|
|
1305
|
+
doesBg: 'Копира отчета — всяка задача с това как е завършила и защо, какво е променила, твоите думи и как да отговори — за чата на Кериган.',
|
|
1306
|
+
},
|
|
1307
|
+
{
|
|
1308
|
+
key: 'wb.kSave',
|
|
1309
|
+
kind: 'button',
|
|
1310
|
+
en: 'Save as a file',
|
|
1311
|
+
bg: 'Запази като файл',
|
|
1312
|
+
doesEn: 'Saves the same report as a text file, for a chat that takes a file.',
|
|
1313
|
+
doesBg: 'Запазва същия отчет като текстов файл, за чат, който приема файл.',
|
|
1314
|
+
},
|
|
1315
|
+
{
|
|
1316
|
+
key: 'wb.kBrief',
|
|
1317
|
+
kind: 'link',
|
|
1318
|
+
en: 'Kerrigan’s brief',
|
|
1319
|
+
bg: 'Брифингът на Кериган',
|
|
1320
|
+
doesEn: 'Opens the import page, where Kerrigan\'s brief is copied.',
|
|
1321
|
+
doesBg: 'Отваря страницата за импорт, откъдето се копира брифингът на Кериган.',
|
|
1322
|
+
},
|
|
1323
|
+
],
|
|
1324
|
+
},
|
|
1325
|
+
{
|
|
1326
|
+
headingKey: 'wb.kAnswer',
|
|
1327
|
+
en: 'Her answer',
|
|
1328
|
+
bg: 'Нейният отговор',
|
|
1329
|
+
controls: [
|
|
1330
|
+
{
|
|
1331
|
+
key: 'wb.kPaste',
|
|
1332
|
+
kind: 'field',
|
|
1333
|
+
en: 'Paste her whole answer here, words and JSON together',
|
|
1334
|
+
bg: 'Постави целия ѝ отговор тук, думи и JSON заедно',
|
|
1335
|
+
doesEn: 'Her whole answer, words and the JSON with "changes" together.',
|
|
1336
|
+
doesBg: 'Целият ѝ отговор, думите и JSON-ът с "changes" заедно.',
|
|
1337
|
+
},
|
|
1338
|
+
{
|
|
1339
|
+
key: 'wb.kCheck',
|
|
1340
|
+
kind: 'button',
|
|
1341
|
+
en: 'Check her answer',
|
|
1342
|
+
bg: 'Провери отговора ѝ',
|
|
1343
|
+
doesEn: 'Reads her changes against the sessions as they are now and says each in words; nothing is changed.',
|
|
1344
|
+
doesBg: 'Прочита промените ѝ спрямо сесиите, както са сега, и казва всяка с думи; нищо не се променя.',
|
|
1345
|
+
},
|
|
1346
|
+
{
|
|
1347
|
+
key: 'wb.kApply',
|
|
1348
|
+
kind: 'button',
|
|
1349
|
+
en: 'Make the {n} change(s)',
|
|
1350
|
+
bg: 'Направи промените ({n})',
|
|
1351
|
+
doesEn: 'Makes the changes one by one, as the buttons would — a task carried on, added, edited, undone, accepted — and stops at the first refused; nothing is started.',
|
|
1352
|
+
doesBg: 'Прави промените една по една, както биха бутоните — задача продължена, добавена, редактирана, отменена, приета — и спира при първата отказана; нищо не се пуска.',
|
|
1353
|
+
},
|
|
1354
|
+
{
|
|
1355
|
+
key: 'wb.kImportPage',
|
|
1356
|
+
kind: 'link',
|
|
1357
|
+
en: 'Open the import page',
|
|
1358
|
+
bg: 'Отвори страницата за импорт',
|
|
1359
|
+
doesEn: 'Shown when her answer is a plan of new sessions: opens the import page for it.',
|
|
1360
|
+
doesBg: 'Показва се, когато отговорът ѝ е план за нови сесии: отваря страницата за импорт.',
|
|
1361
|
+
},
|
|
1362
|
+
],
|
|
1363
|
+
},
|
|
1364
|
+
{
|
|
1365
|
+
headingKey: 'wb.panel',
|
|
1366
|
+
en: 'Panel',
|
|
1367
|
+
bg: 'Панел',
|
|
1368
|
+
controls: [
|
|
1369
|
+
{
|
|
1370
|
+
key: 'wb.terminal',
|
|
1371
|
+
kind: 'tab',
|
|
1372
|
+
en: 'Terminal',
|
|
1373
|
+
bg: 'Терминал',
|
|
1374
|
+
doesEn: 'The commands the chosen task ran and what each printed, following the newest while it runs.',
|
|
1375
|
+
doesBg: 'Командите, които избраната задача е изпълнила, и какво е изписала всяка, като следва най-новата, докато върви.',
|
|
1376
|
+
},
|
|
1377
|
+
{
|
|
1378
|
+
key: 'wb.problems',
|
|
1379
|
+
kind: 'tab',
|
|
1380
|
+
en: 'Problems',
|
|
1381
|
+
bg: 'Проблеми',
|
|
1382
|
+
doesEn: 'What did not pass in the chosen session — checks, review findings, why a task stopped — each opening its task.',
|
|
1383
|
+
doesBg: 'Какво не е минало в избраната сесия — проверки, находки от прегледа, защо е спряла задача — всяко отваря задачата си.',
|
|
1384
|
+
},
|
|
1385
|
+
{
|
|
1386
|
+
key: 'wb.output',
|
|
1387
|
+
kind: 'tab',
|
|
1388
|
+
en: 'Output',
|
|
1389
|
+
bg: 'Изход',
|
|
1390
|
+
doesEn: 'The chosen session\'s events, newest at the bottom.',
|
|
1391
|
+
doesBg: 'Събитията на избраната сесия, най-новите отдолу.',
|
|
1392
|
+
},
|
|
1393
|
+
{
|
|
1394
|
+
key: 'wb.cmdPanel',
|
|
1395
|
+
kind: 'button',
|
|
1396
|
+
en: 'Show or hide the panel',
|
|
1397
|
+
bg: 'Покажи или скрий панела',
|
|
1398
|
+
doesEn: 'The arrow at the panel\'s right: hides it to its tabs or shows it again (Ctrl+J).',
|
|
1399
|
+
doesBg: 'Стрелката вдясно на панела: свива го до разделите му или го показва отново (Ctrl+J).',
|
|
1400
|
+
},
|
|
1401
|
+
],
|
|
1402
|
+
},
|
|
1403
|
+
],
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
route: '/sessions',
|
|
830
1407
|
nameEn: 'Sessions',
|
|
831
1408
|
nameBg: 'Сесии',
|
|
832
1409
|
purposeEn: 'The list of every session on this machine: where one is created, where several are ticked and started one after another, and where a stopped step waits for a decision.',
|
|
@@ -1254,8 +1831,8 @@ export const SYSTEM_GUIDE = [
|
|
|
1254
1831
|
kind: 'link',
|
|
1255
1832
|
en: 'Sessions',
|
|
1256
1833
|
bg: 'Сесии',
|
|
1257
|
-
doesEn: 'Above the name, back to the sessions list on
|
|
1258
|
-
doesBg: 'Над името, обратно към списъка със сесии на
|
|
1834
|
+
doesEn: 'Above the name, back to the sessions list on `/sessions`.',
|
|
1835
|
+
doesBg: 'Над името, обратно към списъка със сесии на `/sessions`.',
|
|
1259
1836
|
},
|
|
1260
1837
|
{
|
|
1261
1838
|
key: 'session.group',
|
|
@@ -2269,8 +2846,8 @@ export const SYSTEM_GUIDE = [
|
|
|
2269
2846
|
kind: 'button',
|
|
2270
2847
|
en: 'New session',
|
|
2271
2848
|
bg: 'Нова сесия',
|
|
2272
|
-
doesEn: 'Goes to the "New session" form on
|
|
2273
|
-
doesBg: 'Отива на формата „Нова сесия“ на
|
|
2849
|
+
doesEn: 'Goes to the "New session" form on `/sessions`.',
|
|
2850
|
+
doesBg: 'Отива на формата „Нова сесия“ на `/sessions`.',
|
|
2274
2851
|
},
|
|
2275
2852
|
{
|
|
2276
2853
|
key: 'reg.newTask',
|
|
@@ -2831,24 +3408,24 @@ export const SYSTEM_GUIDE = [
|
|
|
2831
3408
|
kind: 'button',
|
|
2832
3409
|
en: 'Pause after this task',
|
|
2833
3410
|
bg: 'Пауза след тази задача',
|
|
2834
|
-
doesEn: 'As on
|
|
2835
|
-
doesBg: 'Както на
|
|
3411
|
+
doesEn: 'As on `/sessions`: holds the run after the task in flight finishes properly. Press it first after a failure you want to think about.',
|
|
3412
|
+
doesBg: 'Както на `/sessions`: задържа пускането, след като текущата задача приключи както трябва. Натиснете го първо след провал, над който искате да помислите.',
|
|
2836
3413
|
},
|
|
2837
3414
|
{
|
|
2838
3415
|
key: 'batch.resume',
|
|
2839
3416
|
kind: 'button',
|
|
2840
3417
|
en: 'Take the hold off',
|
|
2841
3418
|
bg: 'Махни паузата',
|
|
2842
|
-
doesEn: 'As on
|
|
2843
|
-
doesBg: 'Както на
|
|
3419
|
+
doesEn: 'As on `/sessions`: the queue carries on.',
|
|
3420
|
+
doesBg: 'Както на `/sessions`: опашката продължава.',
|
|
2844
3421
|
},
|
|
2845
3422
|
{
|
|
2846
3423
|
key: 'batch.stop',
|
|
2847
3424
|
kind: 'button',
|
|
2848
3425
|
en: 'Stop after the current step',
|
|
2849
3426
|
bg: 'Спри след текущата стъпка',
|
|
2850
|
-
doesEn: 'As on
|
|
2851
|
-
doesBg: 'Както на
|
|
3427
|
+
doesEn: 'As on `/sessions`: stops after the current step; the task in flight ends aborted.',
|
|
3428
|
+
doesBg: 'Както на `/sessions`: спира след текущата стъпка; текущата задача завършва прекратена.',
|
|
2852
3429
|
},
|
|
2853
3430
|
{
|
|
2854
3431
|
key: 'reg.continue',
|
|
@@ -3202,8 +3779,8 @@ export const SYSTEM_GUIDE = [
|
|
|
3202
3779
|
kind: 'button',
|
|
3203
3780
|
en: 'To the sessions',
|
|
3204
3781
|
bg: 'Към сесиите',
|
|
3205
|
-
doesEn: 'Goes to the sessions list on
|
|
3206
|
-
doesBg: 'Отива на списъка със сесии на
|
|
3782
|
+
doesEn: 'Goes to the sessions list on `/sessions`.',
|
|
3783
|
+
doesBg: 'Отива на списъка със сесии на `/sessions`.',
|
|
3207
3784
|
},
|
|
3208
3785
|
{
|
|
3209
3786
|
key: 'proj.toImport',
|
|
@@ -3377,6 +3954,14 @@ export const SYSTEM_GUIDE = [
|
|
|
3377
3954
|
doesEn: 'Closes the preview; nothing is changed.',
|
|
3378
3955
|
doesBg: 'Затваря прегледа; нищо не се променя.',
|
|
3379
3956
|
},
|
|
3957
|
+
{
|
|
3958
|
+
key: 'exec.autoContinue',
|
|
3959
|
+
kind: 'field',
|
|
3960
|
+
en: 'Keep going after a limit',
|
|
3961
|
+
bg: 'Продължавай след лимит',
|
|
3962
|
+
doesEn: 'How many times a task stopped by a limit (messages, minutes, reply wait, wrong format, rounds of fixing checks or review findings) is carried on at once in its own chat, from where it got to (0–20, 3 by default); after that it waits for "Continue". Blocked tasks and tasks the operator stopped are not carried on.',
|
|
3963
|
+
doesBg: 'Колко пъти задача, спряна от лимит (съобщения, минути, чакане на отговор, грешен формат, кръгове поправки на проверки или находки), продължава веднага в своя чат, от където е стигнала (0–20, по подразбиране 3); после чака „Continue“. Blocked задачи и задачи, спрени от оператора, не продължават сами.',
|
|
3964
|
+
},
|
|
3380
3965
|
{
|
|
3381
3966
|
key: 'exec.minApproaches',
|
|
3382
3967
|
kind: 'field',
|