yidaconnector 2026.6.11
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/LICENSE +21 -0
- package/README.md +383 -0
- package/bin/yida.js +670 -0
- package/lib/app/form-navigation.js +58 -0
- package/lib/app/get-schema.js +538 -0
- package/lib/auth/auth.js +294 -0
- package/lib/auth/cdp-browser-login.js +390 -0
- package/lib/auth/codex-login.js +71 -0
- package/lib/auth/login.js +475 -0
- package/lib/auth/org.js +363 -0
- package/lib/auth/qr-login.js +1563 -0
- package/lib/core/chalk.js +384 -0
- package/lib/core/check-update.js +82 -0
- package/lib/core/cli-error.js +39 -0
- package/lib/core/command-manifest.js +106 -0
- package/lib/core/env-cmd.js +545 -0
- package/lib/core/env-manager.js +601 -0
- package/lib/core/env.js +287 -0
- package/lib/core/i18n.js +177 -0
- package/lib/core/locales/ar.js +805 -0
- package/lib/core/locales/de.js +805 -0
- package/lib/core/locales/en.js +1623 -0
- package/lib/core/locales/es.js +805 -0
- package/lib/core/locales/fr.js +805 -0
- package/lib/core/locales/hi.js +805 -0
- package/lib/core/locales/ja.js +1197 -0
- package/lib/core/locales/ko.js +807 -0
- package/lib/core/locales/pt.js +805 -0
- package/lib/core/locales/vi.js +805 -0
- package/lib/core/locales/zh-HK.js +1233 -0
- package/lib/core/locales/zh.js +1584 -0
- package/lib/core/query-data.js +781 -0
- package/lib/core/redact.js +100 -0
- package/lib/core/utils.js +799 -0
- package/lib/core/yida-client.js +117 -0
- package/package.json +94 -0
- package/project/config.json +4 -0
- package/project/pages/src/demo-birthday-game.oyd.jsx +832 -0
- package/project/pages/src/demo-chip-insight.oyd.jsx +983 -0
- package/project/pages/src/demo-compat-smoke.oyd.jsx +58 -0
- package/project/pages/src/demo-crm-batch-entry.oyd.jsx +805 -0
- package/project/pages/src/demo-crm-dashboard.oyd.jsx +677 -0
- package/project/pages/src/demo-future-vision-2026.oyd.jsx +1102 -0
- package/project/pages/src/demo-ppt.oyd.jsx +1192 -0
- package/project/pages/src/demo-salary-calculator.oyd.jsx +904 -0
- package/project/pages/src/yidaconnector-knowledge-doc.oyd.jsx +1714 -0
- package/project/prd/demo-birthday-game.md +39 -0
- package/project/prd/demo-crm.md +463 -0
- package/project/prd/demo-dingtalk-ai-solution-center.md +425 -0
- package/project/prd/demo-future-vision-2026.md +78 -0
- package/project/prd/demo-salary-calculator.md +101 -0
- package/scripts/build-skills-package.js +406 -0
- package/scripts/check-syntax.js +59 -0
- package/scripts/demo-dws.sh +106 -0
- package/scripts/e2e-real/cleanup.js +67 -0
- package/scripts/e2e-real/fixtures/form-fields.json +18 -0
- package/scripts/e2e-real/full-runner.js +1566 -0
- package/scripts/e2e-real/runner.js +293 -0
- package/scripts/e2e-real/skill-coverage.js +115 -0
- package/scripts/generate-command-docs.js +109 -0
- package/scripts/nightly-smoke.js +134 -0
- package/scripts/postinstall.js +545 -0
- package/scripts/solution-center-runner.js +368 -0
- package/scripts/validate-ci.sh +50 -0
- package/scripts/validate-command-manifest.js +119 -0
- package/scripts/validate-package-size.js +78 -0
- package/scripts/validate-skills.js +247 -0
- package/scripts/validate-structure.js +66 -0
- package/yida-skills/SKILL.md +163 -0
- package/yida-skills/references/yida-api.md +1309 -0
- package/yida-skills/skills/large-file-write/SKILL.md +91 -0
- package/yida-skills/skills/large-file-write/references/write-patterns.md +149 -0
- package/yida-skills/skills/large-file-write/scripts/write.js +157 -0
- package/yida-skills/skills/yida-data-management/SKILL.md +252 -0
- package/yida-skills/skills/yida-data-management/references/api-matrix.md +49 -0
- package/yida-skills/skills/yida-data-management/references/data-format-guide.md +159 -0
- package/yida-skills/skills/yida-data-management/references/verified-endpoints.md +62 -0
- package/yida-skills/skills/yida-login/SKILL.md +159 -0
- package/yida-skills/skills/yida-logout/SKILL.md +67 -0
|
@@ -0,0 +1,807 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 한국어 언어 팩 (Korean)
|
|
5
|
+
*/
|
|
6
|
+
module.exports = {
|
|
7
|
+
// ── bin/yida.js printHelp() ────────────────────────
|
|
8
|
+
help: {
|
|
9
|
+
subtitle: 'Yida 로우코드 AI 개발 도구',
|
|
10
|
+
usage: '사용법:',
|
|
11
|
+
alias: '별칭:',
|
|
12
|
+
group_auth: '환경 & 인증',
|
|
13
|
+
cmd_login: '로그인 (캐시 우선, 필요 시 --browser 또는 --agent-qr)',
|
|
14
|
+
cmd_logout: '로그아웃 / 계정 전환',
|
|
15
|
+
cmd_auth: '로그인 상태 관리',
|
|
16
|
+
cmd_org: '조직 관리 (목록 / 전환)',
|
|
17
|
+
cmd_env: 'AI 도구 환경 및 로그인 상태 감지',
|
|
18
|
+
cmd_env_management: 'Manage public/private environment profiles',
|
|
19
|
+
group_app: '앱 관리',
|
|
20
|
+
cmd_app_list: '내 Yida 앱 목록 조회',
|
|
21
|
+
cmd_corp_efficiency: '기업 효율 개요 및 상세 보고서 조회',
|
|
22
|
+
cmd_create_app: 'Yida 앱 생성',
|
|
23
|
+
cmd_update_app: '앱 정보 업데이트',
|
|
24
|
+
cmd_nav_group: '앱 사이드바 내비게이션 그룹 관리',
|
|
25
|
+
cmd_app_permission: '앱 주관리자, 데이터 관리자, 개발 멤버 관리',
|
|
26
|
+
cmd_i18n: '앱 다국어 문구와 언어 설정 관리',
|
|
27
|
+
cmd_export: '앱 내보내기 (마이그레이션 패키지 생성)',
|
|
28
|
+
cmd_import: '마이그레이션 패키지 가져오기, 앱 재구축',
|
|
29
|
+
group_form: '양식 & 페이지',
|
|
30
|
+
cmd_create_form: '양식 페이지 생성',
|
|
31
|
+
cmd_update_form: '양식 페이지 업데이트',
|
|
32
|
+
cmd_list_forms: 'List forms/pages in an app',
|
|
33
|
+
cmd_aggregate_table: 'Manage aggregate tables (virtualView)',
|
|
34
|
+
cmd_get_schema: '양식 Schema 가져오기',
|
|
35
|
+
cmd_create_page: '사용자 정의 표시 페이지 생성',
|
|
36
|
+
cmd_generate_page: 'Generate page from curated template',
|
|
37
|
+
cmd_check_page: 'Check custom page standards',
|
|
38
|
+
cmd_compile: '사용자 정의 페이지 로컬 컴파일',
|
|
39
|
+
cmd_publish: '사용자 정의 페이지 컴파일 및 게시',
|
|
40
|
+
cmd_update_form_config: '양식 설정 업데이트',
|
|
41
|
+
group_data: '데이터 & 권한',
|
|
42
|
+
cmd_data: '통합 데이터 관리 (양식/프로세스/작업/하위양식)',
|
|
43
|
+
cmd_task_center: '글로벌 작업 센터 (할일/처리됨/참조 등)',
|
|
44
|
+
cmd_basic_info: '조직 기본 정보, 용량, 할당량 및 도메인 설정 조회',
|
|
45
|
+
cmd_get_permission: '양식 권한 설정 조회',
|
|
46
|
+
cmd_save_permission: '양식 권한 설정 저장',
|
|
47
|
+
cmd_corp_manager: '플랫폼 권한 관리',
|
|
48
|
+
cmd_agent_center: '프로세스 위임 및 퇴사자 대리 관리',
|
|
49
|
+
group_process: '프로세스',
|
|
50
|
+
cmd_configure_process: '프로세스 규칙 설정 및 게시',
|
|
51
|
+
cmd_create_process: '프로세스 양식 생성 (통합형)',
|
|
52
|
+
cmd_ai_form_setting: 'Manage process form AI approval prompts',
|
|
53
|
+
cmd_process_preview: '프로세스 인스턴스 미리보기 (플로차트)',
|
|
54
|
+
group_share: '페이지 설정 & 공유',
|
|
55
|
+
cmd_verify_url: '단축 URL 확인',
|
|
56
|
+
cmd_save_share: '공개 접근 / 공유 설정 저장',
|
|
57
|
+
cmd_get_page_config: '페이지 공개 접근 설정 조회',
|
|
58
|
+
cmd_externalize_form: 'Plan external access-safe mirror fields',
|
|
59
|
+
group_report: '보고서',
|
|
60
|
+
cmd_create_report: 'Yida 보고서 생성',
|
|
61
|
+
cmd_append_chart: '기존 보고서에 차트 추가',
|
|
62
|
+
group_connector: '커넥터',
|
|
63
|
+
cmd_connector_list: 'HTTP 커넥터 목록',
|
|
64
|
+
cmd_connector_create: '커넥터 생성',
|
|
65
|
+
cmd_connector_detail: '커넥터 상세 보기',
|
|
66
|
+
cmd_connector_delete: '커넥터 삭제',
|
|
67
|
+
cmd_connector_add_action: 'Add an action',
|
|
68
|
+
cmd_connector_list_actions: 'List actions',
|
|
69
|
+
cmd_connector_delete_action: 'Delete an action',
|
|
70
|
+
cmd_connector_test: 'Test an action',
|
|
71
|
+
cmd_connector_list_connections: 'List auth connections',
|
|
72
|
+
cmd_connector_create_connection: 'Create an auth connection',
|
|
73
|
+
cmd_connector_smart: '스마트 생성 (cURL에서)',
|
|
74
|
+
cmd_connector_parse_api: 'Parse API information',
|
|
75
|
+
cmd_connector_gen_template: 'Generate API document template',
|
|
76
|
+
cmd_connector_more: '더 많은 하위 명령 보기',
|
|
77
|
+
group_integration: '통합 & DingTalk',
|
|
78
|
+
cmd_integration: '통합 자동화 플로우 생성',
|
|
79
|
+
cmd_integration_list: '통합 자동화 플로우 목록',
|
|
80
|
+
cmd_integration_enable: '통합 자동화 플로우 활성화',
|
|
81
|
+
cmd_integration_disable: '통합 자동화 플로우 비활성화',
|
|
82
|
+
cmd_integration_check: 'Check abnormal integration automation run logs',
|
|
83
|
+
cmd_dws: 'DingTalk CLI (연락처/캘린더/할일/승인 등)',
|
|
84
|
+
cmd_dingtalk_link: 'DingTalk AppLink / 기존 dingtalk:// 페이지 링크 생성',
|
|
85
|
+
group_utility: '유틸리티',
|
|
86
|
+
cmd_commands: 'Output machine-readable command manifest',
|
|
87
|
+
cmd_a2a: 'Start local read-only A2A adapter or print Agent Card',
|
|
88
|
+
cmd_bridge: 'Start YidaConnector local web bridge service',
|
|
89
|
+
cmd_db_seq_fix: 'Detect and repair PostgreSQL sequence drift',
|
|
90
|
+
cmd_copy: 'project 작업 디렉토리 복사',
|
|
91
|
+
cmd_sample: '코드 샘플/템플릿 출력',
|
|
92
|
+
cmd_doctor: '환경 진단 및 자동 수정',
|
|
93
|
+
cmd_update: '최신 버전으로 업데이트',
|
|
94
|
+
cmd_export_conversation: 'AI 대화 기록 내보내기',
|
|
95
|
+
cmd_feedback: '경험 피드백 양식 및 로컬 알림 상태 구성',
|
|
96
|
+
cmd_batch: 'YidaConnector 명령 일괄 실행',
|
|
97
|
+
cmd_flash_to_prd: 'Convert flash notes or meeting notes to a PRD prompt',
|
|
98
|
+
cmd_ai: 'Call Yida AI text and image recognition APIs',
|
|
99
|
+
cmd_cdn: 'CDN 이미지 관리 (설정/업로드/새로고침)',
|
|
100
|
+
cmd_cdn_config: 'Configure CDN / OSS upload',
|
|
101
|
+
cmd_cdn_upload: 'Upload image to CDN',
|
|
102
|
+
cmd_cdn_refresh: 'Refresh CDN cache',
|
|
103
|
+
quickstart_title: '빠른 시작',
|
|
104
|
+
quickstart_app_name: '출석 관리',
|
|
105
|
+
quickstart_form_name: '직원 정보',
|
|
106
|
+
docs: '📚 문서:',
|
|
107
|
+
},
|
|
108
|
+
|
|
109
|
+
// ── bin/yida.js ────────────────────────────────────
|
|
110
|
+
cli: {
|
|
111
|
+
integration_help: '사용법: yidaconnector integration <create|list|enable|disable> ...',
|
|
112
|
+
integration_unknown: '알 수 없는 integration 하위 명령: {0}',
|
|
113
|
+
integration_help_hint: '사용 가능한 하위 명령은 yidaconnector integration --help로 확인하세요',
|
|
114
|
+
integration_list_usage: '사용법: yidaconnector integration list <appType> [--form-uuid <uuid>] [--status y|n] [--key <kw>] [--page <n>] [--size <n>] [--json]',
|
|
115
|
+
integration_list_example: '예시: yidaconnector integration list APP_XXX --form-uuid FORM-XXX --json',
|
|
116
|
+
integration_enable_usage: '사용법: yidaconnector integration enable <appType> <formUuid> <processCode>',
|
|
117
|
+
integration_enable_example: '예시: yidaconnector integration enable APP_XXX FORM-XXX LPROC-XXX',
|
|
118
|
+
integration_disable_usage: '사용법: yidaconnector integration disable <appType> <formUuid> <processCode>',
|
|
119
|
+
integration_disable_example: '예시: yidaconnector integration disable APP_XXX FORM-XXX LPROC-XXX',
|
|
120
|
+
compile_usage: '사용법: yidaconnector compile <sourceFile>',
|
|
121
|
+
compile_example: '예: yidaconnector compile pages/src/home.oyd.jsx',
|
|
122
|
+
check_page_usage: 'Usage: yidaconnector check-page <sourceFile> [--compat] [--json]',
|
|
123
|
+
check_page_example: 'Example: yidaconnector check-page pages/src/home.oyd.jsx --json',
|
|
124
|
+
generate_page_usage: 'Usage: yidaconnector generate-page <template> --output pages/src/home.oyd.jsx [--spec .cache/yidaconnector/page-specs/home.json] [--compile]',
|
|
125
|
+
generate_page_example: 'Example: yidaconnector generate-page product-homepage --brand-name OpenKuma --brand-initials OK --output pages/src/home.oyd.jsx --compile',
|
|
126
|
+
},
|
|
127
|
+
|
|
128
|
+
// ── lib/integration/integration-check.js ─────────
|
|
129
|
+
integration_check: {
|
|
130
|
+
result_sheet: 'Result',
|
|
131
|
+
header_app: 'App',
|
|
132
|
+
header_form_title: 'Form name',
|
|
133
|
+
header_form_uuid: 'Form ID',
|
|
134
|
+
header_flow_name: 'Automation name',
|
|
135
|
+
header_process_code: 'Automation ID',
|
|
136
|
+
header_flow_status: 'Automation status',
|
|
137
|
+
header_event_name: 'Trigger event',
|
|
138
|
+
header_last_action: 'Last action',
|
|
139
|
+
header_modifier: 'Modifier',
|
|
140
|
+
header_modified_time: 'Modified time',
|
|
141
|
+
header_abnormal_log_count: 'Abnormal log count',
|
|
142
|
+
header_proc_inst_id: 'Run instance ID',
|
|
143
|
+
header_form_inst_id: 'Form instance ID',
|
|
144
|
+
header_execution_status: 'Execution status',
|
|
145
|
+
header_exception: 'Exception',
|
|
146
|
+
header_diagnosis: 'Diagnosis',
|
|
147
|
+
header_recommendation: 'Recommendation',
|
|
148
|
+
header_start_time: 'Start time',
|
|
149
|
+
header_finish_time: 'Finish time',
|
|
150
|
+
header_elapsed_ms: 'Elapsed (ms)',
|
|
151
|
+
no_abnormal: 'No abnormal execution logs found',
|
|
152
|
+
app_failed: 'App check failed: {0}',
|
|
153
|
+
summary: 'Check complete: {0} apps, {1} automations, {2} with abnormal logs',
|
|
154
|
+
apps_failed: '{0} app(s) failed to check. See JSON output or error summary for details.',
|
|
155
|
+
no_logs: 'No abnormal execution logs found.',
|
|
156
|
+
usage: 'yidaconnector integration check <appType...> [--json] [--output result.xlsx] [--no-progress] [--flow-types 1,2,3,5,6] [--log-page-size 10] [--max-log-pages 1]',
|
|
157
|
+
example: 'yidaconnector integration check APP_XXX --output project/output/automation-errors.xlsx',
|
|
158
|
+
missing_app: 'Missing appType. Usage: yidaconnector integration check <appType...>',
|
|
159
|
+
banner_title: 'Check integration automation abnormal logs',
|
|
160
|
+
status_filter: 'Execution status filter: {0}',
|
|
161
|
+
checking_app: 'Checking app: {0}',
|
|
162
|
+
progress: 'Progress {0}{1}',
|
|
163
|
+
current: ', current: {0}',
|
|
164
|
+
excel_exported: 'Excel exported: {0}',
|
|
165
|
+
},
|
|
166
|
+
|
|
167
|
+
// ── lib/env.js ─────────────────────────────────────
|
|
168
|
+
env: {
|
|
169
|
+
title: ' yidaconnector env - AI 도구 환경 감지',
|
|
170
|
+
detecting: ' AI 도구 환경 감지 중...',
|
|
171
|
+
tool_label: ' AI 도구: {0}',
|
|
172
|
+
login_label: ' 로그인 상태: {0}',
|
|
173
|
+
logged_in: '로그인됨',
|
|
174
|
+
not_logged_in: '로그인 안 됨',
|
|
175
|
+
corp_label: ' 조직: {0}',
|
|
176
|
+
version_label: ' 버전: {0}',
|
|
177
|
+
},
|
|
178
|
+
|
|
179
|
+
// ── lib/login.js ────────────────────────────────────
|
|
180
|
+
login: {
|
|
181
|
+
title: '🔐 Yida 로그인',
|
|
182
|
+
cache_found: ' 캐시된 로그인 정보 발견, 유효성 검사 중...',
|
|
183
|
+
cache_valid: '✅ 캐시된 로그인 정보가 유효합니다!',
|
|
184
|
+
cache_invalid: ' 캐시된 로그인 정보가 만료되었습니다. 재로그인이 필요합니다.',
|
|
185
|
+
starting_qr: ' QR 코드 로그인 시작 중...',
|
|
186
|
+
success: '✅ 로그인 성공!',
|
|
187
|
+
failed: '❌ 로그인 실패: {0}',
|
|
188
|
+
usage: '사용법: yidaconnector login',
|
|
189
|
+
},
|
|
190
|
+
|
|
191
|
+
// ── lib/logout.js ───────────────────────────────────
|
|
192
|
+
logout: {
|
|
193
|
+
title: '🚪 Yida 로그아웃',
|
|
194
|
+
success: '✅ 로그아웃 성공! 로그인 정보가 삭제되었습니다.',
|
|
195
|
+
no_cache: ' 로그인 정보가 없습니다. 이미 로그아웃 상태입니다.',
|
|
196
|
+
failed: '❌ 로그아웃 실패: {0}',
|
|
197
|
+
},
|
|
198
|
+
|
|
199
|
+
// ── lib/create-app.js ───────────────────────────────
|
|
200
|
+
create_app: {
|
|
201
|
+
usage: '사용법: yidaconnector create-app "<앱 이름>" 또는 yidaconnector create-app --name "<앱 이름>" [--desc "..."] [--theme deepBlue]',
|
|
202
|
+
example: '예시: yidaconnector create-app --name "내 앱" --desc "앱 설명" --theme deepBlue',
|
|
203
|
+
title: ' create-app - Yida 앱 생성 도구',
|
|
204
|
+
app_name: '\n 앱 이름: {0}',
|
|
205
|
+
app_desc: ' 설명: {0}',
|
|
206
|
+
app_icon: ' 아이콘: {0} ({1})',
|
|
207
|
+
app_theme: ' 테마: colour={0} navTheme={1} layout={2}',
|
|
208
|
+
step_create: '\n🚀 앱 생성 중...',
|
|
209
|
+
sending_request: ' createApp 요청 전송 중...',
|
|
210
|
+
success: ' ✅ 앱 생성 성공!',
|
|
211
|
+
app_id: ' 앱 ID: {0}',
|
|
212
|
+
failed: ' ❌ 앱 생성 실패: {0}',
|
|
213
|
+
error: '\n❌ 앱 생성 오류: {0}',
|
|
214
|
+
},
|
|
215
|
+
|
|
216
|
+
// ── lib/create-form.js ──────────────────────────────
|
|
217
|
+
create_form: {
|
|
218
|
+
usage: '사용법: yidaconnector create-form <appType> <페이지 이름> [스키마 JSON]',
|
|
219
|
+
example: '예시: yidaconnector create-form "APP_XXX" "내 폼"',
|
|
220
|
+
title: ' create-form - Yida 폼 페이지 생성/업데이트 도구',
|
|
221
|
+
app_id: '\n 앱 ID: {0}',
|
|
222
|
+
page_name: ' 페이지 이름: {0}',
|
|
223
|
+
step_create: '\n📝 폼 페이지 생성 중...',
|
|
224
|
+
sending_request: ' saveFormSchema 요청 전송 중...',
|
|
225
|
+
success: ' ✅ 폼 페이지 생성 성공!',
|
|
226
|
+
form_uuid: ' 폼 UUID: {0}',
|
|
227
|
+
failed: ' ❌ 폼 페이지 생성 실패: {0}',
|
|
228
|
+
error: '\n❌ 폼 페이지 생성 오류: {0}',
|
|
229
|
+
step_check_data: '\n🔍 단계 {0}: 양식에 기존 데이터가 있는지 확인',
|
|
230
|
+
data_exists_warning: ' ⚠️ 이 양식에 이미 {0}개의 레코드가 있습니다! 구조 변경 시 다음이 발생할 수 있습니다:',
|
|
231
|
+
data_exists_impact: ' - 기존 데이터 손실 또는 손상\n - 프로세스 상태 이상\n - 데이터 불일치',
|
|
232
|
+
data_exists_abort: ' ❌ 수정이 중단되었습니다. 계속하려면 --force를 추가하세요.',
|
|
233
|
+
data_exists_confirm_message: '이 양식에 {0}개의 기존 레코드가 있습니다. 구조 변경 시 기존 데이터에 영향을 줄 수 있습니다. 확인하려면 --force를 추가하세요.',
|
|
234
|
+
data_exists_force_hint: '사용법: yidaconnector create-form update <appType> <formUuid> <changesJson> --force',
|
|
235
|
+
data_exists_force_proceed: ' ⚠️ --force 모드: 확인 건너뛰기, {0}개의 기존 레코드가 있는 양식 구조 강제 변경',
|
|
236
|
+
data_check_empty: ' ✅ 양식에 데이터가 없습니다. 안전하게 수정할 수 있습니다',
|
|
237
|
+
data_check_failed: ' ⚠️ 데이터 확인 실패, 수정을 계속합니다',
|
|
238
|
+
},
|
|
239
|
+
|
|
240
|
+
// ── lib/create-page.js ──────────────────────────────
|
|
241
|
+
create_page: {
|
|
242
|
+
usage: '사용법: yidaconnector create-page <appType> <페이지 이름> [--mode dashboard]',
|
|
243
|
+
example: '예: yidaconnector create-page APP_XXX "Dashboard" --mode dashboard',
|
|
244
|
+
title: ' create-page - Yida 커스텀 페이지 생성 도구',
|
|
245
|
+
app_id: '\n 앱 ID: {0}',
|
|
246
|
+
page_name: ' 페이지 이름: {0}',
|
|
247
|
+
step_create: '\n📄 커스텀 페이지 생성 중...',
|
|
248
|
+
success: ' ✅ 커스텀 페이지 생성 성공!',
|
|
249
|
+
step_dashboard_config: '\n🖥️ Step 3: Configure dashboard fullscreen mode',
|
|
250
|
+
dashboard_config_ok: ' ✅ Dashboard mode configured: top nav hidden, chromeless custom URL enabled',
|
|
251
|
+
dashboard_config_failed: ' ⚠️ Dashboard mode config failed: {0}',
|
|
252
|
+
err_mode_invalid: 'Unsupported page mode: {0}',
|
|
253
|
+
mode_hint: 'Available modes: default, dashboard',
|
|
254
|
+
form_uuid: ' 페이지 UUID: {0}',
|
|
255
|
+
failed: ' ❌ 커스텀 페이지 생성 실패: {0}',
|
|
256
|
+
error: '\n❌ 커스텀 페이지 생성 오류: {0}',
|
|
257
|
+
},
|
|
258
|
+
|
|
259
|
+
// ── lib/get-schema.js ───────────────────────────────
|
|
260
|
+
get_schema: {
|
|
261
|
+
usage: '사용법: yidaconnector get-schema <appType> <formUuid>',
|
|
262
|
+
example: '예시: yidaconnector get-schema "APP_XXX" "FORM-XXX"',
|
|
263
|
+
title: ' get-schema - Yida 폼 스키마 조회 도구',
|
|
264
|
+
app_id: '\n 앱 ID: {0}',
|
|
265
|
+
form_uuid: ' 폼 UUID: {0}',
|
|
266
|
+
step_get: '\n📋 폼 스키마 조회 중...',
|
|
267
|
+
success: ' ✅ 스키마 조회 성공!',
|
|
268
|
+
failed: ' ❌ 스키마 조회 실패: {0}',
|
|
269
|
+
error: '\n❌ 스키마 조회 오류: {0}',
|
|
270
|
+
},
|
|
271
|
+
|
|
272
|
+
// ── lib/check-update.js ─────────────────────────────
|
|
273
|
+
check_update: {
|
|
274
|
+
new_version: '\n🎉 새 버전 사용 가능: {0} → {1}',
|
|
275
|
+
update_cmd: ' 업데이트: npm install -g yidaconnector',
|
|
276
|
+
check_failed: '버전 확인 실패: {0}',
|
|
277
|
+
},
|
|
278
|
+
|
|
279
|
+
// ── lib/update.js ──────────────────────────────────
|
|
280
|
+
update: {
|
|
281
|
+
checking: '최신 버전 확인 중...',
|
|
282
|
+
fetch_failed: '최신 버전 정보를 가져올 수 없습니다. 네트워크 연결을 확인하세요',
|
|
283
|
+
already_latest: '이미 최신 버전입니다 ({0}), 업데이트 불필요',
|
|
284
|
+
found_new_version: '새 버전 발견: {0} (현재: {1})',
|
|
285
|
+
installing: 'yidaconnector@latest 설치 중...',
|
|
286
|
+
success: '업데이트 성공! 현재 버전: {0}',
|
|
287
|
+
install_failed: '업데이트 실패: {0}',
|
|
288
|
+
manual_hint: '수동으로 실행해 보세요: npm install -g yidaconnector@latest',
|
|
289
|
+
available: '업데이트 가능',
|
|
290
|
+
up_to_date: '최신 상태',
|
|
291
|
+
label_install: 'Install',
|
|
292
|
+
label_channel: 'Channel',
|
|
293
|
+
label_version: 'Version',
|
|
294
|
+
label_update: 'Update',
|
|
295
|
+
done: '업데이트 완료!',
|
|
296
|
+
done_hint: 'yidaconnector --version 으로 새 버전을 확인하세요',
|
|
297
|
+
},
|
|
298
|
+
|
|
299
|
+
// ── lib/export-app.js ───────────────────────────────
|
|
300
|
+
export_app: {
|
|
301
|
+
usage: '사용법: yidaconnector export-app <appType>',
|
|
302
|
+
title: ' export-app - Yida 앱 내보내기 도구',
|
|
303
|
+
app_id: '\n 앱 ID: {0}',
|
|
304
|
+
step_export: '\n📦 앱 내보내기 중...',
|
|
305
|
+
success: ' ✅ 앱 내보내기 성공!',
|
|
306
|
+
failed: ' ❌ 앱 내보내기 실패: {0}',
|
|
307
|
+
error: '\n❌ 앱 내보내기 오류: {0}',
|
|
308
|
+
},
|
|
309
|
+
|
|
310
|
+
// ── lib/import-app.js ───────────────────────────────
|
|
311
|
+
import_app: {
|
|
312
|
+
usage: '사용법: yidaconnector import-app <파일 경로>',
|
|
313
|
+
title: ' import-app - Yida 앱 가져오기 도구',
|
|
314
|
+
file_path: '\n 파일 경로: {0}',
|
|
315
|
+
step_import: '\n📥 앱 가져오기 중...',
|
|
316
|
+
success: ' ✅ 앱 가져오기 성공!',
|
|
317
|
+
failed: ' ❌ 앱 가져오기 실패: {0}',
|
|
318
|
+
error: '\n❌ 앱 가져오기 오류: {0}',
|
|
319
|
+
},
|
|
320
|
+
|
|
321
|
+
// ── lib/get-page-config.js ──────────────────────────
|
|
322
|
+
get_page_config: {
|
|
323
|
+
usage: '사용법: yidaconnector get-page-config <appType> <formUuid>',
|
|
324
|
+
title: ' get-page-config - Yida 페이지 설정 조회 도구',
|
|
325
|
+
app_id: '\n 앱 ID: {0}',
|
|
326
|
+
form_uuid: ' 폼 UUID: {0}',
|
|
327
|
+
step_get: '\n🔍 페이지 설정 조회 중...',
|
|
328
|
+
success: ' ✅ 설정 조회 성공!',
|
|
329
|
+
failed: ' ❌ 설정 조회 실패: {0}',
|
|
330
|
+
error: '\n❌ 설정 조회 오류: {0}',
|
|
331
|
+
},
|
|
332
|
+
|
|
333
|
+
// ── lib/save-share-config.js ────────────────────────
|
|
334
|
+
save_share_config: {
|
|
335
|
+
usage: '사용법: yidaconnector save-share-config <appType> <formUuid> <openUrl> <isOpen> [openAuth]',
|
|
336
|
+
title: ' save-share-config - Yida 공개 접근 설정 저장 도구',
|
|
337
|
+
app_id: '\n 앱 ID: {0}',
|
|
338
|
+
form_uuid: ' 폼 UUID: {0}',
|
|
339
|
+
open_url: ' 공개 URL: {0}',
|
|
340
|
+
is_open: ' 공개 설정: {0}',
|
|
341
|
+
open_auth: ' 인증 필요: {0}',
|
|
342
|
+
step_validate: '\n📋 Step 0: 파라미터 검증',
|
|
343
|
+
validate_ok: ' ✅ 파라미터 검증 통과',
|
|
344
|
+
validate_failed: ' ❌ 검증 실패: {0}',
|
|
345
|
+
step_save: '\n💾 Step 2: 공개 접근 설정 저장',
|
|
346
|
+
sending_request: ' saveShareConfig 요청 전송 중...',
|
|
347
|
+
save_ok: ' ✅ 설정 저장 성공!',
|
|
348
|
+
save_ok_msg: '공개 접근 설정 저장 완료',
|
|
349
|
+
save_failed: ' ❌ 저장 실패: {0}',
|
|
350
|
+
save_failed_msg: '저장 실패',
|
|
351
|
+
err_is_open_invalid: 'isOpen은 y 또는 n이어야 합니다. 현재 값: {0}',
|
|
352
|
+
err_open_auth_invalid: 'openAuth는 y 또는 n이어야 합니다. 현재 값: {0}',
|
|
353
|
+
err_open_url_required: '공개 접근 활성화 시 openUrl은 필수입니다',
|
|
354
|
+
err_open_url_prefix: 'openUrl은 /o/로 시작해야 합니다. 현재 값: {0}',
|
|
355
|
+
err_open_url_chars: 'openUrl 경로는 a-z A-Z 0-9 _ - 및 구분자 /만 사용 가능합니다. 현재 값: {0}',
|
|
356
|
+
err_open_url_empty: 'openUrl 경로가 비어 있습니다: {0}',
|
|
357
|
+
},
|
|
358
|
+
|
|
359
|
+
// ── lib/update-form-config.js ──────────────────────
|
|
360
|
+
update_form_config: {
|
|
361
|
+
usage: '사용법: yidaconnector update-form-config <appType> <formUuid> <isRenderNav> <title>',
|
|
362
|
+
title: ' update-form-config - Yida 폼 설정 업데이트 도구',
|
|
363
|
+
app_id: '\n 앱 ID: {0}',
|
|
364
|
+
form_uuid: ' 폼 UUID: {0}',
|
|
365
|
+
is_render_nav: ' 내비게이션 표시: {0}',
|
|
366
|
+
page_title: ' 페이지 제목: {0}',
|
|
367
|
+
step_update: '\n💾 Step 2: 폼 설정 업데이트',
|
|
368
|
+
sending_request: ' updateFormSchemaInfo 요청 전송 중...',
|
|
369
|
+
update_ok: ' ✅ 설정 업데이트 성공!',
|
|
370
|
+
nav_shown: '상단 내비게이션 표시됨',
|
|
371
|
+
nav_hidden: '상단 내비게이션 숨겨짐',
|
|
372
|
+
update_failed: ' ❌ 업데이트 실패: {0}',
|
|
373
|
+
update_failed_msg: '업데이트 실패',
|
|
374
|
+
},
|
|
375
|
+
|
|
376
|
+
// ── lib/verify-short-url.js ────────────────────────
|
|
377
|
+
verify_short_url: {
|
|
378
|
+
usage: '사용법: yidaconnector verify-short-url <appType> <formUuid> <url>',
|
|
379
|
+
title: ' verify-short-url - Yida URL 검증 도구',
|
|
380
|
+
app_id: '\n 앱 ID: {0}',
|
|
381
|
+
form_uuid: ' 폼 UUID: {0}',
|
|
382
|
+
step_validate: '\n📋 Step 0: URL 형식 검증',
|
|
383
|
+
validate_ok: ' ✅ 형식 검증 통과',
|
|
384
|
+
validate_failed: ' ❌ 검증 실패: {0}',
|
|
385
|
+
step_verify: '\n🔍 Step 2: URL 검증',
|
|
386
|
+
sending_request: ' verifyShortUrl 요청 전송 중...',
|
|
387
|
+
url_available: ' ✅ URL을 사용할 수 있습니다!',
|
|
388
|
+
open_available_msg: '이 공개 접근 URL은 사용 가능합니다',
|
|
389
|
+
share_available_msg: '이 조직 내 공유 URL은 사용 가능합니다',
|
|
390
|
+
url_taken: ' ❌ URL이 이미 사용 중입니다',
|
|
391
|
+
url_taken_msg: '이 단축 URL은 이미 사용 중입니다',
|
|
392
|
+
verify_failed: ' ❌ 검증 요청 실패',
|
|
393
|
+
err_url_prefix: 'URL은 /o/ 또는 /s/로 시작해야 합니다. 현재 값: {0}',
|
|
394
|
+
err_url_chars: 'URL 경로는 a-z A-Z 0-9 _ - 및 구분자 /만 사용 가능합니다. 현재 값: {0}',
|
|
395
|
+
err_url_empty: 'URL 경로가 비어 있습니다: {0}',
|
|
396
|
+
},
|
|
397
|
+
|
|
398
|
+
// ── lib/copy.js ────────────────────────────────────
|
|
399
|
+
copy: {
|
|
400
|
+
title: ' yidaconnector copy - Yida 작업 디렉토리 초기화',
|
|
401
|
+
package_root: '\n📦 패키지 루트: {0}',
|
|
402
|
+
dest_root: '🤖 대상 루트: {0}',
|
|
403
|
+
dest_empty_flatten: '📂 대상 디렉토리가 비어 있어 project/ 내용을 직접 복사합니다 (project/ 하위 디렉토리 생성 안 함)',
|
|
404
|
+
force_mode: '⚠️ --force 모드: 대상 디렉토리를 초기화 후 복사합니다',
|
|
405
|
+
no_package: '\n❌ yidaconnector 패키지 디렉토리를 찾을 수 없습니다',
|
|
406
|
+
no_package_hint1: ' yidaconnector가 전역으로 설치되어 있는지 확인하세요:',
|
|
407
|
+
no_package_hint2: ' npm install -g yidaconnector',
|
|
408
|
+
no_active_tool: '\n❌ 활성 AI 도구 환경이 감지되지 않았습니다',
|
|
409
|
+
supported_tools: ' 지원 도구: Wukong, Codex, OpenCode, Claude Code, Aone Copilot, Cursor, Qoder',
|
|
410
|
+
current_result: '\n 현재 감지 결과:',
|
|
411
|
+
force_hint: '\n 현재 디렉토리에 강제 복사하려면:\n yidaconnector copy --force',
|
|
412
|
+
force_cmd: ' yidaconnector copy --force',
|
|
413
|
+
copying_label: '\n📂 {0} 복사 중...',
|
|
414
|
+
creating_symlink: '\n📂 yida-skills/ 심볼릭 링크 생성 중...',
|
|
415
|
+
file_copied: ' 복사됨: {0}',
|
|
416
|
+
cleared: ' 🗑️ 초기화됨: {0}',
|
|
417
|
+
symlink_removed: ' 🗑️ 이전 심볼릭 링크 제거됨: {0}',
|
|
418
|
+
dir_deleted: ' 🗑️ 디렉토리 삭제됨: {0}',
|
|
419
|
+
removed: ' 🗑️ 제거됨: {0}',
|
|
420
|
+
symlink_created: ' 🔗 심볼릭 링크: {0} -> {1}',
|
|
421
|
+
symlink_label: '심볼릭 링크',
|
|
422
|
+
done: '✅ 완료!',
|
|
423
|
+
files_copied: ' 복사된 파일: {0}개',
|
|
424
|
+
files_count: '{0}개 파일',
|
|
425
|
+
symlinks_created: ' 생성된 심볼릭 링크: {0}개',
|
|
426
|
+
result_symlink: ' {0} → {1} (심볼릭 링크)',
|
|
427
|
+
result_copy: ' {0} → {1} ({2}개 파일)',
|
|
428
|
+
wukong_skills_cleanup: '\n🗑️ Wukong 환경: yida-skills/ 심볼릭 링크 정리 중...',
|
|
429
|
+
wukong_skills_cleaned: '정리됨',
|
|
430
|
+
wukong_skills_not_found: ' ℹ️ yida-skills/ 심볼릭 링크 또는 디렉토리를 찾을 수 없습니다: {0}',
|
|
431
|
+
remove_failed: ' ❌ 제거 실패: {0} ({1})',
|
|
432
|
+
symlink_fallback_copy: ' ⚠️ Windows 심볼릭 링크 생성 실패(관리자 권한 필요), 디렉토리 복사로 대체: {0}',
|
|
433
|
+
symlink_failed: ' ❌ 심볼릭 링크 생성 실패: {0} ({1})',
|
|
434
|
+
},
|
|
435
|
+
|
|
436
|
+
// ── lib/publish.js ─────────────────────────────────
|
|
437
|
+
generate_page: {
|
|
438
|
+
spec_not_found: 'Spec file not found: {0}',
|
|
439
|
+
spec_invalid: 'Failed to parse spec JSON: {0}',
|
|
440
|
+
unknown_template: 'Unknown page template: {0}',
|
|
441
|
+
available_templates: 'Available templates: {0}',
|
|
442
|
+
template_not_found: 'Template file not found: {0}',
|
|
443
|
+
done: 'Page generated: {0}',
|
|
444
|
+
hint: 'Next run yidaconnector compile <file>, or pass --compile to compile immediately.',
|
|
445
|
+
success: 'Page generation complete',
|
|
446
|
+
},
|
|
447
|
+
page_size: {
|
|
448
|
+
large_source: '큰 페이지 소스를 감지했습니다: {0} ({1}, 약 {2}줄)',
|
|
449
|
+
long_line_hint: '매우 긴 한 줄을 감지했습니다(약 {0}자). 보통 minified vendor 코드 또는 base64이므로 외부로 분리하세요.',
|
|
450
|
+
base64_hint: '긴 inline base64 콘텐츠를 감지했습니다. CDN/OSS에 업로드하고 URL로 참조하세요.',
|
|
451
|
+
memory_hint: 'publish/compile은 source, build 출력, minify 출력, schema 사본을 메모리에 보관합니다. vendor/base64는 분리하거나 this.utils.loadScript로 로드하세요.',
|
|
452
|
+
windows_hint: 'Windows에서 큰 JSX를 쓸 때 PowerShell Get-Content -Raw + ConvertTo-Json을 사용하지 말고 Node fs.writeFileSync/appendFileSync로 나누어 쓰세요.',
|
|
453
|
+
},
|
|
454
|
+
publish: {
|
|
455
|
+
title: ' yida-publish - Yida 페이지 배포 도구',
|
|
456
|
+
platform: ' 플랫폼: {0}',
|
|
457
|
+
app_id: ' 앱 ID: {0}',
|
|
458
|
+
form_uuid: ' 폼 ID: {0}',
|
|
459
|
+
source_file: ' 소스 파일: {0}',
|
|
460
|
+
compiled_file: ' 출력 파일: {0}',
|
|
461
|
+
step_lint: '\n🔍 Step 0: 이다 코딩 표준 사전 검사\n',
|
|
462
|
+
lint_title: '⚠️ Yida page code check:',
|
|
463
|
+
lint_error_line: ' ❌ {0}번째 줄: {1}',
|
|
464
|
+
lint_warning_line: ' ⚠️ {0}번째 줄: {1}',
|
|
465
|
+
lint_event_function: '이벤트 바인딩에 function을 사용했습니다. 화살표 함수 (e) => { this.xxx() }를 사용하세요',
|
|
466
|
+
lint_missing_render_jsx: 'Missing export function renderJsx(); Yida custom pages must export renderJsx',
|
|
467
|
+
lint_import_require: 'Found import/require. Yida custom pages cannot import modules; load third-party scripts with this.utils.loadScript',
|
|
468
|
+
lint_react_hooks: 'Found React Hooks. Yida runtime uses React 16 class-component style and does not support useState/useEffect hooks',
|
|
469
|
+
lint_export_default: 'Found export default. Yida needs named exports such as export function renderJsx/didMount',
|
|
470
|
+
lint_jsx_extension: 'This .js file contains JSX; prefer .jsx for source files. The compiled output is still .js',
|
|
471
|
+
lint_event_direct_method: 'Event binding passes this.xxx directly and will lose this; use (e) => { this.xxx(e); }',
|
|
472
|
+
lint_event_bind_this: 'Event binding uses .bind(this); use (e) => { this.xxx(e); } instead',
|
|
473
|
+
lint_lifecycle_case: 'Detected lifecycle export {0}; Yida only recognizes {1} (case-sensitive)',
|
|
474
|
+
lint_react_lifecycle_method: 'Detected React lifecycle {0}; export {1} for Yida custom pages',
|
|
475
|
+
lint_event_lowercase: 'Detected lowercase event prop {0}; React/Yida will not bind it. Use {1}',
|
|
476
|
+
lint_event_call_result: 'Event binding invokes a function or is not an expression handler; use (e) => { self.xxx(e); }',
|
|
477
|
+
lint_event_noop_arrow: 'Event arrow function references a handler without calling it; use (e) => { self.xxx(e); }',
|
|
478
|
+
lint_button_missing_handler: 'Visible <button> has no onClick/onMouseDown/onKeyDown or disabled state; bind an event handler or use span/div for static labels',
|
|
479
|
+
lint_array_callback_function: '.{0}(function ...) may lose this in callbacks; use .{0}((item) => ...) instead',
|
|
480
|
+
lint_foreach_callback_function: '.forEach(function ...) may lose this in callbacks; prefer .forEach((item) => ...)',
|
|
481
|
+
lint_controlled_input: 'input uses controlled value mode. Yida pages should use defaultValue + onChange to update _customState',
|
|
482
|
+
lint_native_select_ui: 'Found a native select. User-facing custom page dropdowns should use a Tailwind-styled custom dropdown component for consistent visual quality',
|
|
483
|
+
lint_iframe_self_navigation: 'Yida custom pages run in an iframe. Use target="_top"/target="_blank" or window.top.location for Yida page navigation to avoid nested pages.',
|
|
484
|
+
lint_page_size_limit: 'pageSize={0} exceeds the Yida API limit of 100; use 100 or less',
|
|
485
|
+
lint_yida_api_catch: 'this.utils.yida API call has no detected .catch(); add error handling and toast the user',
|
|
486
|
+
lint_echarts_legacy_map_china: 'ECharts 5 no longer supports echarts/map/js/china.js. Load DataV GeoJSON and call echarts.registerMap("china", geoJson) instead',
|
|
487
|
+
lint_echarts_rich_label_formatter: 'ECharts label.formatter returning rich text templates is unstable in Yida custom pages; prefer plain formatter strings or precomputed label text',
|
|
488
|
+
lint_const_let: 'const/let 선언을 사용했습니다. var로 변경하는 것을 권장합니다 (이다 런타임 호환성)',
|
|
489
|
+
lint_computed_property: 'ES6 계산된 속성 이름 { [key]: value }을 사용했습니다. 이다 JS 엔진에서 지원하지 않아 자동 실패합니다. var obj = {}; obj[key] = value;로 변경하세요',
|
|
490
|
+
lint_pad_method: 'String.{0}()을 사용했습니다. 이다 JS 엔진에서 지원하지 않아 Promise 콜백이 자동 중단됩니다. 삼항 연산자로 대체하세요 (예: x < 10 ? "0" + x : "" + x)',
|
|
491
|
+
lint_large_then_callback: 'Promise .then() 콜백 코드량이 너무 많습니다 ({0}줄, 권장 최대 {1}줄). 자동 잘림이 발생할 수 있습니다. 로직을 별도의 export function으로 추출하세요',
|
|
492
|
+
lint_fix_errors: '❌ 게시 전에 위 오류를 수정해 주세요',
|
|
493
|
+
lint_skip_hint: '💡 검사를 건너뛰려면 --skip-lint 매개변수를 추가하세요',
|
|
494
|
+
lint_passed: ' ✅ 코드 검사 통과\n',
|
|
495
|
+
lint_skipped: '\n⏭️ 코드 사전 검사 건너뜀 (--skip-lint)\n',
|
|
496
|
+
duplicate_source_mismatch: ' ⚠️ Found another copy with the same file name but different content. Publishing: {0}; other copy: {1}',
|
|
497
|
+
data_source_fetching: ' Reading existing page data sources...',
|
|
498
|
+
data_source_preserved: ' ✅ Preserved existing page data sources: {0}',
|
|
499
|
+
data_source_none: ' No custom page data sources to preserve',
|
|
500
|
+
data_source_fetch_failed: 'Could not read the existing page Schema, so publishing stopped to avoid clearing existing data sources: {0}',
|
|
501
|
+
target_checking: ' Checking publish target type...',
|
|
502
|
+
target_check_forced: ' ⚠️ Skipped publish target type check (--force)',
|
|
503
|
+
target_check_ok: ' ✅ Publish target confirmed: {0} ({1})',
|
|
504
|
+
target_check_failed: 'Could not verify publish target: {0}',
|
|
505
|
+
target_not_found: 'Publish target was not found in app navigation: {0}',
|
|
506
|
+
target_type_invalid: 'Publish target is not a custom display page: {0} current type is {1}',
|
|
507
|
+
target_type_hint: 'The current target "{0}" does not look like a custom page (type: {1}). Do not publish JSX to data forms or process forms.',
|
|
508
|
+
target_list_hint: 'Run yidaconnector list-forms {0} --keyword <page name>, then choose a custom page formUuid with formType=display.',
|
|
509
|
+
target_force_hint: 'Append --force only when you intentionally bypass this guard; it overwrites the target Schema and should be used only for a known custom page.',
|
|
510
|
+
step_compile: '\n📦 Step 1: 소스 컴파일 및 스키마 빌드\n',
|
|
511
|
+
reading_source: '[1/4] {0} 소스 읽는 중...',
|
|
512
|
+
compiling: '[2/4] Babel로 {0} 컴파일 중...',
|
|
513
|
+
compile_failed: ' ❌ 컴파일 실패: {0}',
|
|
514
|
+
compile_location: '\n 위치: {0}행, {1}열',
|
|
515
|
+
compile_error_code: ' 오류 코드: {0}',
|
|
516
|
+
minifying: '[3/4] UglifyJS로 {0} 압축 중...',
|
|
517
|
+
minify_failed: ' 압축 실패: {0}',
|
|
518
|
+
compile_done: ' ✅ 컴파일 완료: {0}',
|
|
519
|
+
building_schema: '[4/4] 스키마 빌드 중...',
|
|
520
|
+
schema_built: ' ✅ 스키마 빌드 완료!',
|
|
521
|
+
step_login: '\n🔑 Step 2: 로그인 정보 읽기',
|
|
522
|
+
step_publish: '\n📤 Step 3: 스키마 배포\n',
|
|
523
|
+
publish_failed: '\n❌ 배포 실패: {0}',
|
|
524
|
+
schema_published: ' ✅ 스키마 배포 성공!',
|
|
525
|
+
step_config: '\n⚙️ Step 4: 폼 설정 업데이트\n',
|
|
526
|
+
success: ' ✅ 배포 성공!',
|
|
527
|
+
config_failed: ' ⚠️ 설정 업데이트 실패: {0}',
|
|
528
|
+
schema_ok_config_failed: 'Schema published, but config update failed',
|
|
529
|
+
step_health_check: '\n🩺 Step 5: Health check published page\n',
|
|
530
|
+
health_check_ok: ' ✅ Health check passed: HTTP {0}',
|
|
531
|
+
health_check_failed: ' ⚠️ Health check failed: HTTP {0} {1}',
|
|
532
|
+
exception: '\n❌ 배포 오류: {0}',
|
|
533
|
+
source_not_found: '❌ 소스 파일을 찾을 수 없습니다: {0}',
|
|
534
|
+
usage: '사용법: yidaconnector publish <소스 파일> <appType> <formUuid> [--health-check]',
|
|
535
|
+
example: '예시: yidaconnector publish pages/src/xxx.js APP_XXX FORM-XXX --health-check',
|
|
536
|
+
},
|
|
537
|
+
|
|
538
|
+
// ── lib/qr-login.js ────────────────────────────────
|
|
539
|
+
qr_login: {
|
|
540
|
+
title: '🔐 Yida 터미널 QR 코드 로그인',
|
|
541
|
+
step_init: ' Step 1: 세션 초기화 중...',
|
|
542
|
+
step_get_qr: ' Step 2: QR 코드 가져오는 중...',
|
|
543
|
+
scan_hint: ' 📱 DingTalk으로 아래 QR 코드를 스캔하세요:',
|
|
544
|
+
qr_url_label: ' QR 코드 URL: {0}',
|
|
545
|
+
waiting_scan: ' ⏳ 스캔 대기 중(최대 2분)...',
|
|
546
|
+
scanned_confirm: ' ✅ QR 코드 스캔 완료! 휴대폰에서 로그인을 확인하세요...',
|
|
547
|
+
scan_success: ' ✅ 스캔 확인 완료!',
|
|
548
|
+
step_exchange: ' Step 4: 로그인 자격 증명 교환 중...',
|
|
549
|
+
step_get_corps: ' Step 5: 조직 목록 가져오는 중...',
|
|
550
|
+
step_switch_corp: ' Step 7: 선택한 조직으로 전환 중...',
|
|
551
|
+
only_one_corp: ' ✅ 조직 1개 감지됨: {0}, 자동 선택',
|
|
552
|
+
select_corp_prompt: ' 🏢 여러 조직이 발견되었습니다. 선택하세요:',
|
|
553
|
+
select_corp_input: ' 번호 입력 (1-{0}): ',
|
|
554
|
+
select_corp_invalid: ' ❌ 잘못된 입력입니다. 1에서 {0} 사이의 숫자를 입력하세요',
|
|
555
|
+
target_corp_not_found: '지정한 corpId를 액세스 가능한 조직에서 찾을 수 없습니다: {0}',
|
|
556
|
+
corp_selected: ' ✅ 조직 선택됨: {0}',
|
|
557
|
+
login_success: '✅ 로그인 성공!',
|
|
558
|
+
qrcode_fallback: ' ⚠️ qrcode 패키지가 설치되지 않았습니다. 아래 URL을 직접 방문하세요:',
|
|
559
|
+
qrcode_render_failed: ' ⚠️ QR 코드 렌더링 실패({0}). 아래 URL을 방문하세요:',
|
|
560
|
+
qr_expired: 'QR 코드가 만료되었습니다. 다시 로그인하세요',
|
|
561
|
+
poll_timeout: '스캔 타임아웃(2분). 다시 로그인하세요',
|
|
562
|
+
no_corp_available: '접근 가능한 조직을 찾을 수 없습니다',
|
|
563
|
+
no_csrf_in_cookie: '로그인 성공했지만 csrf_token을 찾을 수 없습니다. 다시 시도하세요',
|
|
564
|
+
stdin_closed: '입력 스트림이 닫혔습니다. 조직을 선택할 수 없습니다',
|
|
565
|
+
},
|
|
566
|
+
|
|
567
|
+
// ── scripts/postinstall.js ─────────────────────────
|
|
568
|
+
postinstall: {
|
|
569
|
+
welcome_title: ' 🎉 YidaConnector에 오신 것을 환영합니다! ',
|
|
570
|
+
install_success: ' ✅ 설치 완료! {0} Yida AI 개발 도구가 준비되었습니다.',
|
|
571
|
+
update_success: ' ✅ 업데이트 완료! {0} YidaConnector가 최신 버전으로 업그레이드되었습니다.',
|
|
572
|
+
ai_mode_title: ' 🚀 AI 대화 모드',
|
|
573
|
+
ai_mode_desc: ' Codex / Claude Code / Aone Copilot / Cursor 등 AI 도구에서 바로 대화하세요:',
|
|
574
|
+
prompt1: ' 📋 "Yida로 근태 관리 시스템을 만들어줘"',
|
|
575
|
+
prompt2: ' 💰 "개인 급여 계산기 앱을 만들어줘"',
|
|
576
|
+
prompt3: ' 🏢 "CRM 고객 관리 시스템을 만들어줘"',
|
|
577
|
+
prompt4: ' 🎂 "생일 축하 미니 앱을 만들어줘"',
|
|
578
|
+
steps_title: ' 📖 시작하기',
|
|
579
|
+
step1: ' {0}Step 1{1} AI 코딩 도구 열기 (Codex / Claude Code / Cursor 등)',
|
|
580
|
+
step2: ' {0}Step 2{1} 원하는 앱을 자연어로 설명하기',
|
|
581
|
+
step3: ' {0}Step 3{1} AI가 자동으로 yidaconnector 명령어를 실행하여 앱 생성 및 배포',
|
|
582
|
+
step4: ' {0}Step 4{1} Yida 앱 링크 받기 🎉',
|
|
583
|
+
commands_title: ' ⚡ 빠른 명령어',
|
|
584
|
+
cmd_env: ' {0}yidaconnector env{1} {2}# AI 도구 환경 및 로그인 상태 감지{3}',
|
|
585
|
+
cmd_login: ' {0}yidaconnector login{1} {2}# Yida 로그인{3}',
|
|
586
|
+
cmd_help: ' {0}yidaconnector --help{1} {2}# 모든 명령어 보기{3}',
|
|
587
|
+
footer1: ' 📚 문서: https://github.com/bunnyrui/yidaconnector',
|
|
588
|
+
footer2: ' 💬 커뮤니티: DingTalk에서 YidaConnector 커뮤니티 참여',
|
|
589
|
+
},
|
|
590
|
+
|
|
591
|
+
// ── lib/cdn-*.js ───────────────────────────────────
|
|
592
|
+
cdn: {
|
|
593
|
+
config_load_error: 'CDN 설정 로드 실패: {0}',
|
|
594
|
+
config_saved: '✅ CDN 설정이 저장되었습니다: {0}',
|
|
595
|
+
config_usage: '사용법: yidaconnector cdn-config [옵션]',
|
|
596
|
+
config_file_path: '📄 설정 파일: {0}',
|
|
597
|
+
config_section_aliyun: '🔐 알리바바 클라우드 자격 증명',
|
|
598
|
+
config_section_cdn: '🌐 CDN 설정',
|
|
599
|
+
config_section_oss: '📦 OSS 설정',
|
|
600
|
+
config_section_upload: '📤 업로드 설정',
|
|
601
|
+
config_cdn_domain: 'CDN 도메인',
|
|
602
|
+
config_oss_region: 'OSS 리전',
|
|
603
|
+
config_oss_bucket: 'OSS 버킷',
|
|
604
|
+
config_oss_endpoint: 'OSS 엔드포인트',
|
|
605
|
+
config_upload_path: '업로드 경로',
|
|
606
|
+
config_compress: '이미지 압축',
|
|
607
|
+
config_max_width: '최대 너비',
|
|
608
|
+
config_quality: '이미지 품질',
|
|
609
|
+
config_not_set: '설정 안 됨',
|
|
610
|
+
config_enabled: '활성화',
|
|
611
|
+
config_disabled: '비활성화',
|
|
612
|
+
config_status_valid: '✅ 설정 완료, 사용 가능',
|
|
613
|
+
config_status_invalid: '⚠️ 설정 불완전',
|
|
614
|
+
config_missing: ' 누락된 필드: {0}',
|
|
615
|
+
config_updated: '✅ 설정이 업데이트되었습니다!',
|
|
616
|
+
config_init_title: '🔧 CDN 설정 초기화 마법사',
|
|
617
|
+
config_init_desc: 'CDN 이미지 업로드를 사용하려면 다음을 설정하세요:',
|
|
618
|
+
upload_no_files: '❌ 업로드할 이미지 파일을 지정하세요',
|
|
619
|
+
config_incomplete: '❌ CDN 설정이 불완전합니다',
|
|
620
|
+
missing_fields: ' 누락된 필드: {0}',
|
|
621
|
+
run_config_init: ' 먼저 실행하세요: yidaconnector cdn-config --init',
|
|
622
|
+
no_config: '❌ CDN 설정을 찾을 수 없습니다',
|
|
623
|
+
oss_sdk_required: '❌ ali-oss SDK가 없습니다',
|
|
624
|
+
run_npm_install: ' 실행하세요: npm install {0}',
|
|
625
|
+
no_images_found: '❌ 지원되는 이미지 파일을 찾을 수 없습니다',
|
|
626
|
+
uploading_images: '📤 {0}개 이미지 업로드 중...',
|
|
627
|
+
uploading_file: ' 업로드 중: {0}',
|
|
628
|
+
upload_success: ' ✅ {0}',
|
|
629
|
+
upload_failed: ' ❌ {0} 업로드 실패: {1}',
|
|
630
|
+
upload_summary: '\n📊 업로드 요약',
|
|
631
|
+
upload_success_count: ' 성공: {0}개',
|
|
632
|
+
upload_fail_count: ' 실패: {0}개',
|
|
633
|
+
cdn_urls: '\n🔗 CDN URL 목록:',
|
|
634
|
+
upload_error: '❌ 업로드 실패: {0}',
|
|
635
|
+
refresh_no_targets: '❌ 새로 고칠 URL 또는 디렉토리를 지정하세요',
|
|
636
|
+
cdn_sdk_required: '❌ 알리바바 클라우드 CDN SDK가 없습니다',
|
|
637
|
+
querying_quota: '📊 새로 고침 할당량 조회 중...',
|
|
638
|
+
quota_info: ' URL 새로 고침: {0}/일, {1}개 남음 | 디렉토리 새로 고침: {2}/일, {3}개 남음',
|
|
639
|
+
refreshing_urls: '🔄 {0}개 URL 새로 고침 중...',
|
|
640
|
+
refreshing_paths: '🔄 {0}개 디렉토리 새로 고침 중...',
|
|
641
|
+
refresh_task_id: ' ✅ 작업 ID: {0}',
|
|
642
|
+
refresh_urls_failed: ' ❌ URL 새로 고침 실패: {0}',
|
|
643
|
+
refresh_paths_failed: ' ❌ 디렉토리 새로 고침 실패: {0}',
|
|
644
|
+
refresh_summary: '\n📊 새로 고침 요약',
|
|
645
|
+
url_refresh_success: ' ✅ URL 새로 고침 성공, 작업 ID: {0}',
|
|
646
|
+
path_refresh_success: ' ✅ 디렉토리 새로 고침 성공, 작업 ID: {0}',
|
|
647
|
+
refresh_error: '❌ 새로 고침 실패: {0}',
|
|
648
|
+
file_not_found: '❌ 파일을 찾을 수 없습니다: {0}',
|
|
649
|
+
},
|
|
650
|
+
|
|
651
|
+
// ── src/flash-note/flash-to-prd.ts ──────────────
|
|
652
|
+
flashNote: {
|
|
653
|
+
toPrd: {
|
|
654
|
+
title: '📋 DingTalk 플래시 노트를 PRD로 변환',
|
|
655
|
+
help_usage: '사용법: yidaconnector flash-to-prd --file <경로> [--name <프로젝트명>]',
|
|
656
|
+
help_usage2: ' yidaconnector flash-to-prd --name <프로젝트명> (표준 입력에서 읽기)',
|
|
657
|
+
help_args_title: '인수:',
|
|
658
|
+
help_arg_file: ' --file, -f <경로> 플래시 노트 파일 경로 (.txt / .md)',
|
|
659
|
+
help_arg_name: ' --name, -n <이름> 프로젝트 이름 (선택, 내용에서 자동 추출)',
|
|
660
|
+
help_arg_max_tokens: ' --max-tokens <수> AI 최대 출력 토큰 수 (기본값 8000)',
|
|
661
|
+
help_examples_title: '예시:',
|
|
662
|
+
help_example1: ' yidaconnector flash-to-prd --file ./meeting-notes.txt --name "장비점검시스템"',
|
|
663
|
+
help_example2: ' cat meeting.txt | yidaconnector flash-to-prd --name "장비점검시스템"',
|
|
664
|
+
step_read: '[Step 1] 플래시 노트 내용 읽는 중...',
|
|
665
|
+
file_not_found: '파일을 찾을 수 없습니다: {0}',
|
|
666
|
+
no_input: '플래시 노트 내용이 제공되지 않았습니다. --file로 파일을 지정하거나 파이프로 입력하세요.',
|
|
667
|
+
stdin_empty: '표준 입력이 비어 있습니다',
|
|
668
|
+
read_success: '✅ 읽기 성공, {0}자',
|
|
669
|
+
step_load_module: '[Step 2] 프롬프트 빌더 모듈 로딩 중...',
|
|
670
|
+
module_loaded_builtin: '✅ 내장 프롬프트 모듈 로드됨',
|
|
671
|
+
module_loaded_local: '✅ 로컬 프롬프트 모듈 로드됨: {0}',
|
|
672
|
+
module_not_found: '❌ build-flash-note-prompt.js 모듈을 찾을 수 없습니다',
|
|
673
|
+
module_path_tried: ' 시도한 경로 {0}: {1}',
|
|
674
|
+
step_preprocess: '[Step 3] 전처리 + 회의 인식...',
|
|
675
|
+
preprocess_result: ' 전처리: {0}자 → {1}자',
|
|
676
|
+
meeting_meta: ' 회의 메타정보: {0}개 항목{1}',
|
|
677
|
+
a1_sections: ' A1 요약 섹션: {0}개{1}',
|
|
678
|
+
speakers: ' 발언자 식별: {0}명{1}',
|
|
679
|
+
speakers_with_role: ' (역할 주석 {0}명 포함)',
|
|
680
|
+
step_login: '[Step 4] 로그인 상태 확인 중...',
|
|
681
|
+
no_login: ' 로그인 세션을 찾을 수 없습니다, 로그인 시작...',
|
|
682
|
+
login_ready: '✅ 로그인 준비 완료 ({0})',
|
|
683
|
+
step_ai: '[Step 5] AI로 PRD 생성 중...',
|
|
684
|
+
single_segment: ' 단일 세그먼트 모드, 프롬프트 길이: {0}자',
|
|
685
|
+
multi_segment: ' 다중 세그먼트 모드, 총 {0}개 세그먼트',
|
|
686
|
+
extracting_segment: ' 세그먼트 {0}/{1} 추출 중 ({2}자)...',
|
|
687
|
+
merging_segments: ' 세그먼트 결과 병합 중...',
|
|
688
|
+
ai_success: '✅ PRD 생성 성공',
|
|
689
|
+
ai_error: 'AI API 호출 실패: {0}',
|
|
690
|
+
done: '✅ 플래시 노트에서 PRD 변환 완료',
|
|
691
|
+
done_project: ' 프로젝트 이름: {0}',
|
|
692
|
+
done_file: ' 출력 파일: {0}',
|
|
693
|
+
done_size: ' 파일 크기: {0}자',
|
|
694
|
+
done_meeting: ' 회의 인식: 메타정보 {0}개, A1 요약 {1}개, 발언자 {2}명',
|
|
695
|
+
},
|
|
696
|
+
},
|
|
697
|
+
update_app: {
|
|
698
|
+
layout_notice: 'Note: layoutDirection is consumed by the Yida app shell during creation/refresh. If the top action bar does not recover immediately after a backend switch, reopen the workbench or recreate the app with the target layout.',
|
|
699
|
+
},
|
|
700
|
+
aggregate_table: {
|
|
701
|
+
usage: 'Usage: yidaconnector aggregate-table <list|create-empty|inspect|preview|save|publish|status> <appType> ...',
|
|
702
|
+
commands_title: 'Subcommands:',
|
|
703
|
+
cmd_list: 'list <appType> [--keyword <text>] [--json] List aggregate tables in an app',
|
|
704
|
+
cmd_create_empty: 'create-empty <appType> "<name>" [--open|--no-open] Create a blank aggregate table and return the designer URL',
|
|
705
|
+
cmd_inspect: 'inspect <appType> <formUuid> [--json] Read aggregate table design config',
|
|
706
|
+
cmd_preview: 'preview <appType> <formUuid> <design.json> [--json] Preview config without saving',
|
|
707
|
+
cmd_save: 'save <appType> <formUuid> <design.json> [--json] Save an aggregate table draft',
|
|
708
|
+
cmd_publish: 'publish <appType> <formUuid> <design.json> [--json] Publish aggregate table config',
|
|
709
|
+
cmd_status: 'status <appType> <formUuid> [--json] Query aggregate table build status',
|
|
710
|
+
examples_title: 'Examples:',
|
|
711
|
+
example_list: 'yidaconnector aggregate-table list APP_XXX',
|
|
712
|
+
example_create_empty: 'yidaconnector aggregate-table create-empty APP_XXX "Customer Contract Aggregate" --open',
|
|
713
|
+
example_inspect: 'yidaconnector aggregate-table inspect APP_XXX FORM_XXX --json',
|
|
714
|
+
example_preview: 'yidaconnector aggregate-table preview APP_XXX FORM_XXX .cache/yidaconnector/aggregate/design.json',
|
|
715
|
+
example_save: 'yidaconnector aggregate-table save APP_XXX FORM_XXX .cache/yidaconnector/aggregate/design.json',
|
|
716
|
+
example_publish: 'yidaconnector aggregate-table publish APP_XXX FORM_XXX .cache/yidaconnector/aggregate/design.json',
|
|
717
|
+
example_status: 'yidaconnector aggregate-table status APP_XXX FORM_XXX',
|
|
718
|
+
list_usage: 'Usage: yidaconnector aggregate-table list <appType> [--keyword <text>] [--json]',
|
|
719
|
+
create_empty_usage: 'Usage: yidaconnector aggregate-table create-empty <appType> "<name>" [--locale zh_CN|en_US|ja_JP] [--open|--no-open]',
|
|
720
|
+
inspect_usage: 'Usage: yidaconnector aggregate-table inspect <appType> <formUuid> [--json]',
|
|
721
|
+
preview_usage: 'Usage: yidaconnector aggregate-table preview <appType> <formUuid> <design.json> [--json]',
|
|
722
|
+
save_usage: 'Usage: yidaconnector aggregate-table save <appType> <formUuid> <design.json> [--json]',
|
|
723
|
+
publish_usage: 'Usage: yidaconnector aggregate-table publish <appType> <formUuid> <design.json> [--json]',
|
|
724
|
+
status_usage: 'Usage: yidaconnector aggregate-table status <appType> <formUuid> [--json]',
|
|
725
|
+
no_login: 'No login state found. Run yidaconnector login first.',
|
|
726
|
+
unsupported_locale: 'Unsupported locale: {0}',
|
|
727
|
+
unknown_subcommand: 'Unknown aggregate-table subcommand: {0}',
|
|
728
|
+
design_required: 'Missing aggregate table design JSON or file path',
|
|
729
|
+
invalid_json: 'Aggregate table design config is not valid JSON: {0}',
|
|
730
|
+
design_object_required: 'Aggregate table design config must be a JSON object',
|
|
731
|
+
check_feature: 'Check aggregate table capability',
|
|
732
|
+
feature_disabled: 'Aggregate table is not enabled for this app/org, or the edition quota has been reached',
|
|
733
|
+
create_empty: 'Create blank aggregate table',
|
|
734
|
+
inspect: 'Read aggregate table config',
|
|
735
|
+
preview: 'Preview aggregate table config',
|
|
736
|
+
save: 'Save aggregate table draft',
|
|
737
|
+
publish: 'Publish aggregate table config',
|
|
738
|
+
status: 'Query aggregate table build status',
|
|
739
|
+
publish_requires_source: 'Publishing requires at least one data source. Configure relationForms first.',
|
|
740
|
+
list_success: 'Aggregate table list',
|
|
741
|
+
create_empty_success: 'Aggregate table created',
|
|
742
|
+
inspect_success: 'Aggregate table config loaded',
|
|
743
|
+
preview_success: 'Aggregate table preview succeeded',
|
|
744
|
+
save_success: 'Aggregate table draft saved',
|
|
745
|
+
publish_success: 'Aggregate table published',
|
|
746
|
+
status_success: 'Aggregate table status loaded',
|
|
747
|
+
},
|
|
748
|
+
ai_form_setting: {
|
|
749
|
+
usage: 'Usage: yidaconnector ai-form-setting <get|fields|models|enable|disable|save> <appType> ...',
|
|
750
|
+
commands_title: 'Subcommands:',
|
|
751
|
+
cmd_get: 'get <appType> <formUuid> [--raw] [--json] Query AI approval prompt config',
|
|
752
|
+
cmd_fields: 'fields <appType> <formUuid> [--type TEXT|IMAGE|ATTACHMENT] List insertable fields',
|
|
753
|
+
cmd_models: 'models <appType> [--type TEXT|IMAGE|ATTACHMENT] List available models',
|
|
754
|
+
cmd_enable: 'enable <appType> <formUuid> [--json] Enable AI approval prompts',
|
|
755
|
+
cmd_disable: 'disable <appType> <formUuid> [--json] Disable AI approval prompts',
|
|
756
|
+
cmd_save: 'save <appType> <formUuid> <config.json> [--enable] Save prompts and model config',
|
|
757
|
+
examples_title: 'Examples:',
|
|
758
|
+
example_get: 'yidaconnector ai-form-setting get APP_XXX FORM_XXX --json',
|
|
759
|
+
example_fields: 'yidaconnector ai-form-setting fields APP_XXX FORM_XXX --type ATTACHMENT',
|
|
760
|
+
example_models: 'yidaconnector ai-form-setting models APP_XXX --type IMAGE',
|
|
761
|
+
example_enable: 'yidaconnector ai-form-setting enable APP_XXX FORM_XXX',
|
|
762
|
+
example_save: 'yidaconnector ai-form-setting save APP_XXX FORM_XXX .cache/yidaconnector/ai-form-setting/config.json --enable',
|
|
763
|
+
enable_disable_conflict: '--enable and --disable cannot be used together',
|
|
764
|
+
invalid_type: 'Invalid prompt type: {0}. Valid values: {1}',
|
|
765
|
+
invalid_status: 'Invalid AI approval prompt status: {0}',
|
|
766
|
+
config_required: 'Missing AI approval prompt JSON config or file path',
|
|
767
|
+
invalid_json: 'AI approval prompt config is not valid JSON: {0}',
|
|
768
|
+
invalid_variable: 'Variable #{0} must be an object',
|
|
769
|
+
variable_required: 'Variable #{0} must contain varName and fieldId',
|
|
770
|
+
prompt_required: 'Prompt {0} is missing prompt/content',
|
|
771
|
+
variables_array_required: 'variables must be an array',
|
|
772
|
+
invalid_item: 'Prompt config #{0} must be an object',
|
|
773
|
+
model_required: 'Prompt {0} is missing modelId',
|
|
774
|
+
invalid_config_part: '{0} must be a JSON object or a valid JSON string',
|
|
775
|
+
config_object_required: 'AI approval prompt config must be a JSON object or array',
|
|
776
|
+
items_array_required: 'AI approval prompt config must contain an items array',
|
|
777
|
+
too_many_items: 'AI approval prompts support up to {0} items',
|
|
778
|
+
duplicate_item_id: 'Duplicate itemId: {0}',
|
|
779
|
+
no_login: 'No login state found. Run yidaconnector login first.',
|
|
780
|
+
get_usage: 'Usage: yidaconnector ai-form-setting get <appType> <formUuid> [--raw] [--json]',
|
|
781
|
+
fields_usage: 'Usage: yidaconnector ai-form-setting fields <appType> <formUuid> [--type TEXT|IMAGE|ATTACHMENT] [--json]',
|
|
782
|
+
models_usage: 'Usage: yidaconnector ai-form-setting models <appType> [--type TEXT|IMAGE|ATTACHMENT] [--json]',
|
|
783
|
+
status_usage: 'Usage: yidaconnector ai-form-setting <enable|disable> <appType> <formUuid> [--json]',
|
|
784
|
+
save_usage: 'Usage: yidaconnector ai-form-setting save <appType> <formUuid> <config.json> [--enable|--disable] [--json]',
|
|
785
|
+
get_action: 'Query AI approval prompt config',
|
|
786
|
+
fields_action: 'Query AI approval prompt fields',
|
|
787
|
+
models_action: 'Query AI approval prompt models',
|
|
788
|
+
status_action: 'Update AI approval prompt status',
|
|
789
|
+
save_action: 'Save AI approval prompt config',
|
|
790
|
+
get_success: 'AI approval prompt config',
|
|
791
|
+
fields_success: 'AI approval prompt fields',
|
|
792
|
+
models_success: 'AI approval prompt models',
|
|
793
|
+
save_success: 'AI approval prompt config saved',
|
|
794
|
+
enabled: 'AI approval prompts enabled',
|
|
795
|
+
disabled: 'AI approval prompts disabled',
|
|
796
|
+
unknown_subcommand: 'Unknown ai-form-setting subcommand: {0}',
|
|
797
|
+
},
|
|
798
|
+
codex_login: {
|
|
799
|
+
title: ' yidaconnector login {0} - {1} Login Mode',
|
|
800
|
+
not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
|
|
801
|
+
no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
|
|
802
|
+
using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use yidaconnector login --browser for Yida login cookies.',
|
|
803
|
+
browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use yidaconnector login --browser when CLI cookies are required.',
|
|
804
|
+
handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
|
|
805
|
+
cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
|
|
806
|
+
},
|
|
807
|
+
};
|