loadtoagent 1.0.0 → 1.3.1
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/README.ko.md +7 -0
- package/README.md +7 -0
- package/README.zh-CN.md +7 -0
- package/docs/PROVIDER-CONTRACTS.md +23 -1
- package/docs/UI-AUDIT-100.md +118 -0
- package/docs/UI-AUDIT-101-200.md +120 -0
- package/docs/UI-AUDIT-201-300.md +120 -0
- package/main.js +183 -37
- package/package.json +15 -4
- package/preload.js +11 -0
- package/renderer/app-agent-actions.js +125 -53
- package/renderer/app-bootstrap.js +54 -9
- package/renderer/app-dashboard.js +197 -58
- package/renderer/app-drawer-content.js +103 -86
- package/renderer/app-drawer-data.js +26 -13
- package/renderer/app-drawer.js +79 -55
- package/renderer/app-events-dialogs.js +146 -37
- package/renderer/app-events-filters.js +172 -9
- package/renderer/app-events-navigation.js +78 -31
- package/renderer/app-events-sessions.js +171 -4
- package/renderer/app-events.js +2 -1
- package/renderer/app-graph-model.js +32 -4
- package/renderer/app-graph-orchestration.js +16 -13
- package/renderer/app-graph-view.js +228 -112
- package/renderer/app-management.js +211 -0
- package/renderer/app-provider-visibility.js +124 -0
- package/renderer/app-quality.js +568 -0
- package/renderer/app-run-modal.js +103 -33
- package/renderer/app-runtime-overview.js +312 -0
- package/renderer/app-session-render.js +94 -37
- package/renderer/app-tmux-render.js +119 -38
- package/renderer/app.js +155 -76
- package/renderer/i18n-messages.js +833 -15
- package/renderer/i18n.js +104 -0
- package/renderer/index.html +162 -75
- package/renderer/shared.js +17 -0
- package/renderer/styles-agent-map.css +50 -1
- package/renderer/styles-cards.css +26 -0
- package/renderer/styles-collaboration.css +18 -88
- package/renderer/styles-components.css +126 -14
- package/renderer/styles-management.css +355 -0
- package/renderer/styles-overlays.css +13 -2
- package/renderer/styles-product.css +24 -16
- package/renderer/styles-quality.css +312 -0
- package/renderer/styles-readability.css +862 -0
- package/renderer/styles-responsive-product.css +84 -12
- package/renderer/styles-responsive-runtime.css +31 -14
- package/renderer/styles-responsive-shell.css +44 -48
- package/renderer/styles-responsive-workflows.css +37 -17
- package/renderer/styles-run-composer.css +5 -0
- package/renderer/styles-runtime-overview.css +285 -0
- package/renderer/styles-settings.css +160 -0
- package/renderer/styles-terminal.css +339 -2
- package/renderer/styles-tmux.css +154 -0
- package/renderer/styles-workflow-map.css +362 -15
- package/renderer/styles-workflows.css +69 -2
- package/renderer/styles.css +27 -12
- package/renderer/terminal-agent.js +17 -13
- package/renderer/terminal-events.js +233 -40
- package/renderer/terminal-workbench.js +176 -78
- package/renderer/terminal.js +350 -37
- package/src/agentMonitor/claudeParser.js +96 -7
- package/src/agentMonitor/codexParser.js +59 -4
- package/src/agentMonitor/executionActivity.js +282 -0
- package/src/agentMonitor/genericParser.js +56 -13
- package/src/agentMonitor/hierarchy.js +17 -0
- package/src/agentMonitor/responseIntent.js +51 -0
- package/src/agentMonitor.js +21 -3
- package/src/agentRunner.js +66 -1
- package/src/attentionNotifier.js +71 -0
- package/src/automationMonitor.js +258 -0
- package/src/contracts.js +10 -1
- package/src/ipc/registerAgentIpc.js +9 -3
- package/src/ipc/registerAppIpc.js +4 -1
- package/src/ipc/registerTerminalIpc.js +12 -6
- package/src/macUpdateHelper.js +210 -0
- package/src/monitorWorker.js +65 -6
- package/src/platformPath.js +80 -0
- package/src/processMonitor.js +81 -23
- package/src/providerVisibilityStore.js +45 -0
- package/src/sessionIntelligence.js +247 -0
- package/src/terminalHost.js +381 -0
- package/src/terminalHostDaemon.js +60 -0
- package/src/terminalManager.js +158 -3
- package/src/tmuxMonitor.js +2 -2
- package/src/updateInstaller.js +175 -0
package/renderer/i18n.js
CHANGED
|
@@ -6,6 +6,82 @@
|
|
|
6
6
|
const SUPPORTED = new Set(SUPPORTED_LOCALES);
|
|
7
7
|
const LOCALE_TAGS = Object.freeze({ ko: 'ko-KR', en: 'en-US', 'zh-CN': 'zh-CN' });
|
|
8
8
|
const TRANSLATED_ATTRIBUTES = Object.freeze(['aria-label', 'placeholder', 'title']);
|
|
9
|
+
const OBSERVED_MESSAGE_KEYS = Object.freeze({
|
|
10
|
+
'활동': 'observed.activity',
|
|
11
|
+
'제목을 불러오는 중': 'observed.loading_title',
|
|
12
|
+
'로컬 세션': 'observed.local_session',
|
|
13
|
+
'표시할 대화 메시지가 아직 없습니다.': 'observed.no_messages_yet',
|
|
14
|
+
'LoadToAgent 실행': 'observed.loadtoagent_run',
|
|
15
|
+
'작업 폴더 미상': 'workspace.unknown',
|
|
16
|
+
'외부 환경': 'observed.external_environment',
|
|
17
|
+
'프로젝트 없음': 'ui.no_project',
|
|
18
|
+
'CLI 시작 중': 'observed.cli_starting',
|
|
19
|
+
'실행 준비': 'observed.preparing_run',
|
|
20
|
+
'에이전트 루프 실행 중': 'observed.agent_loop_running',
|
|
21
|
+
'세션 시작': 'observed.session_started',
|
|
22
|
+
'응답 스트리밍 중': 'observed.response_streaming',
|
|
23
|
+
'도구 실행': 'observed.tool_running',
|
|
24
|
+
'실행 실패': 'observed.run_failed',
|
|
25
|
+
'작업 완료': 'observed.task_completed',
|
|
26
|
+
'세션 완료': 'observed.session_completed',
|
|
27
|
+
'스레드 시작': 'observed.thread_started',
|
|
28
|
+
'턴 실행 중': 'observed.turn_running',
|
|
29
|
+
'턴 시작': 'observed.turn_started',
|
|
30
|
+
'추론': 'observed.reasoning',
|
|
31
|
+
'작업 항목': 'observed.work_item',
|
|
32
|
+
'턴 완료': 'observed.turn_completed',
|
|
33
|
+
'요청 처리 중': 'observed.request_processing',
|
|
34
|
+
'도구 완료': 'observed.tool_completed',
|
|
35
|
+
'경고 또는 오류': 'observed.warning_or_error',
|
|
36
|
+
'세션 실행 중': 'observed.session_running',
|
|
37
|
+
'구조화 이벤트 연결됨': 'observed.structured_events_connected',
|
|
38
|
+
'CLI 프로세스 시작': 'observed.cli_process_started',
|
|
39
|
+
'프로세스 오류': 'observed.process_error',
|
|
40
|
+
'사용자가 중지함': 'observed.stopped_by_user',
|
|
41
|
+
'프로세스 완료': 'observed.process_completed',
|
|
42
|
+
'프로세스 중지': 'observed.process_stopped',
|
|
43
|
+
'프로세스 실패': 'observed.process_failed',
|
|
44
|
+
'CLI 상태': 'observed.cli_status',
|
|
45
|
+
'중지 요청 중': 'observed.stop_requested',
|
|
46
|
+
'프로세스 감지': 'observed.process_detected',
|
|
47
|
+
'AI CLI 프로세스 감지': 'observed.ai_cli_detected',
|
|
48
|
+
'LoadToAgent 외부 터미널 브리지': 'observed.external_bridge',
|
|
49
|
+
'도구 실패': 'observed.tool_failed',
|
|
50
|
+
'Claude 데스크톱 앱': 'observed.claude_desktop',
|
|
51
|
+
'응답 생성 중': 'observed.generating_response',
|
|
52
|
+
'도구 실행 또는 스트리밍 중': 'observed.tool_or_streaming',
|
|
53
|
+
'응답 또는 권한 확인 필요': 'observed.response_or_permission_needed',
|
|
54
|
+
'마지막 응답 기록이 종료됨': 'observed.last_response_ended',
|
|
55
|
+
'다음 요청 대기': 'observed.waiting_for_request',
|
|
56
|
+
'Codex 데스크톱 앱': 'observed.codex_desktop',
|
|
57
|
+
'서브에이전트 실행 시작': 'observed.subagent_started',
|
|
58
|
+
'서브에이전트 상태 변경': 'observed.subagent_status_changed',
|
|
59
|
+
'판단 중': 'observed.deciding',
|
|
60
|
+
'다음 작업을 판단하고 결과를 정리하는 중': 'observed.deciding_next',
|
|
61
|
+
'메인 AI 작업 지시': 'observed.main_assignment',
|
|
62
|
+
'새 작업 배정': 'observed.new_assignment',
|
|
63
|
+
'추가 작업 지시': 'observed.followup_assignment',
|
|
64
|
+
'메시지 전달': 'observed.message_delivery',
|
|
65
|
+
'작업 중단 요청': 'observed.interrupt_requested',
|
|
66
|
+
'결과 반환': 'observed.result_returned',
|
|
67
|
+
'작업 전달': 'observed.assignment_delivered',
|
|
68
|
+
'에이전트 메시지': 'observed.agent_message',
|
|
69
|
+
'오류 발생': 'observed.error_occurred',
|
|
70
|
+
'실시간 이벤트 수신 중': 'observed.receiving_events',
|
|
71
|
+
'서브에이전트 작업': 'observed.subagent_work',
|
|
72
|
+
'작업 완료 기록': 'observed.completion_record',
|
|
73
|
+
'실행 시작 관측': 'observed.start_observed',
|
|
74
|
+
'상태 기록만 확인됨': 'observed.status_only',
|
|
75
|
+
'Codex 협업 이벤트': 'observed.codex_collaboration',
|
|
76
|
+
'작업 배정 확인': 'observed.assignment_confirmed',
|
|
77
|
+
'결과 반환 확인': 'observed.result_confirmed',
|
|
78
|
+
'확인 중': 'observed.checking',
|
|
79
|
+
'연결됨': 'observed.connected',
|
|
80
|
+
'tmux 설치됨 · 실행 세션 없음': 'observed.tmux_no_sessions',
|
|
81
|
+
'tmux 미설치 또는 서버 없음': 'observed.tmux_unavailable',
|
|
82
|
+
'WSL 배포판 없음': 'observed.no_wsl_distro',
|
|
83
|
+
'로컬 환경 없음': 'observed.no_local_environment',
|
|
84
|
+
});
|
|
9
85
|
const messages = window.LoadToAgentMessages || {};
|
|
10
86
|
let locale = readLocale();
|
|
11
87
|
|
|
@@ -32,6 +108,32 @@
|
|
|
32
108
|
return interpolate(message[locale] ?? message.ko ?? key, params);
|
|
33
109
|
}
|
|
34
110
|
|
|
111
|
+
/** Keep useful native errors, but never leak Korean backend copy into another locale. */
|
|
112
|
+
function errorText(error, fallbackKey, params) {
|
|
113
|
+
const message = String(error?.message || error || '').trim();
|
|
114
|
+
if (message && (locale === 'ko' || !/[가-힣]/.test(message))) return message;
|
|
115
|
+
return t(fallbackKey, params);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/** Translate only known app-generated observation copy; user-authored text stays unchanged. */
|
|
119
|
+
function observedText(value) {
|
|
120
|
+
const text = String(value ?? '');
|
|
121
|
+
const key = OBSERVED_MESSAGE_KEYS[text];
|
|
122
|
+
if (key) return t(key);
|
|
123
|
+
let match = text.match(/^(tmux에서 AI 프로세스 실행 중|안전하게 연결된 외부 터미널|AI CLI 프로세스 실행 중) · PID (\d+)$/);
|
|
124
|
+
if (match) {
|
|
125
|
+
const prefixKeys = {
|
|
126
|
+
'tmux에서 AI 프로세스 실행 중': 'observed.tmux_ai_running',
|
|
127
|
+
'안전하게 연결된 외부 터미널': 'observed.external_terminal_connected',
|
|
128
|
+
'AI CLI 프로세스 실행 중': 'observed.ai_cli_running',
|
|
129
|
+
};
|
|
130
|
+
return t('observed.pid_status', { status: t(prefixKeys[match[1]]), pid: match[2] });
|
|
131
|
+
}
|
|
132
|
+
match = text.match(/^CLI 종료 코드 (\d+)(.*)$/);
|
|
133
|
+
if (match) return t('observed.cli_exit_code', { code: match[1], signal: match[2] || '' });
|
|
134
|
+
return text;
|
|
135
|
+
}
|
|
136
|
+
|
|
35
137
|
function readParams(element) {
|
|
36
138
|
const serialized = element.dataset.i18nParams;
|
|
37
139
|
if (!serialized) return undefined;
|
|
@@ -105,6 +207,8 @@
|
|
|
105
207
|
getSupportedLocales: () => [...SUPPORTED_LOCALES],
|
|
106
208
|
setLocale,
|
|
107
209
|
t,
|
|
210
|
+
errorText,
|
|
211
|
+
observedText,
|
|
108
212
|
translateTree,
|
|
109
213
|
});
|
|
110
214
|
|