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,805 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* حزمة اللغة العربية (Arabic)
|
|
5
|
+
*/
|
|
6
|
+
module.exports = {
|
|
7
|
+
// ── bin/yida.js printHelp() ────────────────────────
|
|
8
|
+
help: {
|
|
9
|
+
subtitle: 'أداة تطوير الذكاء الاصطناعي منخفضة الكود لـ Yida',
|
|
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: 'اكتشاف بيئة أداة الذكاء الاصطناعي وحالة تسجيل الدخول',
|
|
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: 'التحقق من الرابط المختصر',
|
|
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: 'List integration automation flows',
|
|
80
|
+
cmd_integration_enable: 'Enable integration automation flow',
|
|
81
|
+
cmd_integration_disable: 'Disable integration automation flow',
|
|
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: 'تصدير سجلات محادثة الذكاء الاصطناعي',
|
|
95
|
+
cmd_feedback: 'Configure experience feedback form and local reminder state',
|
|
96
|
+
cmd_batch: 'Run YidaConnector commands in batch',
|
|
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 - اكتشاف بيئة أداة الذكاء الاصطناعي',
|
|
170
|
+
detecting: ' جارٍ اكتشاف بيئة أداة الذكاء الاصطناعي...',
|
|
171
|
+
tool_label: ' أداة الذكاء الاصطناعي: {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: ' معرّف التطبيق: {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
|
+
title: ' create-form - أداة إنشاء/تحديث صفحة النموذج في Yida',
|
|
220
|
+
app_id: '\n معرّف التطبيق: {0}',
|
|
221
|
+
page_name: ' اسم الصفحة: {0}',
|
|
222
|
+
step_create: '\n📝 جارٍ إنشاء صفحة النموذج...',
|
|
223
|
+
sending_request: ' جارٍ إرسال طلب saveFormSchema...',
|
|
224
|
+
success: ' ✅ تم إنشاء صفحة النموذج بنجاح!',
|
|
225
|
+
form_uuid: ' UUID النموذج: {0}',
|
|
226
|
+
failed: ' ❌ فشل الإنشاء: {0}',
|
|
227
|
+
error: '\n❌ خطأ في الإنشاء: {0}',
|
|
228
|
+
step_check_data: '\n🔍 الخطوة {0}: التحقق من وجود بيانات في النموذج',
|
|
229
|
+
data_exists_warning: ' ⚠️ يحتوي هذا النموذج بالفعل على {0} سجل! قد يؤدي تعديل هيكل النموذج إلى:',
|
|
230
|
+
data_exists_impact: ' - فقدان أو تلف البيانات التاريخية\n - حالات شاذة في سير العمل\n - عدم اتساق البيانات',
|
|
231
|
+
data_exists_abort: ' ❌ تم إلغاء التعديل. أضف --force للمتابعة.',
|
|
232
|
+
data_exists_confirm_message: 'يحتوي هذا النموذج على {0} سجل. قد يؤثر تعديل الهيكل على البيانات الموجودة. أضف --force للتأكيد.',
|
|
233
|
+
data_exists_force_hint: 'الاستخدام: yidaconnector create-form update <appType> <formUuid> <changesJson> --force',
|
|
234
|
+
data_exists_force_proceed: ' ⚠️ وضع --force: تخطي التأكيد، تعديل إجباري لهيكل النموذج مع {0} سجل موجود',
|
|
235
|
+
data_check_empty: ' ✅ لا توجد بيانات في النموذج، يمكن التعديل بأمان',
|
|
236
|
+
data_check_failed: ' ⚠️ فشل التحقق من البيانات، متابعة التعديل',
|
|
237
|
+
},
|
|
238
|
+
|
|
239
|
+
// ── lib/create-page.js ──────────────────────────────
|
|
240
|
+
create_page: {
|
|
241
|
+
usage: 'الاستخدام: yidaconnector create-page <appType> <اسم الصفحة> [--mode dashboard]',
|
|
242
|
+
example: 'مثال: yidaconnector create-page APP_XXX "Dashboard" --mode dashboard',
|
|
243
|
+
title: ' create-page - أداة إنشاء صفحة مخصصة في Yida',
|
|
244
|
+
app_id: '\n معرّف التطبيق: {0}',
|
|
245
|
+
page_name: ' اسم الصفحة: {0}',
|
|
246
|
+
step_create: '\n📄 جارٍ إنشاء الصفحة المخصصة...',
|
|
247
|
+
success: ' ✅ تم إنشاء الصفحة المخصصة بنجاح!',
|
|
248
|
+
step_dashboard_config: '\n🖥️ Step 3: Configure dashboard fullscreen mode',
|
|
249
|
+
dashboard_config_ok: ' ✅ Dashboard mode configured: top nav hidden, chromeless custom URL enabled',
|
|
250
|
+
dashboard_config_failed: ' ⚠️ Dashboard mode config failed: {0}',
|
|
251
|
+
err_mode_invalid: 'Unsupported page mode: {0}',
|
|
252
|
+
mode_hint: 'Available modes: default, dashboard',
|
|
253
|
+
form_uuid: ' UUID الصفحة: {0}',
|
|
254
|
+
failed: ' ❌ فشل الإنشاء: {0}',
|
|
255
|
+
error: '\n❌ خطأ في الإنشاء: {0}',
|
|
256
|
+
},
|
|
257
|
+
|
|
258
|
+
// ── lib/get-schema.js ───────────────────────────────
|
|
259
|
+
get_schema: {
|
|
260
|
+
usage: 'الاستخدام: yidaconnector get-schema <appType> <formUuid>',
|
|
261
|
+
title: ' get-schema - أداة استرداد مخطط النموذج في Yida',
|
|
262
|
+
app_id: '\n معرّف التطبيق: {0}',
|
|
263
|
+
form_uuid: ' UUID النموذج: {0}',
|
|
264
|
+
step_get: '\n📋 جارٍ استرداد مخطط النموذج...',
|
|
265
|
+
success: ' ✅ تم استرداد المخطط بنجاح!',
|
|
266
|
+
failed: ' ❌ فشل الاسترداد: {0}',
|
|
267
|
+
error: '\n❌ خطأ في الاسترداد: {0}',
|
|
268
|
+
},
|
|
269
|
+
|
|
270
|
+
// ── lib/check-update.js ─────────────────────────────
|
|
271
|
+
check_update: {
|
|
272
|
+
new_version: '\n🎉 إصدار جديد متاح: {0} → {1}',
|
|
273
|
+
update_cmd: ' التحديث: npm install -g yidaconnector',
|
|
274
|
+
check_failed: 'فشل التحقق من الإصدار: {0}',
|
|
275
|
+
},
|
|
276
|
+
|
|
277
|
+
// ── lib/update.js ──────────────────────────────────
|
|
278
|
+
update: {
|
|
279
|
+
checking: 'جارٍ التحقق من أحدث إصدار...',
|
|
280
|
+
fetch_failed: 'تعذر الحصول على أحدث إصدار. يرجى التحقق من اتصال الشبكة',
|
|
281
|
+
already_latest: 'أنت على أحدث إصدار ({0})، لا حاجة للتحديث',
|
|
282
|
+
found_new_version: 'إصدار جديد متاح: {0} (الحالي: {1})',
|
|
283
|
+
installing: 'جارٍ تثبيت yidaconnector@latest...',
|
|
284
|
+
success: 'تم التحديث بنجاح! الإصدار الحالي: {0}',
|
|
285
|
+
install_failed: 'فشل التحديث: {0}',
|
|
286
|
+
manual_hint: 'يرجى المحاولة يدوياً: npm install -g yidaconnector@latest',
|
|
287
|
+
available: 'تحديث متاح',
|
|
288
|
+
up_to_date: 'محدّث',
|
|
289
|
+
label_install: 'Install',
|
|
290
|
+
label_channel: 'Channel',
|
|
291
|
+
label_version: 'Version',
|
|
292
|
+
label_update: 'Update',
|
|
293
|
+
done: 'اكتمل التحديث!',
|
|
294
|
+
done_hint: 'شغّل yidaconnector --version للتأكد من الإصدار الجديد',
|
|
295
|
+
},
|
|
296
|
+
|
|
297
|
+
// ── lib/export-app.js ───────────────────────────────
|
|
298
|
+
export_app: {
|
|
299
|
+
usage: 'الاستخدام: yidaconnector export-app <appType>',
|
|
300
|
+
title: ' export-app - أداة تصدير تطبيق Yida',
|
|
301
|
+
app_id: '\n معرّف التطبيق: {0}',
|
|
302
|
+
step_export: '\n📦 جارٍ تصدير التطبيق...',
|
|
303
|
+
success: ' ✅ تم تصدير التطبيق بنجاح!',
|
|
304
|
+
failed: ' ❌ فشل التصدير: {0}',
|
|
305
|
+
error: '\n❌ خطأ في التصدير: {0}',
|
|
306
|
+
},
|
|
307
|
+
|
|
308
|
+
// ── lib/import-app.js ───────────────────────────────
|
|
309
|
+
import_app: {
|
|
310
|
+
usage: 'الاستخدام: yidaconnector import-app <مسار الملف>',
|
|
311
|
+
title: ' import-app - أداة استيراد تطبيق Yida',
|
|
312
|
+
file_path: '\n مسار الملف: {0}',
|
|
313
|
+
step_import: '\n📥 جارٍ استيراد التطبيق...',
|
|
314
|
+
success: ' ✅ تم استيراد التطبيق بنجاح!',
|
|
315
|
+
failed: ' ❌ فشل الاستيراد: {0}',
|
|
316
|
+
error: '\n❌ خطأ في الاستيراد: {0}',
|
|
317
|
+
},
|
|
318
|
+
|
|
319
|
+
// ── lib/get-page-config.js ──────────────────────────
|
|
320
|
+
get_page_config: {
|
|
321
|
+
usage: 'الاستخدام: yidaconnector get-page-config <appType> <formUuid>',
|
|
322
|
+
title: ' get-page-config - أداة استرداد إعدادات الصفحة في Yida',
|
|
323
|
+
app_id: '\n معرّف التطبيق: {0}',
|
|
324
|
+
form_uuid: ' UUID النموذج: {0}',
|
|
325
|
+
step_get: '\n🔍 جارٍ استرداد إعدادات الصفحة...',
|
|
326
|
+
success: ' ✅ تم استرداد الإعدادات بنجاح!',
|
|
327
|
+
failed: ' ❌ فشل الاسترداد: {0}',
|
|
328
|
+
error: '\n❌ خطأ في الاسترداد: {0}',
|
|
329
|
+
},
|
|
330
|
+
|
|
331
|
+
// ── lib/save-share-config.js ────────────────────────
|
|
332
|
+
save_share_config: {
|
|
333
|
+
usage: 'الاستخدام: yidaconnector save-share-config <appType> <formUuid> <openUrl> <isOpen> [openAuth]',
|
|
334
|
+
title: ' save-share-config - أداة حفظ إعدادات الوصول العام في Yida',
|
|
335
|
+
app_id: '\n معرّف التطبيق: {0}',
|
|
336
|
+
form_uuid: ' UUID النموذج: {0}',
|
|
337
|
+
open_url: ' رابط الوصول العام: {0}',
|
|
338
|
+
is_open: ' الوصول العام: {0}',
|
|
339
|
+
open_auth: ' المصادقة مطلوبة: {0}',
|
|
340
|
+
step_validate: '\n📋 Step 0: التحقق من المعاملات',
|
|
341
|
+
validate_ok: ' ✅ اجتاز التحقق',
|
|
342
|
+
validate_failed: ' ❌ فشل التحقق: {0}',
|
|
343
|
+
step_save: '\n💾 Step 2: حفظ إعدادات الوصول العام',
|
|
344
|
+
sending_request: ' جارٍ إرسال طلب saveShareConfig...',
|
|
345
|
+
save_ok: ' ✅ تم حفظ الإعدادات بنجاح!',
|
|
346
|
+
save_ok_msg: 'تم حفظ إعدادات الوصول العام',
|
|
347
|
+
save_failed: ' ❌ فشل الحفظ: {0}',
|
|
348
|
+
save_failed_msg: 'فشل الحفظ',
|
|
349
|
+
err_is_open_invalid: 'يجب أن تكون قيمة isOpen y أو n. القيمة الحالية: {0}',
|
|
350
|
+
err_open_auth_invalid: 'يجب أن تكون قيمة openAuth y أو n. القيمة الحالية: {0}',
|
|
351
|
+
err_open_url_required: 'openUrl مطلوب لتفعيل الوصول العام',
|
|
352
|
+
err_open_url_prefix: 'يجب أن يبدأ openUrl بـ /o/. القيمة الحالية: {0}',
|
|
353
|
+
err_open_url_chars: 'مسار openUrl يدعم فقط a-z A-Z 0-9 _ - و / كفاصل مقاطع. القيمة الحالية: {0}',
|
|
354
|
+
err_open_url_empty: 'لا يمكن أن يكون مسار openUrl فارغاً: {0}',
|
|
355
|
+
},
|
|
356
|
+
|
|
357
|
+
// ── lib/update-form-config.js ──────────────────────
|
|
358
|
+
update_form_config: {
|
|
359
|
+
usage: 'الاستخدام: yidaconnector update-form-config <appType> <formUuid> <isRenderNav> <title>',
|
|
360
|
+
title: ' update-form-config - أداة تحديث إعدادات النموذج في Yida',
|
|
361
|
+
app_id: '\n معرّف التطبيق: {0}',
|
|
362
|
+
form_uuid: ' UUID النموذج: {0}',
|
|
363
|
+
is_render_nav: ' إظهار التنقل: {0}',
|
|
364
|
+
page_title: ' عنوان الصفحة: {0}',
|
|
365
|
+
step_update: '\n💾 Step 2: تحديث إعدادات النموذج',
|
|
366
|
+
sending_request: ' جارٍ إرسال طلب updateFormSchemaInfo...',
|
|
367
|
+
update_ok: ' ✅ تم تحديث الإعدادات بنجاح!',
|
|
368
|
+
nav_shown: 'تم إظهار شريط التنقل العلوي',
|
|
369
|
+
nav_hidden: 'تم إخفاء شريط التنقل العلوي',
|
|
370
|
+
update_failed: ' ❌ فشل التحديث: {0}',
|
|
371
|
+
update_failed_msg: 'فشل التحديث',
|
|
372
|
+
},
|
|
373
|
+
|
|
374
|
+
// ── lib/verify-short-url.js ────────────────────────
|
|
375
|
+
verify_short_url: {
|
|
376
|
+
usage: 'الاستخدام: yidaconnector verify-short-url <appType> <formUuid> <url>',
|
|
377
|
+
title: ' verify-short-url - أداة التحقق من الرابط في Yida',
|
|
378
|
+
app_id: '\n معرّف التطبيق: {0}',
|
|
379
|
+
form_uuid: ' UUID النموذج: {0}',
|
|
380
|
+
step_validate: '\n📋 Step 0: التحقق من تنسيق الرابط',
|
|
381
|
+
validate_ok: ' ✅ اجتاز التحقق من التنسيق',
|
|
382
|
+
validate_failed: ' ❌ فشل التحقق: {0}',
|
|
383
|
+
step_verify: '\n🔍 Step 2: التحقق من الرابط',
|
|
384
|
+
sending_request: ' جارٍ إرسال طلب verifyShortUrl...',
|
|
385
|
+
url_available: ' ✅ الرابط متاح!',
|
|
386
|
+
open_available_msg: 'رابط الوصول العام هذا متاح',
|
|
387
|
+
share_available_msg: 'رابط المشاركة الداخلية هذا متاح',
|
|
388
|
+
url_taken: ' ❌ الرابط مستخدم بالفعل',
|
|
389
|
+
url_taken_msg: 'هذا الرابط المختصر مستخدم بالفعل',
|
|
390
|
+
verify_failed: ' ❌ فشل طلب التحقق',
|
|
391
|
+
err_url_prefix: 'يجب أن يبدأ الرابط بـ /o/ أو /s/. القيمة الحالية: {0}',
|
|
392
|
+
err_url_chars: 'مسار الرابط يدعم فقط a-z A-Z 0-9 _ - و / كفاصل مقاطع. القيمة الحالية: {0}',
|
|
393
|
+
err_url_empty: 'لا يمكن أن يكون مسار الرابط فارغاً: {0}',
|
|
394
|
+
},
|
|
395
|
+
|
|
396
|
+
// ── lib/copy.js ────────────────────────────────────
|
|
397
|
+
copy: {
|
|
398
|
+
title: ' yidaconnector copy - تهيئة دليل عمل Yida',
|
|
399
|
+
package_root: '\n📦 جذر الحزمة: {0}',
|
|
400
|
+
dest_root: '🤖 الدليل الهدف: {0}',
|
|
401
|
+
dest_empty_flatten: '📂 الدليل الهدف فارغ، سيتم نسخ محتويات project/ مباشرةً (بدون إنشاء مجلد project/ فرعي)',
|
|
402
|
+
force_mode: '⚠️ وضع --force: سيتم مسح الدليل الهدف قبل النسخ',
|
|
403
|
+
no_package: '\n❌ لم يتم العثور على دليل حزمة yidaconnector',
|
|
404
|
+
no_package_hint1: ' تأكد من تثبيت yidaconnector بشكل عام:',
|
|
405
|
+
no_package_hint2: ' npm install -g yidaconnector',
|
|
406
|
+
no_active_tool: '\n❌ لم يتم اكتشاف أي بيئة أداة ذكاء اصطناعي نشطة',
|
|
407
|
+
supported_tools: ' الأدوات المدعومة: Wukong, Codex, OpenCode, Claude Code, Aone Copilot, Cursor, Qoder',
|
|
408
|
+
current_result: '\n نتائج الاكتشاف الحالية:',
|
|
409
|
+
force_hint: '\n للنسخ القسري إلى الدليل الحالي:\n yidaconnector copy --force',
|
|
410
|
+
force_cmd: ' yidaconnector copy --force',
|
|
411
|
+
copying_label: '\n📂 جارٍ نسخ {0}...',
|
|
412
|
+
creating_symlink: '\n📂 جارٍ إنشاء رابط رمزي yida-skills/...',
|
|
413
|
+
file_copied: ' تم النسخ: {0}',
|
|
414
|
+
cleared: ' 🗑️ تم المسح: {0}',
|
|
415
|
+
symlink_removed: ' 🗑️ تم حذف الرابط الرمزي القديم: {0}',
|
|
416
|
+
dir_deleted: ' 🗑️ تم حذف الدليل: {0}',
|
|
417
|
+
removed: ' 🗑️ تم الحذف: {0}',
|
|
418
|
+
symlink_created: ' 🔗 رابط رمزي: {0} -> {1}',
|
|
419
|
+
symlink_label: 'رابط رمزي',
|
|
420
|
+
done: '✅ اكتمل!',
|
|
421
|
+
files_copied: ' الملفات المنسوخة: {0}',
|
|
422
|
+
files_count: '{0} ملفات',
|
|
423
|
+
symlinks_created: ' الروابط الرمزية المنشأة: {0}',
|
|
424
|
+
result_symlink: ' {0} → {1} (رابط رمزي)',
|
|
425
|
+
result_copy: ' {0} → {1} ({2} ملفات)',
|
|
426
|
+
wukong_skills_cleanup: '\n🗑️ بيئة Wukong: جارٍ تنظيف الرابط الرمزي yida-skills/...',
|
|
427
|
+
wukong_skills_cleaned: 'تم التنظيف',
|
|
428
|
+
wukong_skills_not_found: ' ℹ️ لم يتم العثور على رابط رمزي أو دليل yida-skills/: {0}',
|
|
429
|
+
remove_failed: ' ❌ فشل الحذف: {0} ({1})',
|
|
430
|
+
symlink_fallback_copy: ' ⚠️ فشل إنشاء الرابط الرمزي في Windows (يتطلب صلاحيات المسؤول)، استخدام نسخ الدليل: {0}',
|
|
431
|
+
symlink_failed: ' ❌ فشل إنشاء الرابط الرمزي: {0} ({1})',
|
|
432
|
+
},
|
|
433
|
+
|
|
434
|
+
// ── lib/publish.js ─────────────────────────────────
|
|
435
|
+
generate_page: {
|
|
436
|
+
spec_not_found: 'Spec file not found: {0}',
|
|
437
|
+
spec_invalid: 'Failed to parse spec JSON: {0}',
|
|
438
|
+
unknown_template: 'Unknown page template: {0}',
|
|
439
|
+
available_templates: 'Available templates: {0}',
|
|
440
|
+
template_not_found: 'Template file not found: {0}',
|
|
441
|
+
done: 'Page generated: {0}',
|
|
442
|
+
hint: 'Next run yidaconnector compile <file>, or pass --compile to compile immediately.',
|
|
443
|
+
success: 'Page generation complete',
|
|
444
|
+
},
|
|
445
|
+
page_size: {
|
|
446
|
+
large_source: 'تم اكتشاف مصدر صفحة كبير: {0} ({1}، حوالي {2} سطر)',
|
|
447
|
+
long_line_hint: 'تم اكتشاف سطر واحد طويل جدًا (حوالي {0} حرفًا)، غالبًا كود vendor مضغوط أو base64؛ انقله خارج مصدر الصفحة.',
|
|
448
|
+
base64_hint: 'تم اكتشاف محتوى base64 طويل داخل الملف؛ ارفعه إلى CDN/OSS واستخدم رابط URL.',
|
|
449
|
+
memory_hint: 'publish/compile يحتفظ بالمصدر ونتيجة البناء والضغط ونسخ schema في الذاكرة؛ افصل vendor/base64 أو حمّله عبر this.utils.loadScript.',
|
|
450
|
+
windows_hint: 'على Windows لا تكتب JSX كبيرًا عبر PowerShell Get-Content -Raw + ConvertTo-Json؛ استخدم Node fs.writeFileSync/appendFileSync على أجزاء.',
|
|
451
|
+
},
|
|
452
|
+
publish: {
|
|
453
|
+
title: ' yida-publish - أداة نشر صفحات Yida',
|
|
454
|
+
platform: ' المنصة: {0}',
|
|
455
|
+
app_id: ' معرّف التطبيق: {0}',
|
|
456
|
+
form_uuid: ' معرّف النموذج: {0}',
|
|
457
|
+
source_file: ' المصدر: {0}',
|
|
458
|
+
compiled_file: ' المخرجات: {0}',
|
|
459
|
+
step_lint: '\n🔍 Step 0: فحص معايير ترميز يدا\n',
|
|
460
|
+
lint_title: '⚠️ Yida page code check:',
|
|
461
|
+
lint_error_line: ' ❌ السطر {0}: {1}',
|
|
462
|
+
lint_warning_line: ' ⚠️ السطر {0}: {1}',
|
|
463
|
+
lint_event_function: 'ربط الحدث يستخدم function، استخدم دالة السهم (e) => { this.xxx() }',
|
|
464
|
+
lint_missing_render_jsx: 'Missing export function renderJsx(); Yida custom pages must export renderJsx',
|
|
465
|
+
lint_import_require: 'Found import/require. Yida custom pages cannot import modules; load third-party scripts with this.utils.loadScript',
|
|
466
|
+
lint_react_hooks: 'Found React Hooks. Yida runtime uses React 16 class-component style and does not support useState/useEffect hooks',
|
|
467
|
+
lint_export_default: 'Found export default. Yida needs named exports such as export function renderJsx/didMount',
|
|
468
|
+
lint_jsx_extension: 'This .js file contains JSX; prefer .jsx for source files. The compiled output is still .js',
|
|
469
|
+
lint_event_direct_method: 'Event binding passes this.xxx directly and will lose this; use (e) => { this.xxx(e); }',
|
|
470
|
+
lint_event_bind_this: 'Event binding uses .bind(this); use (e) => { this.xxx(e); } instead',
|
|
471
|
+
lint_lifecycle_case: 'Detected lifecycle export {0}; Yida only recognizes {1} (case-sensitive)',
|
|
472
|
+
lint_react_lifecycle_method: 'Detected React lifecycle {0}; export {1} for Yida custom pages',
|
|
473
|
+
lint_event_lowercase: 'Detected lowercase event prop {0}; React/Yida will not bind it. Use {1}',
|
|
474
|
+
lint_event_call_result: 'Event binding invokes a function or is not an expression handler; use (e) => { self.xxx(e); }',
|
|
475
|
+
lint_event_noop_arrow: 'Event arrow function references a handler without calling it; use (e) => { self.xxx(e); }',
|
|
476
|
+
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',
|
|
477
|
+
lint_array_callback_function: '.{0}(function ...) may lose this in callbacks; use .{0}((item) => ...) instead',
|
|
478
|
+
lint_foreach_callback_function: '.forEach(function ...) may lose this in callbacks; prefer .forEach((item) => ...)',
|
|
479
|
+
lint_controlled_input: 'input uses controlled value mode. Yida pages should use defaultValue + onChange to update _customState',
|
|
480
|
+
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',
|
|
481
|
+
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.',
|
|
482
|
+
lint_page_size_limit: 'pageSize={0} exceeds the Yida API limit of 100; use 100 or less',
|
|
483
|
+
lint_yida_api_catch: 'this.utils.yida API call has no detected .catch(); add error handling and toast the user',
|
|
484
|
+
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',
|
|
485
|
+
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',
|
|
486
|
+
lint_const_let: 'يستخدم إعلان const/let، يُوصى بالتغيير إلى var (توافق بيئة تشغيل يدا)',
|
|
487
|
+
lint_computed_property: 'يستخدم اسم خاصية محسوبة ES6 { [key]: value }، غير مدعوم من محرك JS يدا، يسبب فشلاً صامتاً. استخدم var obj = {}; obj[key] = value;',
|
|
488
|
+
lint_pad_method: 'يستخدم String.{0}()، غير مدعوم من محرك JS يدا، يسبب انقطاعاً صامتاً لاستدعاءات Promise. استخدم المعامل الثلاثي: x < 10 ? "0" + x : "" + x',
|
|
489
|
+
lint_large_then_callback: 'استدعاء Promise .then() كبير جداً ({0} سطر، الحد الأقصى الموصى به {1} سطر)، قد يسبب اقتطاعاً صامتاً. استخرج المنطق إلى دالة export منفصلة',
|
|
490
|
+
lint_fix_errors: '❌ يرجى إصلاح الأخطاء أعلاه قبل النشر',
|
|
491
|
+
lint_skip_hint: '💡 أضف --skip-lint لتخطي الفحص',
|
|
492
|
+
lint_passed: ' ✅ فحص الكود ناجح\n',
|
|
493
|
+
lint_skipped: '\n⏭️ تم تخطي فحص الكود المسبق (--skip-lint)\n',
|
|
494
|
+
duplicate_source_mismatch: ' ⚠️ Found another copy with the same file name but different content. Publishing: {0}; other copy: {1}',
|
|
495
|
+
data_source_fetching: ' Reading existing page data sources...',
|
|
496
|
+
data_source_preserved: ' ✅ Preserved existing page data sources: {0}',
|
|
497
|
+
data_source_none: ' No custom page data sources to preserve',
|
|
498
|
+
data_source_fetch_failed: 'Could not read the existing page Schema, so publishing stopped to avoid clearing existing data sources: {0}',
|
|
499
|
+
target_checking: ' Checking publish target type...',
|
|
500
|
+
target_check_forced: ' ⚠️ Skipped publish target type check (--force)',
|
|
501
|
+
target_check_ok: ' ✅ Publish target confirmed: {0} ({1})',
|
|
502
|
+
target_check_failed: 'Could not verify publish target: {0}',
|
|
503
|
+
target_not_found: 'Publish target was not found in app navigation: {0}',
|
|
504
|
+
target_type_invalid: 'Publish target is not a custom display page: {0} current type is {1}',
|
|
505
|
+
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.',
|
|
506
|
+
target_list_hint: 'Run yidaconnector list-forms {0} --keyword <page name>, then choose a custom page formUuid with formType=display.',
|
|
507
|
+
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.',
|
|
508
|
+
step_compile: '\n📦 Step 1: تجميع المصدر وبناء المخطط\n',
|
|
509
|
+
reading_source: '[1/4] جارٍ قراءة مصدر {0}...',
|
|
510
|
+
compiling: '[2/4] جارٍ تجميع {0} بـ Babel...',
|
|
511
|
+
compile_failed: ' ❌ فشل التجميع: {0}',
|
|
512
|
+
compile_location: '\n الموقع: السطر {0}، العمود {1}',
|
|
513
|
+
compile_error_code: ' رمز الخطأ: {0}',
|
|
514
|
+
minifying: '[3/4] جارٍ ضغط {0} بـ UglifyJS...',
|
|
515
|
+
minify_failed: ' فشل الضغط: {0}',
|
|
516
|
+
compile_done: ' ✅ اكتمل التجميع: {0}',
|
|
517
|
+
building_schema: '[4/4] جارٍ بناء المخطط...',
|
|
518
|
+
schema_built: ' ✅ تم بناء المخطط بنجاح!',
|
|
519
|
+
step_login: '\n🔑 Step 2: قراءة بيانات تسجيل الدخول',
|
|
520
|
+
step_publish: '\n📤 Step 3: نشر المخطط\n',
|
|
521
|
+
publish_failed: '\n❌ فشل النشر: {0}',
|
|
522
|
+
schema_published: ' ✅ تم نشر المخطط بنجاح!',
|
|
523
|
+
step_config: '\n⚙️ Step 4: تحديث إعدادات النموذج\n',
|
|
524
|
+
success: ' ✅ تم النشر بنجاح!',
|
|
525
|
+
config_failed: ' ⚠️ فشل تحديث الإعدادات: {0}',
|
|
526
|
+
schema_ok_config_failed: 'Schema published, but config update failed',
|
|
527
|
+
step_health_check: '\n🩺 Step 5: Health check published page\n',
|
|
528
|
+
health_check_ok: ' ✅ Health check passed: HTTP {0}',
|
|
529
|
+
health_check_failed: ' ⚠️ Health check failed: HTTP {0} {1}',
|
|
530
|
+
exception: '\n❌ خطأ في النشر: {0}',
|
|
531
|
+
source_not_found: '❌ لم يتم العثور على ملف المصدر: {0}',
|
|
532
|
+
usage: 'الاستخدام: yidaconnector publish <ملفالمصدر> <appType> <formUuid> [--health-check]',
|
|
533
|
+
example: 'مثال: yidaconnector publish pages/src/xxx.js APP_XXX FORM-XXX --health-check',
|
|
534
|
+
},
|
|
535
|
+
|
|
536
|
+
// ── lib/qr-login.js ────────────────────────────────
|
|
537
|
+
qr_login: {
|
|
538
|
+
title: '🔐 تسجيل الدخول إلى Yida برمز QR في الطرفية',
|
|
539
|
+
step_init: ' Step 1: جارٍ تهيئة الجلسة...',
|
|
540
|
+
step_get_qr: ' Step 2: جارٍ الحصول على رمز QR...',
|
|
541
|
+
scan_hint: ' 📱 يرجى مسح رمز QR أدناه باستخدام DingTalk:',
|
|
542
|
+
qr_url_label: ' رابط رمز QR: {0}',
|
|
543
|
+
waiting_scan: ' ⏳ في انتظار المسح (حتى دقيقتين)...',
|
|
544
|
+
scanned_confirm: ' ✅ تم مسح رمز QR! يرجى تأكيد تسجيل الدخول على هاتفك...',
|
|
545
|
+
scan_success: ' ✅ تم تأكيد المسح!',
|
|
546
|
+
step_exchange: ' Step 4: جارٍ تبادل بيانات الاعتماد...',
|
|
547
|
+
step_get_corps: ' Step 5: جارٍ الحصول على قائمة المؤسسات...',
|
|
548
|
+
step_switch_corp: ' Step 7: جارٍ التبديل إلى المؤسسة المحددة...',
|
|
549
|
+
only_one_corp: ' ✅ تم اكتشاف مؤسسة واحدة: {0}، تم الاختيار تلقائياً',
|
|
550
|
+
select_corp_prompt: ' 🏢 تم العثور على مؤسسات متعددة، يرجى اختيار واحدة:',
|
|
551
|
+
select_corp_input: ' أدخل الرقم (1-{0}): ',
|
|
552
|
+
select_corp_invalid: ' ❌ إدخال غير صالح، يرجى إدخال رقم بين 1 و {0}',
|
|
553
|
+
target_corp_not_found: 'لم يتم العثور على corpId المحدد ضمن المؤسسات المتاحة: {0}',
|
|
554
|
+
corp_selected: ' ✅ تم اختيار المؤسسة: {0}',
|
|
555
|
+
login_success: '✅ تم تسجيل الدخول بنجاح!',
|
|
556
|
+
qrcode_fallback: ' ⚠️ حزمة qrcode غير مثبتة، يرجى زيارة الرابط أدناه يدوياً:',
|
|
557
|
+
qrcode_render_failed: ' ⚠️ فشل عرض رمز QR ({0})، يرجى زيارة الرابط أدناه:',
|
|
558
|
+
qr_expired: 'انتهت صلاحية رمز QR، يرجى تسجيل الدخول مجدداً',
|
|
559
|
+
poll_timeout: 'انتهت مهلة انتظار المسح (دقيقتان)، يرجى تسجيل الدخول مجدداً',
|
|
560
|
+
no_corp_available: 'لم يتم العثور على مؤسسات يمكن الوصول إليها',
|
|
561
|
+
no_csrf_in_cookie: 'نجح تسجيل الدخول لكن لم يتم العثور على csrf_token، يرجى المحاولة مجدداً',
|
|
562
|
+
stdin_closed: 'تم إغلاق تدفق الإدخال، لا يمكن اختيار مؤسسة',
|
|
563
|
+
},
|
|
564
|
+
|
|
565
|
+
// ── scripts/postinstall.js ─────────────────────────
|
|
566
|
+
postinstall: {
|
|
567
|
+
welcome_title: ' 🎉 مرحباً بك في YidaConnector! ',
|
|
568
|
+
install_success: ' ✅ اكتمل التثبيت! {0} أداة تطوير Yida بالذكاء الاصطناعي جاهزة.',
|
|
569
|
+
update_success: ' ✅ اكتمل التحديث! {0} تم ترقية YidaConnector إلى أحدث إصدار.',
|
|
570
|
+
ai_mode_title: ' 🚀 وضع المحادثة بالذكاء الاصطناعي',
|
|
571
|
+
ai_mode_desc: ' في Codex / Claude Code / Aone Copilot / Cursor، تحدث مباشرة:',
|
|
572
|
+
prompt1: ' 📋 "أنشئ لي نظام إدارة الحضور باستخدام Yida"',
|
|
573
|
+
prompt2: ' 💰 "ابنِ تطبيق حاسبة الراتب الشخصي"',
|
|
574
|
+
prompt3: ' 🏢 "أنشئ نظام CRM لإدارة العملاء"',
|
|
575
|
+
prompt4: ' 🎂 "اصنع تطبيقاً مصغراً للتهنئة بأعياد الميلاد"',
|
|
576
|
+
steps_title: ' 📖 البدء',
|
|
577
|
+
step1: ' {0}Step 1{1} افتح أداة الذكاء الاصطناعي (Codex / Claude Code / Cursor إلخ)',
|
|
578
|
+
step2: ' {0}Step 2{1} صف التطبيق الذي تريده بلغة طبيعية',
|
|
579
|
+
step3: ' {0}Step 3{1} يقوم الذكاء الاصطناعي تلقائياً بتشغيل أوامر yidaconnector',
|
|
580
|
+
step4: ' {0}Step 4{1} احصل على رابط تطبيق Yida الخاص بك 🎉',
|
|
581
|
+
commands_title: ' ⚡ أوامر سريعة',
|
|
582
|
+
cmd_env: ' {0}yidaconnector env{1} {2}# اكتشاف بيئة أداة الذكاء الاصطناعي وحالة تسجيل الدخول{3}',
|
|
583
|
+
cmd_login: ' {0}yidaconnector login{1} {2}# تسجيل الدخول إلى Yida{3}',
|
|
584
|
+
cmd_help: ' {0}yidaconnector --help{1} {2}# عرض جميع الأوامر{3}',
|
|
585
|
+
footer1: ' 📚 التوثيق: https://github.com/bunnyrui/yidaconnector',
|
|
586
|
+
footer2: ' 💬 المجتمع: انضم إلى مجتمع YidaConnector على DingTalk',
|
|
587
|
+
},
|
|
588
|
+
|
|
589
|
+
// ── lib/cdn-*.js ───────────────────────────────────
|
|
590
|
+
cdn: {
|
|
591
|
+
config_load_error: 'فشل تحميل إعدادات CDN: {0}',
|
|
592
|
+
config_saved: '✅ تم حفظ إعدادات CDN في: {0}',
|
|
593
|
+
config_usage: 'الاستخدام: yidaconnector cdn-config [خيارات]',
|
|
594
|
+
config_file_path: '📄 ملف الإعدادات: {0}',
|
|
595
|
+
config_section_aliyun: '🔐 بيانات اعتماد Alibaba Cloud',
|
|
596
|
+
config_section_cdn: '🌐 إعدادات CDN',
|
|
597
|
+
config_section_oss: '📦 إعدادات OSS',
|
|
598
|
+
config_section_upload: '📤 إعدادات الرفع',
|
|
599
|
+
config_cdn_domain: 'نطاق CDN',
|
|
600
|
+
config_oss_region: 'منطقة OSS',
|
|
601
|
+
config_oss_bucket: 'حاوية OSS',
|
|
602
|
+
config_oss_endpoint: 'نقطة نهاية OSS',
|
|
603
|
+
config_upload_path: 'مسار الرفع',
|
|
604
|
+
config_compress: 'ضغط الصور',
|
|
605
|
+
config_max_width: 'الحد الأقصى للعرض',
|
|
606
|
+
config_quality: 'جودة الصورة',
|
|
607
|
+
config_not_set: 'غير محدد',
|
|
608
|
+
config_enabled: 'مفعّل',
|
|
609
|
+
config_disabled: 'معطّل',
|
|
610
|
+
config_status_valid: '✅ الإعدادات مكتملة، جاهزة للاستخدام',
|
|
611
|
+
config_status_invalid: '⚠️ الإعدادات غير مكتملة',
|
|
612
|
+
config_missing: ' الحقول المفقودة: {0}',
|
|
613
|
+
config_updated: '✅ تم تحديث الإعدادات!',
|
|
614
|
+
config_init_title: '🔧 معالج تهيئة CDN',
|
|
615
|
+
config_init_desc: 'لاستخدام رفع الصور عبر CDN، قم بتكوين ما يلي:',
|
|
616
|
+
upload_no_files: '❌ يرجى تحديد ملفات الصور للرفع',
|
|
617
|
+
config_incomplete: '❌ إعدادات CDN غير مكتملة',
|
|
618
|
+
missing_fields: ' الحقول المفقودة: {0}',
|
|
619
|
+
run_config_init: ' يرجى تشغيل أولاً: yidaconnector cdn-config --init',
|
|
620
|
+
no_config: '❌ لم يتم العثور على إعدادات CDN',
|
|
621
|
+
oss_sdk_required: '❌ SDK ali-oss مفقود',
|
|
622
|
+
run_npm_install: ' شغّل: npm install {0}',
|
|
623
|
+
no_images_found: '❌ لم يتم العثور على ملفات صور مدعومة',
|
|
624
|
+
uploading_images: '📤 جارٍ رفع {0} صور...',
|
|
625
|
+
uploading_file: ' جارٍ الرفع: {0}',
|
|
626
|
+
upload_success: ' ✅ {0}',
|
|
627
|
+
upload_failed: ' ❌ فشل رفع {0}: {1}',
|
|
628
|
+
upload_summary: '\n📊 ملخص الرفع',
|
|
629
|
+
upload_success_count: ' نجح: {0}',
|
|
630
|
+
upload_fail_count: ' فشل: {0}',
|
|
631
|
+
cdn_urls: '\n🔗 قائمة روابط CDN:',
|
|
632
|
+
upload_error: '❌ فشل الرفع: {0}',
|
|
633
|
+
refresh_no_targets: '❌ يرجى تحديد روابط أو مجلدات للتحديث',
|
|
634
|
+
cdn_sdk_required: '❌ SDK CDN من Alibaba Cloud مفقود',
|
|
635
|
+
querying_quota: '📊 جارٍ الاستعلام عن حصة التحديث...',
|
|
636
|
+
quota_info: ' تحديث الروابط: {0}/يوم، {1} متبقٍ | المجلدات: {2}/يوم، {3} متبقٍ',
|
|
637
|
+
refreshing_urls: '🔄 جارٍ تحديث {0} رابط...',
|
|
638
|
+
refreshing_paths: '🔄 جارٍ تحديث {0} مجلد...',
|
|
639
|
+
refresh_task_id: ' ✅ معرّف المهمة: {0}',
|
|
640
|
+
refresh_urls_failed: ' ❌ فشل تحديث الروابط: {0}',
|
|
641
|
+
refresh_paths_failed: ' ❌ فشل تحديث المجلدات: {0}',
|
|
642
|
+
refresh_summary: '\n📊 ملخص التحديث',
|
|
643
|
+
url_refresh_success: ' ✅ نجح تحديث الرابط، معرّف المهمة: {0}',
|
|
644
|
+
path_refresh_success: ' ✅ نجح تحديث المجلد، معرّف المهمة: {0}',
|
|
645
|
+
refresh_error: '❌ فشل التحديث: {0}',
|
|
646
|
+
file_not_found: '❌ لم يتم العثور على الملف: {0}',
|
|
647
|
+
},
|
|
648
|
+
|
|
649
|
+
// ── src/flash-note/flash-to-prd.ts ──────────────
|
|
650
|
+
flashNote: {
|
|
651
|
+
toPrd: {
|
|
652
|
+
title: '📋 ملاحظة DingTalk السريعة إلى PRD',
|
|
653
|
+
help_usage: 'الاستخدام: yidaconnector flash-to-prd --file <المسار> [--name <اسم-المشروع>]',
|
|
654
|
+
help_usage2: ' yidaconnector flash-to-prd --name <اسم-المشروع> (قراءة من stdin)',
|
|
655
|
+
help_args_title: 'المعاملات:',
|
|
656
|
+
help_arg_file: ' --file, -f <المسار> مسار ملف الملاحظة السريعة (.txt / .md)',
|
|
657
|
+
help_arg_name: ' --name, -n <الاسم> اسم المشروع (اختياري، مستخرج تلقائياً)',
|
|
658
|
+
help_arg_max_tokens: ' --max-tokens <العدد> الحد الأقصى لرموز إخراج AI (الافتراضي 8000)',
|
|
659
|
+
help_examples_title: 'أمثلة:',
|
|
660
|
+
help_example1: ' yidaconnector flash-to-prd --file ./meeting-notes.txt --name "فحص المعدات"',
|
|
661
|
+
help_example2: ' cat meeting.txt | yidaconnector flash-to-prd --name "فحص المعدات"',
|
|
662
|
+
step_read: '[الخطوة 1] قراءة محتوى الملاحظة السريعة...',
|
|
663
|
+
file_not_found: 'الملف غير موجود: {0}',
|
|
664
|
+
no_input: 'لم يتم تقديم محتوى ملاحظة سريعة. استخدم --file لتحديد ملف أو تمرير المحتوى عبر stdin.',
|
|
665
|
+
stdin_empty: 'الإدخال القياسي فارغ',
|
|
666
|
+
read_success: '✅ تمت القراءة بنجاح، {0} حرف',
|
|
667
|
+
step_load_module: '[الخطوة 2] تحميل وحدة بناء الموجه...',
|
|
668
|
+
module_loaded_builtin: '✅ تم تحميل وحدة الموجه المدمجة',
|
|
669
|
+
module_loaded_local: '✅ تم تحميل وحدة الموجه المحلية: {0}',
|
|
670
|
+
module_not_found: '❌ لم يتم العثور على وحدة build-flash-note-prompt.js',
|
|
671
|
+
module_path_tried: ' تم تجربة المسار {0}: {1}',
|
|
672
|
+
step_preprocess: '[الخطوة 3] المعالجة المسبقة + التعرف على الاجتماع...',
|
|
673
|
+
preprocess_result: ' المعالجة المسبقة: {0} حرف -> {1} حرف',
|
|
674
|
+
meeting_meta: ' بيانات الاجتماع الوصفية: {0} حقول{1}',
|
|
675
|
+
a1_sections: ' أقسام ملخص A1: {0}{1}',
|
|
676
|
+
speakers: ' المتحدثون المحددون: {0}{1}',
|
|
677
|
+
speakers_with_role: ' (مع {0} تعليقات توضيحية للدور)',
|
|
678
|
+
step_login: '[الخطوة 4] التحقق من حالة تسجيل الدخول...',
|
|
679
|
+
no_login: ' لم يتم العثور على جلسة تسجيل دخول، جاري تشغيل تسجيل الدخول...',
|
|
680
|
+
login_ready: '✅ تسجيل الدخول جاهز ({0})',
|
|
681
|
+
step_ai: '[الخطوة 5] استدعاء AI لإنشاء PRD...',
|
|
682
|
+
single_segment: ' وضع المقطع الواحد، طول الموجه: {0} حرف',
|
|
683
|
+
multi_segment: ' وضع المقاطع المتعددة، إجمالي {0} مقطع',
|
|
684
|
+
extracting_segment: ' استخراج المقطع {0}/{1} ({2} حرف)...',
|
|
685
|
+
merging_segments: ' دمج نتائج المقاطع...',
|
|
686
|
+
ai_success: '✅ تم إنشاء PRD بنجاح',
|
|
687
|
+
ai_error: 'فشل استدعاء AI API: {0}',
|
|
688
|
+
done: '✅ اكتمل تحويل الملاحظة السريعة إلى PRD',
|
|
689
|
+
done_project: ' اسم المشروع: {0}',
|
|
690
|
+
done_file: ' ملف الإخراج: {0}',
|
|
691
|
+
done_size: ' حجم الملف: {0} حرف',
|
|
692
|
+
done_meeting: ' التعرف على الاجتماع: {0} حقول بيانات وصفية، {1} أقسام A1، {2} متحدثين',
|
|
693
|
+
},
|
|
694
|
+
},
|
|
695
|
+
update_app: {
|
|
696
|
+
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.',
|
|
697
|
+
},
|
|
698
|
+
aggregate_table: {
|
|
699
|
+
usage: 'Usage: yidaconnector aggregate-table <list|create-empty|inspect|preview|save|publish|status> <appType> ...',
|
|
700
|
+
commands_title: 'Subcommands:',
|
|
701
|
+
cmd_list: 'list <appType> [--keyword <text>] [--json] List aggregate tables in an app',
|
|
702
|
+
cmd_create_empty: 'create-empty <appType> "<name>" [--open|--no-open] Create a blank aggregate table and return the designer URL',
|
|
703
|
+
cmd_inspect: 'inspect <appType> <formUuid> [--json] Read aggregate table design config',
|
|
704
|
+
cmd_preview: 'preview <appType> <formUuid> <design.json> [--json] Preview config without saving',
|
|
705
|
+
cmd_save: 'save <appType> <formUuid> <design.json> [--json] Save an aggregate table draft',
|
|
706
|
+
cmd_publish: 'publish <appType> <formUuid> <design.json> [--json] Publish aggregate table config',
|
|
707
|
+
cmd_status: 'status <appType> <formUuid> [--json] Query aggregate table build status',
|
|
708
|
+
examples_title: 'Examples:',
|
|
709
|
+
example_list: 'yidaconnector aggregate-table list APP_XXX',
|
|
710
|
+
example_create_empty: 'yidaconnector aggregate-table create-empty APP_XXX "Customer Contract Aggregate" --open',
|
|
711
|
+
example_inspect: 'yidaconnector aggregate-table inspect APP_XXX FORM_XXX --json',
|
|
712
|
+
example_preview: 'yidaconnector aggregate-table preview APP_XXX FORM_XXX .cache/yidaconnector/aggregate/design.json',
|
|
713
|
+
example_save: 'yidaconnector aggregate-table save APP_XXX FORM_XXX .cache/yidaconnector/aggregate/design.json',
|
|
714
|
+
example_publish: 'yidaconnector aggregate-table publish APP_XXX FORM_XXX .cache/yidaconnector/aggregate/design.json',
|
|
715
|
+
example_status: 'yidaconnector aggregate-table status APP_XXX FORM_XXX',
|
|
716
|
+
list_usage: 'Usage: yidaconnector aggregate-table list <appType> [--keyword <text>] [--json]',
|
|
717
|
+
create_empty_usage: 'Usage: yidaconnector aggregate-table create-empty <appType> "<name>" [--locale zh_CN|en_US|ja_JP] [--open|--no-open]',
|
|
718
|
+
inspect_usage: 'Usage: yidaconnector aggregate-table inspect <appType> <formUuid> [--json]',
|
|
719
|
+
preview_usage: 'Usage: yidaconnector aggregate-table preview <appType> <formUuid> <design.json> [--json]',
|
|
720
|
+
save_usage: 'Usage: yidaconnector aggregate-table save <appType> <formUuid> <design.json> [--json]',
|
|
721
|
+
publish_usage: 'Usage: yidaconnector aggregate-table publish <appType> <formUuid> <design.json> [--json]',
|
|
722
|
+
status_usage: 'Usage: yidaconnector aggregate-table status <appType> <formUuid> [--json]',
|
|
723
|
+
no_login: 'No login state found. Run yidaconnector login first.',
|
|
724
|
+
unsupported_locale: 'Unsupported locale: {0}',
|
|
725
|
+
unknown_subcommand: 'Unknown aggregate-table subcommand: {0}',
|
|
726
|
+
design_required: 'Missing aggregate table design JSON or file path',
|
|
727
|
+
invalid_json: 'Aggregate table design config is not valid JSON: {0}',
|
|
728
|
+
design_object_required: 'Aggregate table design config must be a JSON object',
|
|
729
|
+
check_feature: 'Check aggregate table capability',
|
|
730
|
+
feature_disabled: 'Aggregate table is not enabled for this app/org, or the edition quota has been reached',
|
|
731
|
+
create_empty: 'Create blank aggregate table',
|
|
732
|
+
inspect: 'Read aggregate table config',
|
|
733
|
+
preview: 'Preview aggregate table config',
|
|
734
|
+
save: 'Save aggregate table draft',
|
|
735
|
+
publish: 'Publish aggregate table config',
|
|
736
|
+
status: 'Query aggregate table build status',
|
|
737
|
+
publish_requires_source: 'Publishing requires at least one data source. Configure relationForms first.',
|
|
738
|
+
list_success: 'Aggregate table list',
|
|
739
|
+
create_empty_success: 'Aggregate table created',
|
|
740
|
+
inspect_success: 'Aggregate table config loaded',
|
|
741
|
+
preview_success: 'Aggregate table preview succeeded',
|
|
742
|
+
save_success: 'Aggregate table draft saved',
|
|
743
|
+
publish_success: 'Aggregate table published',
|
|
744
|
+
status_success: 'Aggregate table status loaded',
|
|
745
|
+
},
|
|
746
|
+
ai_form_setting: {
|
|
747
|
+
usage: 'Usage: yidaconnector ai-form-setting <get|fields|models|enable|disable|save> <appType> ...',
|
|
748
|
+
commands_title: 'Subcommands:',
|
|
749
|
+
cmd_get: 'get <appType> <formUuid> [--raw] [--json] Query AI approval prompt config',
|
|
750
|
+
cmd_fields: 'fields <appType> <formUuid> [--type TEXT|IMAGE|ATTACHMENT] List insertable fields',
|
|
751
|
+
cmd_models: 'models <appType> [--type TEXT|IMAGE|ATTACHMENT] List available models',
|
|
752
|
+
cmd_enable: 'enable <appType> <formUuid> [--json] Enable AI approval prompts',
|
|
753
|
+
cmd_disable: 'disable <appType> <formUuid> [--json] Disable AI approval prompts',
|
|
754
|
+
cmd_save: 'save <appType> <formUuid> <config.json> [--enable] Save prompts and model config',
|
|
755
|
+
examples_title: 'Examples:',
|
|
756
|
+
example_get: 'yidaconnector ai-form-setting get APP_XXX FORM_XXX --json',
|
|
757
|
+
example_fields: 'yidaconnector ai-form-setting fields APP_XXX FORM_XXX --type ATTACHMENT',
|
|
758
|
+
example_models: 'yidaconnector ai-form-setting models APP_XXX --type IMAGE',
|
|
759
|
+
example_enable: 'yidaconnector ai-form-setting enable APP_XXX FORM_XXX',
|
|
760
|
+
example_save: 'yidaconnector ai-form-setting save APP_XXX FORM_XXX .cache/yidaconnector/ai-form-setting/config.json --enable',
|
|
761
|
+
enable_disable_conflict: '--enable and --disable cannot be used together',
|
|
762
|
+
invalid_type: 'Invalid prompt type: {0}. Valid values: {1}',
|
|
763
|
+
invalid_status: 'Invalid AI approval prompt status: {0}',
|
|
764
|
+
config_required: 'Missing AI approval prompt JSON config or file path',
|
|
765
|
+
invalid_json: 'AI approval prompt config is not valid JSON: {0}',
|
|
766
|
+
invalid_variable: 'Variable #{0} must be an object',
|
|
767
|
+
variable_required: 'Variable #{0} must contain varName and fieldId',
|
|
768
|
+
prompt_required: 'Prompt {0} is missing prompt/content',
|
|
769
|
+
variables_array_required: 'variables must be an array',
|
|
770
|
+
invalid_item: 'Prompt config #{0} must be an object',
|
|
771
|
+
model_required: 'Prompt {0} is missing modelId',
|
|
772
|
+
invalid_config_part: '{0} must be a JSON object or a valid JSON string',
|
|
773
|
+
config_object_required: 'AI approval prompt config must be a JSON object or array',
|
|
774
|
+
items_array_required: 'AI approval prompt config must contain an items array',
|
|
775
|
+
too_many_items: 'AI approval prompts support up to {0} items',
|
|
776
|
+
duplicate_item_id: 'Duplicate itemId: {0}',
|
|
777
|
+
no_login: 'No login state found. Run yidaconnector login first.',
|
|
778
|
+
get_usage: 'Usage: yidaconnector ai-form-setting get <appType> <formUuid> [--raw] [--json]',
|
|
779
|
+
fields_usage: 'Usage: yidaconnector ai-form-setting fields <appType> <formUuid> [--type TEXT|IMAGE|ATTACHMENT] [--json]',
|
|
780
|
+
models_usage: 'Usage: yidaconnector ai-form-setting models <appType> [--type TEXT|IMAGE|ATTACHMENT] [--json]',
|
|
781
|
+
status_usage: 'Usage: yidaconnector ai-form-setting <enable|disable> <appType> <formUuid> [--json]',
|
|
782
|
+
save_usage: 'Usage: yidaconnector ai-form-setting save <appType> <formUuid> <config.json> [--enable|--disable] [--json]',
|
|
783
|
+
get_action: 'Query AI approval prompt config',
|
|
784
|
+
fields_action: 'Query AI approval prompt fields',
|
|
785
|
+
models_action: 'Query AI approval prompt models',
|
|
786
|
+
status_action: 'Update AI approval prompt status',
|
|
787
|
+
save_action: 'Save AI approval prompt config',
|
|
788
|
+
get_success: 'AI approval prompt config',
|
|
789
|
+
fields_success: 'AI approval prompt fields',
|
|
790
|
+
models_success: 'AI approval prompt models',
|
|
791
|
+
save_success: 'AI approval prompt config saved',
|
|
792
|
+
enabled: 'AI approval prompts enabled',
|
|
793
|
+
disabled: 'AI approval prompts disabled',
|
|
794
|
+
unknown_subcommand: 'Unknown ai-form-setting subcommand: {0}',
|
|
795
|
+
},
|
|
796
|
+
codex_login: {
|
|
797
|
+
title: ' yidaconnector login {0} - {1} Login Mode',
|
|
798
|
+
not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
|
|
799
|
+
no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
|
|
800
|
+
using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use yidaconnector login --browser for Yida login cookies.',
|
|
801
|
+
browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use yidaconnector login --browser when CLI cookies are required.',
|
|
802
|
+
handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
|
|
803
|
+
cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
|
|
804
|
+
},
|
|
805
|
+
};
|