openyida 2026.7.18 → 2026.7.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/README.md +37 -2
  2. package/bin/yida.js +113 -18
  3. package/docs/capabilities.md +202 -0
  4. package/lib/agent-center/agent-center.js +2 -3
  5. package/lib/app/app-list.js +3 -4
  6. package/lib/app/build-page.js +13 -6
  7. package/lib/app/check-page.js +16 -6
  8. package/lib/app/compile.js +17 -7
  9. package/lib/app/create-app.js +14 -2
  10. package/lib/app/create-form/api-path.js +25 -0
  11. package/lib/app/create-form/args.js +13 -0
  12. package/lib/app/create-form/commands.js +4 -0
  13. package/lib/app/create-form/definition-reader.js +23 -23
  14. package/lib/app/create-form/field-normalizers.js +26 -7
  15. package/lib/app/create-form/schema-patch.js +4 -1
  16. package/lib/app/create-form.js +155 -68
  17. package/lib/app/create-page.js +47 -10
  18. package/lib/app/generate-page.js +20 -1
  19. package/lib/app/get-form-config.js +2 -1
  20. package/lib/app/get-schema.js +67 -15
  21. package/lib/app/import-app.js +94 -42
  22. package/lib/app/list-forms.js +4 -8
  23. package/lib/app/page-ir.js +140 -0
  24. package/lib/app/publish.js +289 -556
  25. package/lib/app/schema-field-resolution.js +370 -0
  26. package/lib/app/services/app-reader.js +85 -0
  27. package/lib/app/services/app-service.js +235 -0
  28. package/lib/app/services/canvas-page-compiler.js +91 -0
  29. package/lib/app/services/canvas-page-schema-builder.js +149 -0
  30. package/lib/app/services/field-bindings.js +68 -0
  31. package/lib/app/services/form-compiler.js +1922 -0
  32. package/lib/app/services/form-mode-service.js +182 -0
  33. package/lib/app/services/form-schema-patcher.js +333 -0
  34. package/lib/app/services/form-schema-reader.js +59 -0
  35. package/lib/app/services/form-service.js +379 -0
  36. package/lib/app/services/form-validation.js +562 -0
  37. package/lib/app/services/native-page-compiler.js +92 -0
  38. package/lib/app/services/native-page-schema-builder.js +428 -0
  39. package/lib/app/services/page-resource-service.js +185 -0
  40. package/lib/app/update-app.js +22 -9
  41. package/lib/app/update-form-config.js +4 -2
  42. package/lib/asset/asset-cmd.js +19 -6
  43. package/lib/auth/oauth-loopback.js +376 -15
  44. package/lib/auth/token-auth.js +34 -3
  45. package/lib/auth/token-store.js +22 -4
  46. package/lib/basic-info/basic-info.js +2 -1
  47. package/lib/bridge/bridge.js +43 -18
  48. package/lib/core/agent-capabilities.js +5 -3
  49. package/lib/core/command-errors.js +38 -0
  50. package/lib/core/command-manifest.js +59 -1
  51. package/lib/core/copy.js +12 -0
  52. package/lib/core/doctor.js +15 -4
  53. package/lib/core/env-cmd.js +1 -1
  54. package/lib/core/env.js +7 -6
  55. package/lib/core/i18n.js +66 -8
  56. package/lib/core/legacy-schema-guard.js +408 -0
  57. package/lib/core/locales/en.js +38 -46
  58. package/lib/core/locales/zh.js +30 -46
  59. package/lib/core/sample.js +12 -2
  60. package/lib/core/utils.js +334 -66
  61. package/lib/core/yida-client.js +108 -5
  62. package/lib/corp-efficiency/corp-efficiency.js +2 -2
  63. package/lib/corp-manager/corp-manager.js +3 -3
  64. package/lib/formula/evaluate.js +11 -68
  65. package/lib/formula/field-refs.js +83 -0
  66. package/lib/i18n-management/i18n-management.js +2 -3
  67. package/lib/process/configure-process.js +44 -1992
  68. package/lib/process/create-process.js +54 -87
  69. package/lib/process/preview-process.js +20 -8
  70. package/lib/process/services/process-compiler.js +2056 -0
  71. package/lib/process/services/process-reader.js +232 -0
  72. package/lib/process/services/process-resource-service.js +571 -0
  73. package/lib/process/services/process-service.js +122 -0
  74. package/lib/process/services/process-stage-checkpoint.js +246 -0
  75. package/lib/report/append.js +7 -26
  76. package/lib/report/http.js +31 -5
  77. package/lib/report/index.js +10 -2
  78. package/lib/samples/yida-canvas-custom-page/business-list.canvas.jsx +63 -14
  79. package/lib/samples/yida-canvas-custom-page/dashboard-overview.canvas.jsx +176 -32
  80. package/lib/samples/yida-canvas-custom-page/dashboard-starter.canvas.jsx +5 -2
  81. package/lib/samples/yida-canvas-custom-page/data-management.canvas.jsx +228 -14
  82. package/lib/samples/yida-canvas-custom-page/portal-shell-home.canvas.jsx +2 -2
  83. package/lib/samples/yida-canvas-custom-page/split-pane-detail.canvas.jsx +206 -10
  84. package/lib/samples/yida-custom-page/data-management.oyd.jsx +14 -3
  85. package/lib/samples/yida-custom-page/design-tokens.js +2 -2
  86. package/lib/samples/yida-custom-page/detail-profile.oyd.jsx +1 -1
  87. package/lib/samples/yida-custom-page/portal-shell-home.oyd.jsx +7 -2
  88. package/lib/samples/yida-custom-page/split-pane-detail.oyd.jsx +2 -1
  89. package/lib/schema/adapters/app-adapter.js +210 -0
  90. package/lib/schema/adapters/form-adapter.js +1362 -0
  91. package/lib/schema/adapters/keys.js +19 -0
  92. package/lib/schema/adapters/page-adapter.js +566 -0
  93. package/lib/schema/adapters/process-adapter.js +519 -0
  94. package/lib/schema/applier.js +1878 -0
  95. package/lib/schema/apply-store.js +1083 -0
  96. package/lib/schema/command.js +645 -0
  97. package/lib/schema/dependency-graph.js +83 -0
  98. package/lib/schema/errors.js +481 -0
  99. package/lib/schema/hash.js +9 -0
  100. package/lib/schema/manifest-limits.js +177 -0
  101. package/lib/schema/manifest-loader.js +309 -0
  102. package/lib/schema/manifest-schema-v1.json +193 -0
  103. package/lib/schema/normalize-manifest.js +281 -0
  104. package/lib/schema/page-canvas-foundation.js +447 -0
  105. package/lib/schema/page-data-source-builder.js +561 -0
  106. package/lib/schema/page-foundation.js +556 -0
  107. package/lib/schema/page-source-loader.js +314 -0
  108. package/lib/schema/planner.js +691 -0
  109. package/lib/schema/remote-dispatch-boundary.js +39 -0
  110. package/lib/schema/remote-missing.js +21 -0
  111. package/lib/schema/remote-reader.js +189 -0
  112. package/lib/schema/resource-registry.js +157 -0
  113. package/lib/schema/server-revision.js +71 -0
  114. package/lib/schema/sort.js +28 -0
  115. package/lib/schema/state-store.js +589 -0
  116. package/package.json +10 -8
  117. package/scripts/check-release-risks.js +254 -0
  118. package/scripts/generate-command-docs.js +6 -1
  119. package/scripts/i18n-baseline.json +11 -11
  120. package/scripts/postinstall.js +8 -12
  121. package/scripts/validate-ci.sh +15 -11
  122. package/scripts/validate-i18n.js +30 -9
  123. package/scripts/validate-package-size.js +5 -2
  124. package/scripts/validate-skills.js +4 -0
  125. package/scripts/validate-structure.js +15 -0
  126. package/yida-skills/SKILL.md +117 -30
  127. package/yida-skills/references/schema-as-code-phase1.md +99 -0
  128. package/yida-skills/references/setup-and-env.md +59 -59
  129. package/yida-skills/references/task-retrospective.md +6 -6
  130. package/yida-skills/skills/yida-app/SKILL.md +78 -17
  131. package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +18 -7
  132. package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +3 -3
  133. package/yida-skills/skills/yida-canvas-custom-page/references/page-generation-guide.md +15 -0
  134. package/yida-skills/skills/yida-create-app/SKILL.md +21 -3
  135. package/yida-skills/skills/yida-create-form-page/SKILL.md +19 -1
  136. package/yida-skills/skills/yida-create-page/SKILL.md +16 -3
  137. package/yida-skills/skills/yida-create-process/SKILL.md +100 -4
  138. package/yida-skills/skills/yida-custom-page/SKILL.md +19 -4
  139. package/yida-skills/skills/yida-dashboard/SKILL.md +1 -1
  140. package/yida-skills/skills/yida-dashboard/references/pitfalls.md +1 -1
  141. package/yida-skills/skills/yida-get-schema/SKILL.md +49 -5
  142. package/yida-skills/skills/yida-i18n/SKILL.md +1 -1
  143. package/yida-skills/skills/yida-integration/SKILL.md +7 -1
  144. package/yida-skills/skills/yida-login/SKILL.md +50 -99
  145. package/yida-skills/skills/yida-page-config/SKILL.md +7 -1
  146. package/yida-skills/skills/yida-page-uiux/references/app/blueprint.md +0 -1
  147. package/yida-skills/skills/yida-page-uiux/references/app/navigation-patterns.md +0 -1
  148. package/yida-skills/skills/yida-page-uiux/references/app/role-journey.md +0 -1
  149. package/yida-skills/skills/yida-page-uiux/references/dashboard/app-blueprint.md +0 -1
  150. package/yida-skills/skills/yida-page-uiux/references/dashboard/chart-contracts.md +0 -1
  151. package/yida-skills/skills/yida-page-uiux/references/dashboard/component-contracts.md +0 -1
  152. package/yida-skills/skills/yida-page-uiux/references/dashboard/layout-patterns.md +0 -1
  153. package/yida-skills/skills/yida-page-uiux/references/dashboard/theme-recipes.md +0 -1
  154. package/yida-skills/skills/yida-page-uiux/references/detail/object-narrative.md +0 -1
  155. package/yida-skills/skills/yida-page-uiux/references/detail/section-patterns.md +0 -1
  156. package/yida-skills/skills/yida-page-uiux/references/detail/timeline-and-related.md +0 -1
  157. package/yida-skills/skills/yida-page-uiux/references/landing/assets-workflow.md +0 -1
  158. package/yida-skills/skills/yida-page-uiux/references/landing/industry-playbooks.md +0 -1
  159. package/yida-skills/skills/yida-page-uiux/references/landing/research-levels.md +0 -1
  160. package/yida-skills/skills/yida-page-uiux/references/landing/section-patterns.md +0 -1
  161. package/yida-skills/skills/yida-page-uiux/references/list/drawer-detail.md +0 -1
  162. package/yida-skills/skills/yida-page-uiux/references/list/empty-loading-error.md +0 -1
  163. package/yida-skills/skills/yida-page-uiux/references/list/filter-patterns.md +0 -1
  164. package/yida-skills/skills/yida-page-uiux/references/list/table-patterns.md +0 -1
  165. package/yida-skills/skills/yida-page-uiux/references/scenes/screen.md +0 -1
  166. package/yida-skills/skills/yida-page-uiux/references/workbench/entry-patterns.md +0 -1
  167. package/yida-skills/skills/yida-page-uiux/references/workbench/portal-layouts.md +0 -1
  168. package/yida-skills/skills/yida-page-uiux/references/workbench/task-feed.md +0 -1
  169. package/yida-skills/skills/yida-page-uiux/workflow/output-decision-block.md +1 -1
  170. package/yida-skills/skills/yida-process-rule/SKILL.md +35 -1
  171. package/yida-skills/skills/yida-publish-page/SKILL.md +46 -4
  172. package/yida-skills/skills/yida-report/SKILL.md +9 -235
  173. package/yida-skills/skills/yida-report/references/schema-builder-details.md +239 -0
  174. package/yida-skills/skills/yida-skill-evaluator/SKILL.md +170 -0
  175. package/yida-skills/skills-index.json +238 -54
  176. package/lib/core/locales/ar.js +0 -834
  177. package/lib/core/locales/de.js +0 -834
  178. package/lib/core/locales/es.js +0 -834
  179. package/lib/core/locales/fr.js +0 -834
  180. package/lib/core/locales/hi.js +0 -834
  181. package/lib/core/locales/ja.js +0 -1227
  182. package/lib/core/locales/ko.js +0 -836
  183. package/lib/core/locales/pt.js +0 -834
  184. package/lib/core/locales/vi.js +0 -834
  185. package/lib/core/locales/zh-HK.js +0 -1263
  186. package/project/pages/src/demo-birthday-game.oyd.jsx +0 -832
  187. package/project/pages/src/demo-chip-insight.oyd.jsx +0 -983
  188. package/project/pages/src/demo-compat-smoke.oyd.jsx +0 -58
  189. package/project/pages/src/demo-crm-batch-entry.oyd.jsx +0 -805
  190. package/project/pages/src/demo-crm-dashboard.oyd.jsx +0 -677
  191. package/project/pages/src/demo-future-vision-2026.oyd.jsx +0 -1102
  192. package/project/pages/src/demo-ppt.oyd.jsx +0 -1192
  193. package/project/pages/src/demo-salary-calculator.oyd.jsx +0 -904
  194. package/project/pages/src/openyida-knowledge-doc.oyd.jsx +0 -1714
  195. package/yida-skills/skills/large-file-write/SKILL.md +0 -93
  196. package/yida-skills/skills/large-file-write/references/write-patterns.md +0 -147
  197. package/yida-skills/skills/large-file-write/scripts/write.js +0 -157
  198. package/yida-skills/skills/sls-log-workbench/SKILL.md +0 -134
  199. package/yida-skills/skills/sls-log-workbench/references/workbench-reference.md +0 -130
  200. package/yida-skills/skills/sls-log-workbench/sls-query.js +0 -295
@@ -1,834 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * हिन्दी भाषा पैक (Hindi)
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: 'Login with OAuth token mode',
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_er: 'Export app entity relationship diagram',
35
- cmd_get_schema: 'फॉर्म Schema प्राप्त करें',
36
- cmd_create_page: 'कस्टम डिस्प्ले पेज बनाएं',
37
- cmd_generate_page: 'Generate page from curated template',
38
- cmd_check_page: 'Check custom page standards',
39
- cmd_compile: 'कस्टम पेज स्थानीय रूप से संकलित करें',
40
- cmd_publish: 'कस्टम पेज कंपाइल और प्रकाशित करें',
41
- cmd_update_form_config: 'फॉर्म कॉन्फ़िगरेशन अपडेट करें',
42
- group_data: 'डेटा & अनुमतियां',
43
- cmd_data: 'एकीकृत डेटा प्रबंधन (फॉर्म/प्रक्रिया/कार्य/उप-फॉर्म)',
44
- cmd_task_center: 'वैश्विक कार्य केंद्र (लंबित/संसाधित/CC आदि)',
45
- cmd_basic_info: 'संगठन की मूल जानकारी, क्षमता, कोटा और डोमेन देखें',
46
- cmd_get_permission: 'फॉर्म अनुमति कॉन्फ़िगरेशन पूछें',
47
- cmd_save_permission: 'फॉर्म अनुमति कॉन्फ़िगरेशन सहेजें',
48
- cmd_corp_manager: 'प्लेटफ़ॉर्म अनुमतियां प्रबंधित करें',
49
- cmd_agent_center: 'प्रक्रिया और प्रस्थान प्रतिनिधि प्रबंधित करें',
50
- group_process: 'प्रक्रिया',
51
- cmd_configure_process: 'प्रक्रिया नियम कॉन्फ़िगर और प्रकाशित करें',
52
- cmd_create_process: 'प्रक्रिया फॉर्म बनाएं (एकीकृत)',
53
- cmd_ai_form_setting: 'Manage process form AI approval prompts',
54
- cmd_process_preview: 'प्रक्रिया इंस्टेंस पूर्वावलोकन (फ्लोचार्ट)',
55
- group_share: 'पेज कॉन्फ़िगरेशन & शेयरिंग',
56
- cmd_verify_url: 'शॉर्ट URL सत्यापित करें',
57
- cmd_save_share: 'सार्वजनिक पहुंच / शेयर कॉन्फ़िगरेशन सहेजें',
58
- cmd_get_page_config: 'पेज सार्वजनिक पहुंच कॉन्फ़िगरेशन पूछें',
59
- cmd_externalize_form: 'Plan external access-safe mirror fields',
60
- group_report: 'रिपोर्ट',
61
- cmd_create_report: 'Yida रिपोर्ट बनाएं',
62
- cmd_append_chart: 'मौजूदा रिपोर्ट में चार्ट जोड़ें',
63
- group_connector: 'कनेक्टर',
64
- cmd_connector_list: 'HTTP कनेक्टर सूचीबद्ध करें',
65
- cmd_connector_create: 'कनेक्टर बनाएं',
66
- cmd_connector_detail: 'कनेक्टर विवरण देखें',
67
- cmd_connector_delete: 'कनेक्टर हटाएं',
68
- cmd_connector_add_action: 'Add an action',
69
- cmd_connector_list_actions: 'List actions',
70
- cmd_connector_delete_action: 'Delete an action',
71
- cmd_connector_test: 'Test an action',
72
- cmd_connector_list_connections: 'List auth connections',
73
- cmd_connector_create_connection: 'Create an auth connection',
74
- cmd_connector_smart: 'स्मार्ट निर्माण (cURL से)',
75
- cmd_connector_parse_api: 'Parse API information',
76
- cmd_connector_gen_template: 'Generate API document template',
77
- cmd_connector_more: 'अधिक उप-कमांड देखें',
78
- group_integration: 'एकीकरण & DingTalk',
79
- cmd_integration: 'एकीकरण स्वचालन फ्लो बनाएं',
80
- cmd_integration_list: 'List integration automation flows',
81
- cmd_integration_enable: 'Enable integration automation flow',
82
- cmd_integration_disable: 'Disable integration automation flow',
83
- cmd_integration_check: 'Check abnormal integration automation run logs',
84
- cmd_dws: 'DingTalk CLI (संपर्क/कैलेंडर/कार्य/अनुमोदन आदि)',
85
- cmd_dingtalk_link: 'DingTalk AppLink / legacy dingtalk:// पेज लिंक बनाएं',
86
- group_utility: 'उपकरण',
87
- cmd_commands: 'Output machine-readable command manifest',
88
- cmd_agent_capabilities: 'Output one-shot agent capability snapshot',
89
- cmd_a2a: 'Start local read-only A2A adapter or print Agent Card',
90
- cmd_bridge: 'Start OpenYida local web bridge service',
91
- cmd_db_seq_fix: 'Detect and repair PostgreSQL sequence drift',
92
- cmd_copy: 'project कार्य निर्देशिका कॉपी करें',
93
- cmd_sample: 'कोड सैंपल/टेम्पलेट आउटपुट करें',
94
- cmd_doctor: 'वातावरण निदान और स्वचालित मरम्मत',
95
- cmd_update: 'नवीनतम संस्करण में अपडेट करें',
96
- cmd_export_conversation: 'AI वार्तालाप रिकॉर्ड निर्यात करें',
97
- cmd_feedback: 'Configure experience feedback form and local reminder state',
98
- cmd_batch: 'Run OpenYida commands in batch',
99
- cmd_flash_to_prd: 'Convert flash notes or meeting notes to a PRD prompt',
100
- cmd_ai: 'Call Yida AI text and image recognition APIs',
101
- cmd_asset: 'Detect asset capability / verify image URLs / resolve materials',
102
- cmd_cdn: 'CDN छवि प्रबंधन (कॉन्फ़िग/अपलोड/रिफ्रेश)',
103
- cmd_cdn_config: 'Configure CDN / OSS upload',
104
- cmd_cdn_upload: 'Upload image to CDN',
105
- cmd_cdn_refresh: 'Refresh CDN cache',
106
- quickstart_title: 'त्वरित शुरुआत',
107
- quickstart_app_name: 'उपस्थिति प्रबंधन',
108
- quickstart_form_name: 'कर्मचारी जानकारी',
109
- docs: '📚 दस्तावेज़:',
110
- },
111
-
112
- // ── bin/yida.js ────────────────────────────────────
113
- cli: {
114
- integration_help: 'उपयोग: openyida integration <create|list|enable|disable> ...',
115
- integration_unknown: 'अज्ञात integration उप-कमांड: {0}',
116
- integration_help_hint: 'उपलब्ध उप-कमांड देखने के लिए openyida integration --help चलाएं',
117
- integration_list_usage: 'उपयोग: openyida integration list <appType> [--form-uuid <uuid>] [--status y|n] [--key <kw>] [--page <n>] [--size <n>] [--json]',
118
- integration_list_example: 'उदाहरण: openyida integration list APP_XXX --form-uuid FORM-XXX --json',
119
- integration_enable_usage: 'उपयोग: openyida integration enable <appType> <formUuid> <processCode>',
120
- integration_enable_example: 'उदाहरण: openyida integration enable APP_XXX FORM-XXX LPROC-XXX',
121
- integration_disable_usage: 'उपयोग: openyida integration disable <appType> <formUuid> <processCode>',
122
- integration_disable_example: 'उदाहरण: openyida integration disable APP_XXX FORM-XXX LPROC-XXX',
123
- compile_usage: 'उपयोग: openyida compile <sourceFile>',
124
- compile_example: 'उदाहरण: openyida compile pages/src/home.canvas.jsx',
125
- check_page_usage: 'Usage: openyida check-page <sourceFile> [--compat] [--json]',
126
- check_page_example: 'Example: openyida check-page pages/src/home.canvas.jsx --json',
127
- generate_page_usage: 'Usage: openyida generate-page <template> --output pages/src/home.canvas.jsx [--spec .cache/openyida/page-specs/home.json] [--theme-scope page|app] [--compile]',
128
- generate_page_example: 'Example: openyida generate-page product-homepage --brand-name OpenKuma --brand-initials OK --theme-scope page --output pages/src/home.canvas.jsx --compile',
129
- },
130
-
131
- // ── lib/integration/integration-check.js ─────────
132
- integration_check: {
133
- result_sheet: 'Result',
134
- header_app: 'App',
135
- header_form_title: 'Form name',
136
- header_form_uuid: 'Form ID',
137
- header_flow_name: 'Automation name',
138
- header_process_code: 'Automation ID',
139
- header_flow_status: 'Automation status',
140
- header_event_name: 'Trigger event',
141
- header_last_action: 'Last action',
142
- header_modifier: 'Modifier',
143
- header_modified_time: 'Modified time',
144
- header_abnormal_log_count: 'Abnormal log count',
145
- header_proc_inst_id: 'Run instance ID',
146
- header_form_inst_id: 'Form instance ID',
147
- header_execution_status: 'Execution status',
148
- header_exception: 'Exception',
149
- header_diagnosis: 'Diagnosis',
150
- header_recommendation: 'Recommendation',
151
- header_start_time: 'Start time',
152
- header_finish_time: 'Finish time',
153
- header_elapsed_ms: 'Elapsed (ms)',
154
- no_abnormal: 'No abnormal execution logs found',
155
- app_failed: 'App check failed: {0}',
156
- summary: 'Check complete: {0} apps, {1} automations, {2} with abnormal logs',
157
- apps_failed: '{0} app(s) failed to check. See JSON output or error summary for details.',
158
- no_logs: 'No abnormal execution logs found.',
159
- usage: 'openyida integration check <appType...> [--json] [--output result.xlsx] [--no-progress] [--flow-types 1,2,3,5,6] [--log-page-size 10] [--max-log-pages 1]',
160
- example: 'openyida integration check APP_XXX --output project/output/automation-errors.xlsx',
161
- missing_app: 'Missing appType. Usage: openyida integration check <appType...>',
162
- banner_title: 'Check integration automation abnormal logs',
163
- status_filter: 'Execution status filter: {0}',
164
- checking_app: 'Checking app: {0}',
165
- progress: 'Progress {0}{1}',
166
- current: ', current: {0}',
167
- excel_exported: 'Excel exported: {0}',
168
- },
169
-
170
- // ── lib/env.js ─────────────────────────────────────
171
- env: {
172
- title: ' openyida env - AI टूल वातावरण पहचान',
173
- detecting: ' AI टूल वातावरण पहचाना जा रहा है...',
174
- tool_label: ' AI टूल: {0}',
175
- login_label: ' लॉगिन स्थिति: {0}',
176
- logged_in: 'लॉग इन है',
177
- not_logged_in: 'लॉग इन नहीं है',
178
- corp_label: ' संगठन: {0}',
179
- version_label: ' संस्करण: {0}',
180
- },
181
-
182
- // ── lib/auth/token-auth.js ────────────────────────────────────
183
- login: {
184
- title: '🔐 Yida लॉगिन',
185
- cache_found: ' कैश्ड लॉगिन जानकारी मिली, सत्यापन हो रहा है...',
186
- cache_valid: '✅ कैश्ड लॉगिन जानकारी वैध है!',
187
- cache_invalid: ' कैश्ड लॉगिन जानकारी समाप्त हो गई है। पुनः लॉगिन आवश्यक है।',
188
- starting_qr: ' QR कोड लॉगिन शुरू हो रहा है...',
189
- success: '✅ लॉगिन सफल!',
190
- failed: '❌ लॉगिन विफल: {0}',
191
- usage: 'उपयोग: openyida login',
192
- },
193
-
194
- // ── lib/logout.js ───────────────────────────────────
195
- logout: {
196
- title: '🚪 Yida लॉगआउट',
197
- success: '✅ लॉगआउट सफल! लॉगिन जानकारी हटा दी गई।',
198
- no_cache: ' कोई लॉगिन जानकारी नहीं मिली। पहले से लॉगआउट है।',
199
- failed: '❌ लॉगआउट विफल: {0}',
200
- },
201
-
202
- // ── lib/create-app.js ───────────────────────────────
203
- create_app: {
204
- usage: 'उपयोग: openyida create-app "<ऐप नाम>" या openyida create-app --name "<ऐप नाम>" [--desc "..."] [--theme deepBlue]',
205
- example: 'उदाहरण: openyida create-app --name "मेरा ऐप" --desc "ऐप विवरण" --theme deepBlue',
206
- title: ' create-app - Yida ऐप निर्माण टूल',
207
- app_name: '\n ऐप नाम: {0}',
208
- app_desc: ' विवरण: {0}',
209
- app_icon: ' आइकॉन: {0} ({1})',
210
- app_theme: ' थीम: colour={0} navTheme={1} layout={2}',
211
- step_create: '\n🚀 ऐप बनाया जा रहा है...',
212
- sending_request: ' createApp अनुरोध भेजा जा रहा है...',
213
- success: ' ✅ ऐप सफलतापूर्वक बनाया गया!',
214
- app_id: ' ऐप ID: {0}',
215
- failed: ' ❌ निर्माण विफल: {0}',
216
- error: '\n❌ निर्माण त्रुटि: {0}',
217
- },
218
-
219
- // ── lib/create-form.js ──────────────────────────────
220
- create_form: {
221
- usage: 'उपयोग: openyida create-form <appType> <पेज नाम> [स्कीमा JSON]',
222
- title: ' create-form - Yida फॉर्म पेज निर्माण/अपडेट टूल',
223
- app_id: '\n ऐप ID: {0}',
224
- page_name: ' पेज नाम: {0}',
225
- step_create: '\n📝 फॉर्म पेज बनाया जा रहा है...',
226
- sending_request: ' saveFormSchema अनुरोध भेजा जा रहा है...',
227
- success: ' ✅ फॉर्म पेज सफलतापूर्वक बनाया गया!',
228
- form_uuid: ' फॉर्म UUID: {0}',
229
- failed: ' ❌ निर्माण विफल: {0}',
230
- error: '\n❌ निर्माण त्रुटि: {0}',
231
- step_check_data: '\n🔍 चरण {0}: जाँचें कि फॉर्म में मौजूदा डेटा है या नहीं',
232
- data_exists_warning: ' ⚠️ इस फॉर्म में पहले से {0} रिकॉर्ड हैं! संरचना बदलने से हो सकता है:',
233
- data_exists_impact: ' - ऐतिहासिक डेटा का नुकसान या भ्रष्टाचार\n - प्रक्रिया स्थिति में विसंगतियाँ\n - डेटा असंगति',
234
- data_exists_abort: ' ❌ संशोधन रद्द। जारी रखने के लिए --force जोड़ें।',
235
- data_exists_confirm_message: 'इस फॉर्म में {0} मौजूदा रिकॉर्ड हैं। संरचना बदलने से मौजूदा डेटा प्रभावित हो सकता है। पुष्टि के लिए --force जोड़ें।',
236
- data_exists_force_hint: 'उपयोग: openyida create-form update <appType> <formUuid> <changesJson> --force',
237
- data_exists_force_proceed: ' ⚠️ --force मोड: पुष्टि छोड़ी गई, {0} मौजूदा रिकॉर्ड वाले फॉर्म की संरचना बलपूर्वक बदली जा रही है',
238
- data_check_empty: ' ✅ फॉर्म में कोई डेटा नहीं है, सुरक्षित रूप से संशोधित किया जा सकता है',
239
- data_check_failed: ' ⚠️ डेटा जाँच विफल, संशोधन जारी',
240
- },
241
-
242
- // ── lib/create-page.js ──────────────────────────────
243
- create_page: {
244
- usage: 'उपयोग: openyida create-page <appType> <पेज नाम> [--mode dashboard]',
245
- example: 'उदाहरण: openyida create-page APP_XXX "Dashboard" --mode dashboard',
246
- title: ' create-page - Yida कस्टम पेज निर्माण टूल',
247
- app_id: '\n ऐप ID: {0}',
248
- page_name: ' पेज नाम: {0}',
249
- step_create: '\n📄 कस्टम पेज बनाया जा रहा है...',
250
- success: ' ✅ कस्टम पेज सफलतापूर्वक बनाया गया!',
251
- step_dashboard_config: '\n🖥️ Step 3: Configure dashboard fullscreen mode',
252
- dashboard_config_ok: ' ✅ Dashboard mode configured: top nav hidden, chromeless custom URL enabled',
253
- dashboard_config_failed: ' ⚠️ Dashboard mode config failed: {0}',
254
- err_mode_invalid: 'Unsupported page mode: {0}',
255
- mode_hint: 'Available modes: default, dashboard',
256
- form_uuid: ' पेज UUID: {0}',
257
- failed: ' ❌ निर्माण विफल: {0}',
258
- error: '\n❌ निर्माण त्रुटि: {0}',
259
- },
260
-
261
- // ── lib/get-schema.js ───────────────────────────────
262
- get_schema: {
263
- usage: 'उपयोग: openyida get-schema <appType> <formUuid>',
264
- title: ' get-schema - Yida फॉर्म स्कीमा प्राप्ति टूल',
265
- app_id: '\n ऐप ID: {0}',
266
- form_uuid: ' फॉर्म UUID: {0}',
267
- step_get: '\n📋 फॉर्म स्कीमा प्राप्त किया जा रहा है...',
268
- success: ' ✅ स्कीमा सफलतापूर्वक प्राप्त हुआ!',
269
- failed: ' ❌ प्राप्ति विफल: {0}',
270
- error: '\n❌ प्राप्ति त्रुटि: {0}',
271
- },
272
-
273
- // ── lib/check-update.js ─────────────────────────────
274
- check_update: {
275
- new_version: '\n🎉 नया संस्करण उपलब्ध: {0} → {1}',
276
- update_cmd: ' अपडेट करें: npm install -g openyida',
277
- check_failed: 'संस्करण जांच विफल: {0}',
278
- },
279
-
280
- // ── lib/update.js ──────────────────────────────────
281
- update: {
282
- checking: 'नवीनतम संस्करण की जांच हो रही है...',
283
- fetch_failed: 'नवीनतम संस्करण प्राप्त करने में विफल। कृपया नेटवर्क कनेक्शन जांचें',
284
- already_latest: 'पहले से नवीनतम संस्करण ({0}) है, अपडेट की आवश्यकता नहीं',
285
- found_new_version: 'नया संस्करण मिला: {0} (वर्तमान: {1})',
286
- installing: 'openyida@latest इंस्टॉल हो रहा है...',
287
- success: 'अपडेट सफल! वर्तमान संस्करण: {0}',
288
- install_failed: 'अपडेट विफल: {0}',
289
- manual_hint: 'कृपया मैन्युअल रूप से प्रयास करें: npm install -g openyida@latest',
290
- available: 'अपडेट उपलब्ध',
291
- up_to_date: 'अद्यतित',
292
- label_install: 'Install',
293
- label_channel: 'Channel',
294
- label_version: 'Version',
295
- label_update: 'Update',
296
- done: 'अपडेट पूर्ण!',
297
- done_hint: 'नया संस्करण पुष्टि करने के लिए openyida --version चलाएं',
298
- },
299
-
300
- // ── lib/export-app.js ───────────────────────────────
301
- export_app: {
302
- usage: 'उपयोग: openyida export-app <appType>',
303
- title: ' export-app - Yida ऐप निर्यात टूल',
304
- app_id: '\n ऐप ID: {0}',
305
- step_export: '\n📦 ऐप निर्यात किया जा रहा है...',
306
- success: ' ✅ ऐप सफलतापूर्वक निर्यात हुआ!',
307
- failed: ' ❌ निर्यात विफल: {0}',
308
- error: '\n❌ निर्यात त्रुटि: {0}',
309
- },
310
-
311
- // ── lib/import-app.js ───────────────────────────────
312
- import_app: {
313
- usage: 'उपयोग: openyida import-app <फ़ाइल पथ>',
314
- title: ' import-app - Yida ऐप आयात टूल',
315
- file_path: '\n फ़ाइल पथ: {0}',
316
- step_import: '\n📥 ऐप आयात किया जा रहा है...',
317
- success: ' ✅ ऐप सफलतापूर्वक आयात हुआ!',
318
- failed: ' ❌ आयात विफल: {0}',
319
- error: '\n❌ आयात त्रुटि: {0}',
320
- },
321
-
322
- // ── lib/get-page-config.js ──────────────────────────
323
- get_page_config: {
324
- usage: 'उपयोग: openyida get-page-config <appType> <formUuid>',
325
- title: ' get-page-config - Yida पेज कॉन्फ़िगरेशन प्राप्ति टूल',
326
- app_id: '\n ऐप ID: {0}',
327
- form_uuid: ' फॉर्म UUID: {0}',
328
- step_get: '\n🔍 पेज कॉन्फ़िगरेशन प्राप्त किया जा रहा है...',
329
- success: ' ✅ कॉन्फ़िगरेशन सफलतापूर्वक प्राप्त हुआ!',
330
- failed: ' ❌ प्राप्ति विफल: {0}',
331
- error: '\n❌ प्राप्ति त्रुटि: {0}',
332
- },
333
-
334
- // ── lib/save-share-config.js ────────────────────────
335
- save_share_config: {
336
- usage: 'उपयोग: openyida save-share-config <appType> <formUuid> <openUrl> <isOpen> [openAuth]',
337
- title: ' save-share-config - Yida सार्वजनिक पहुंच कॉन्फ़िगरेशन सहेजने का टूल',
338
- app_id: '\n ऐप ID: {0}',
339
- form_uuid: ' फॉर्म UUID: {0}',
340
- open_url: ' सार्वजनिक URL: {0}',
341
- is_open: ' सार्वजनिक पहुंच: {0}',
342
- open_auth: ' प्रमाणीकरण आवश्यक: {0}',
343
- step_validate: '\n📋 Step 0: पैरामीटर सत्यापन',
344
- validate_ok: ' ✅ सत्यापन सफल',
345
- validate_failed: ' ❌ सत्यापन विफल: {0}',
346
- step_save: '\n💾 Step 2: सार्वजनिक पहुंच कॉन्फ़िगरेशन सहेजें',
347
- sending_request: ' saveShareConfig अनुरोध भेजा जा रहा है...',
348
- save_ok: ' ✅ कॉन्फ़िगरेशन सफलतापूर्वक सहेजा गया!',
349
- save_ok_msg: 'सार्वजनिक पहुंच कॉन्फ़िगरेशन सहेजा गया',
350
- save_failed: ' ❌ सहेजना विफल: {0}',
351
- save_failed_msg: 'सहेजना विफल',
352
- err_is_open_invalid: 'isOpen y या n होना चाहिए। वर्तमान मान: {0}',
353
- err_open_auth_invalid: 'openAuth y या n होना चाहिए। वर्तमान मान: {0}',
354
- err_open_url_required: 'सार्वजनिक पहुंच सक्षम करने के लिए openUrl आवश्यक है',
355
- err_open_url_prefix: 'openUrl /o/ से शुरू होना चाहिए। वर्तमान मान: {0}',
356
- err_open_url_chars: 'openUrl पथ केवल a-z A-Z 0-9 _ - और सेगमेंट विभाजक / का समर्थन करता है। वर्तमान मान: {0}',
357
- err_open_url_empty: 'openUrl पथ खाली नहीं हो सकता: {0}',
358
- },
359
-
360
- // ── lib/update-form-config.js ──────────────────────
361
- update_form_config: {
362
- usage: 'उपयोग: openyida update-form-config <appType> <formUuid> <isRenderNav> <title>',
363
- title: ' update-form-config - Yida फॉर्म कॉन्फ़िगरेशन अपडेट टूल',
364
- app_id: '\n ऐप ID: {0}',
365
- form_uuid: ' फॉर्म UUID: {0}',
366
- is_render_nav: ' नेविगेशन दिखाएं: {0}',
367
- page_title: ' पेज शीर्षक: {0}',
368
- step_update: '\n💾 Step 2: फॉर्म कॉन्फ़िगरेशन अपडेट करें',
369
- sending_request: ' updateFormSchemaInfo अनुरोध भेजा जा रहा है...',
370
- update_ok: ' ✅ कॉन्फ़िगरेशन सफलतापूर्वक अपडेट हुआ!',
371
- nav_shown: 'शीर्ष नेविगेशन दिखाया गया',
372
- nav_hidden: 'शीर्ष नेविगेशन छिपाया गया',
373
- update_failed: ' ❌ अपडेट विफल: {0}',
374
- update_failed_msg: 'अपडेट विफल',
375
- },
376
-
377
- // ── lib/verify-short-url.js ────────────────────────
378
- verify_short_url: {
379
- usage: 'उपयोग: openyida verify-short-url <appType> <formUuid> <url>',
380
- title: ' verify-short-url - Yida URL सत्यापन टूल',
381
- app_id: '\n ऐप ID: {0}',
382
- form_uuid: ' फॉर्म UUID: {0}',
383
- step_validate: '\n📋 Step 0: URL प्रारूप सत्यापन',
384
- validate_ok: ' ✅ प्रारूप सत्यापित',
385
- validate_failed: ' ❌ सत्यापन विफल: {0}',
386
- step_verify: '\n🔍 Step 2: URL सत्यापित करें',
387
- sending_request: ' verifyShortUrl अनुरोध भेजा जा रहा है...',
388
- url_available: ' ✅ URL उपलब्ध है!',
389
- open_available_msg: 'यह सार्वजनिक पहुंच URL उपलब्ध है',
390
- share_available_msg: 'यह आंतरिक साझाकरण URL उपलब्ध है',
391
- url_taken: ' ❌ URL पहले से उपयोग में है',
392
- url_taken_msg: 'यह शॉर्ट URL पहले से लिया गया है',
393
- verify_failed: ' ❌ सत्यापन अनुरोध विफल',
394
- err_url_prefix: 'URL /o/ या /s/ से शुरू होना चाहिए। वर्तमान मान: {0}',
395
- err_url_chars: 'URL पथ केवल a-z A-Z 0-9 _ - और सेगमेंट विभाजक / का समर्थन करता है। वर्तमान मान: {0}',
396
- err_url_empty: 'URL पथ खाली नहीं हो सकता: {0}',
397
- },
398
-
399
- // ── lib/copy.js ────────────────────────────────────
400
- copy: {
401
- title: ' openyida copy - Yida कार्य निर्देशिका प्रारंभ करें',
402
- package_root: '\n📦 पैकेज रूट: {0}',
403
- dest_root: '🤖 लक्ष्य निर्देशिका: {0}',
404
- dest_empty_flatten: '📂 लक्ष्य निर्देशिका खाली है, project/ की सामग्री सीधे कॉपी की जाएगी (project/ उपनिर्देशिका नहीं बनेगी)',
405
- force_mode: '⚠️ --force मोड: कॉपी करने से पहले लक्ष्य निर्देशिका साफ की जाएगी',
406
- no_package: '\n❌ openyida पैकेज निर्देशिका नहीं मिली',
407
- no_package_hint1: ' सुनिश्चित करें कि openyida वैश्विक रूप से स्थापित है:',
408
- no_package_hint2: ' npm install -g openyida',
409
- no_active_tool: '\n❌ कोई सक्रिय AI टूल वातावरण नहीं मिला',
410
- supported_tools: ' समर्थित टूल: Wukong, Codex, OpenCode, Claude Code, Aone Copilot, Cursor, Qoder',
411
- current_result: '\n वर्तमान पहचान परिणाम:',
412
- force_hint: '\n वर्तमान निर्देशिका में जबरदस्ती कॉपी करने के लिए:\n openyida copy --force',
413
- force_cmd: ' openyida copy --force',
414
- copying_label: '\n📂 {0} कॉपी हो रहा है...',
415
- creating_symlink: '\n📂 yida-skills/ सिम्बॉलिक लिंक बनाया जा रहा है...',
416
- file_copied: ' कॉपी हुआ: {0}',
417
- cleared: ' 🗑️ साफ हुआ: {0}',
418
- symlink_removed: ' 🗑️ पुराना सिम्बॉलिक लिंक हटाया गया: {0}',
419
- dir_deleted: ' 🗑️ निर्देशिका हटाई गई: {0}',
420
- removed: ' 🗑️ हटाया गया: {0}',
421
- symlink_created: ' 🔗 सिम्बॉलिक लिंक: {0} -> {1}',
422
- symlink_label: 'सिम्बॉलिक लिंक',
423
- done: '✅ पूर्ण!',
424
- files_copied: ' कॉपी की गई फ़ाइलें: {0}',
425
- files_count: '{0} फ़ाइलें',
426
- symlinks_created: ' बनाए गए सिम्बॉलिक लिंक: {0}',
427
- result_symlink: ' {0} → {1} (सिम्बॉलिक लिंक)',
428
- result_copy: ' {0} → {1} ({2} फ़ाइलें)',
429
- wukong_skills_cleanup: '\n🗑️ Wukong वातावरण: yida-skills/ सिम्बॉलिक लिंक साफ हो रहा है...',
430
- wukong_skills_cleaned: 'साफ हुआ',
431
- wukong_skills_not_found: ' ℹ️ yida-skills/ सिम्बॉलिक लिंक या निर्देशिका नहीं मिली: {0}',
432
- remove_failed: ' ❌ हटाना विफल: {0} ({1})',
433
- symlink_fallback_copy: ' ⚠️ Windows सिम्बॉलिक लिंक बनाना विफल (व्यवस्थापक अधिकार आवश्यक), निर्देशिका कॉपी का उपयोग: {0}',
434
- symlink_failed: ' ❌ सिम्बॉलिक लिंक बनाना विफल: {0} ({1})',
435
- },
436
-
437
- // ── lib/publish.js ─────────────────────────────────
438
- generate_page: {
439
- spec_not_found: 'Spec file not found: {0}',
440
- spec_invalid: 'Failed to parse spec JSON: {0}',
441
- unknown_template: 'Unknown page template: {0}',
442
- available_templates: 'Available templates: {0}',
443
- template_not_found: 'Template file not found: {0}',
444
- done: 'Page generated: {0}',
445
- hint: 'Next run openyida compile <file>, or pass --compile to compile immediately.',
446
- success: 'Page generation complete',
447
- },
448
- page_size: {
449
- large_source: 'बड़ा पेज सोर्स मिला: {0} ({1}, लगभग {2} पंक्तियां)',
450
- long_line_hint: 'बहुत लंबी एकल पंक्ति मिली (लगभग {0} अक्षर), आमतौर पर minified vendor कोड या base64; इसे सोर्स से बाहर रखें।',
451
- base64_hint: 'लंबा inline base64 मिला; इसे CDN/OSS पर अपलोड करके URL से संदर्भित करें।',
452
- memory_hint: 'publish/compile source, build output, minified output और schema प्रतियां मेमोरी में रखता है; vendor/base64 अलग करें या this.utils.loadScript से लोड करें।',
453
- windows_hint: 'Windows पर बड़े JSX को PowerShell Get-Content -Raw + ConvertTo-Json से न लिखें; Node fs.writeFileSync/appendFileSync को हिस्सों में उपयोग करें।',
454
- },
455
- publish: {
456
- title: ' yida-publish - Yida पेज प्रकाशन टूल',
457
- platform: ' प्लेटफ़ॉर्म: {0}',
458
- app_id: ' ऐप ID: {0}',
459
- form_uuid: ' फॉर्म ID: {0}',
460
- source_file: ' स्रोत: {0}',
461
- compiled_file: ' आउटपुट: {0}',
462
- step_lint: '\n🔍 Step 0: यिदा कोडिंग मानक पूर्व-जांच\n',
463
- lint_title: '⚠️ Yida page code check:',
464
- lint_error_line: ' ❌ पंक्ति {0}: {1}',
465
- lint_warning_line: ' ⚠️ पंक्ति {0}: {1}',
466
- lint_event_function: 'इवेंट बाइंडिंग function का उपयोग करता है, एरो फंक्शन (e) => { this.xxx() } का उपयोग करें',
467
- lint_missing_render_jsx: 'export function renderJsx() नहीं मिला; Yida कस्टम पेजों को renderJsx export करना आवश्यक है',
468
- lint_import_require: 'import/require मिला। Yida कस्टम पेज modules import नहीं कर सकते; third-party scripts को this.utils.loadScript से load करें',
469
- lint_react_hooks: 'React Hooks मिले। Yida runtime React 16 class-component शैली का उपयोग करता है और useState/useEffect hooks को support नहीं करता',
470
- lint_export_default: 'export default मिला। Yida को export function renderJsx/didMount जैसे named exports चाहिए',
471
- lint_jsx_extension: 'इस .js फ़ाइल में JSX है; source files के लिए .jsx बेहतर है। compiled output अभी भी .js रहेगा',
472
- lint_event_direct_method: 'Event binding सीधे this.xxx पास करता है और this खो देगा; (e) => { this.xxx(e); } उपयोग करें',
473
- lint_event_bind_this: 'Event binding .bind(this) का उपयोग करता है; इसके बजाय (e) => { this.xxx(e); } उपयोग करें',
474
- lint_lifecycle_case: 'Lifecycle export {0} मिला; Yida केवल {1} पहचानता है (case-sensitive)',
475
- lint_react_lifecycle_method: 'React lifecycle {0} मिला; Yida कस्टम पेजों के लिए {1} export करें',
476
- lint_event_lowercase: 'Lowercase event prop {0} मिला; React/Yida इसे bind नहीं करेगा। {1} उपयोग करें',
477
- lint_event_call_result: 'Event binding किसी function को invoke करता है या expression handler नहीं है; (e) => { self.xxx(e); } उपयोग करें',
478
- lint_event_noop_arrow: 'Event arrow function handler को call किए बिना केवल reference करता है; (e) => { self.xxx(e); } उपयोग करें',
479
- lint_button_missing_handler: 'Visible <button> में onClick/onMouseDown/onKeyDown या disabled state नहीं है; event handler bind करें या static labels के लिए span/div उपयोग करें',
480
- lint_array_callback_function: '.{0}(function ...) callbacks में this खो सकता है; इसके बजाय .{0}((item) => ...) उपयोग करें',
481
- lint_foreach_callback_function: '.forEach(function ...) callbacks में this खो सकता है; .forEach((item) => ...) बेहतर है',
482
- lint_controlled_input: 'input controlled value mode का उपयोग करता है। Yida पेजों को _customState update करने के लिए defaultValue + onChange उपयोग करना चाहिए',
483
- lint_native_select_ui: 'Native <select> मिला। Normal custom pages में arrow, selected marker और focus reset वाला button+menu+option custom dropdown उपयोग करें; form SelectField को page filter component की तरह सीधे render न करें।',
484
- lint_iframe_self_navigation: 'Yida custom pages iframe में चलते हैं। Nested pages से बचने के लिए Yida page navigation में target="_top"/target="_blank" या window.top.location उपयोग करें।',
485
- lint_page_size_limit: 'pageSize={0} Yida API की 100 सीमा से अधिक है; 100 या उससे कम उपयोग करें',
486
- lint_page_size_recommend: 'pageSize={0} बड़ा है; अनुशंसित मान 50 है (best performance, max 100)। 10/20/50 को प्राथमिकता दें',
487
- lint_searchformdata_http_post: 'searchFormDatas.json को सीधे call करते समय GET + query params ज़रूरी है (formUuid/appType को URL query में रखें)। POST में formUuid को body में डालने पर «参数校验失败formUuid» error आता है और dashboard/list सब 0 दिखते हैं',
488
- lint_searchformdata_http_pagenumber: 'searchFormDatas.json का pagination param currentPage है (pageNumber नहीं); pageNumber से pagination टूट जाता है',
489
- lint_searchformdata_http_unwrap: 'Browser की searchFormDatas.json response में list content.data में nested होती है ({ content: { data: [...] } }); सिर्फ json.data पढ़ने पर 0 rows मिलते हैं — (json.content && json.content.data) से unwrap करें',
490
- lint_setstate_non_timestamp: 'this.setState non-timestamp field लिखता है। Custom page business state _customState में होना चाहिए और forceUpdate()/setCustomState() से update होना चाहिए; this.setState में केवल timestamp contract field होना चाहिए',
491
- lint_self_binding_missing: 'renderJsx var self = this; घोषित किए बिना this का उपयोग करता है। renderJsx के शीर्ष पर var self = this; जोड़ें और this खोने से बचने के लिए closures/callbacks में self उपयोग करें',
492
- lint_echarts_dom_ready: 'echarts.init setTimeout में wrapped नहीं है; container अभी mounted न हो तो chart render नहीं हो सकता। setTimeout(function(){ /* echarts.init */ }, 300) उपयोग करें',
493
- lint_yida_api_catch: 'this.utils.yida API call में .catch() नहीं मिला; error handling जोड़ें और user को toast दिखाएँ',
494
- lint_echarts_legacy_map_china: 'ECharts 5 अब echarts/map/js/china.js support नहीं करता। इसके बजाय DataV GeoJSON load करें और echarts.registerMap("china", geoJson) call करें',
495
- lint_echarts_rich_label_formatter: 'ECharts label.formatter से लौटे rich text templates Yida custom pages में unstable हैं; plain formatter strings या precomputed label text बेहतर हैं',
496
- lint_const_let: 'const/let घोषणा का उपयोग करता है, var में बदलने की सिफारिश है (यिदा रनटाइम संगतता)',
497
- lint_computed_property: 'ES6 गणना संपत्ति नाम { [key]: value } का उपयोग करता है, यिदा JS इंजन द्वारा समर्थित नहीं है, मूक विफलता का कारण बनता है। var obj = {}; obj[key] = value; का उपयोग करें',
498
- lint_pad_method: 'String.{0}() का उपयोग करता है, यिदा JS इंजन द्वारा समर्थित नहीं है, Promise कॉलबैक को मूक रूप से बाधित करता है। टर्नरी ऑपरेटर का उपयोग करें: x < 10 ? "0" + x : "" + x',
499
- lint_large_then_callback: 'Promise .then() कॉलबैक बहुत बड़ा है ({0} पंक्तियाँ, अनुशंसित अधिकतम {1} पंक्तियाँ), मूक कटौती का कारण बन सकता है। तर्क को अलग export function में निकालें',
500
- lint_fix_errors: '❌ कृपया प्रकाशन से पहले उपरोक्त त्रुटियों को ठीक करें',
501
- lint_skip_hint: '💡 जांच छोड़ने के लिए --skip-lint पैरामीटर जोड़ें',
502
- lint_passed: ' ✅ कोड जांच पास\n',
503
- lint_skipped: '\n⏭️ कोड पूर्व-जांच छोड़ी गई (--skip-lint)\n',
504
- duplicate_source_mismatch: ' ⚠️ Found another copy with the same file name but different content. Publishing: {0}; other copy: {1}',
505
- data_source_fetching: ' Reading existing page data sources...',
506
- data_source_preserved: ' ✅ Preserved existing page data sources: {0}',
507
- data_source_none: ' No custom page data sources to preserve',
508
- data_source_fetch_failed: 'Could not read the existing page Schema, so publishing stopped to avoid clearing existing data sources: {0}',
509
- target_checking: ' Checking publish target type...',
510
- target_check_forced: ' ⚠️ Skipped publish target type check (--force)',
511
- target_check_ok: ' ✅ Publish target confirmed: {0} ({1})',
512
- target_check_failed: 'Could not verify publish target: {0}',
513
- target_not_found: 'Publish target was not found in app navigation: {0}',
514
- target_type_invalid: 'Publish target is not a custom display page: {0} current type is {1}',
515
- 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.',
516
- target_list_hint: 'Run openyida list-forms {0} --keyword <page name>, then choose a custom page formUuid with formType=display.',
517
- 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.',
518
- step_compile: '\n📦 Step 1: स्रोत संकलित करें और स्कीमा बनाएं\n',
519
- reading_source: '[1/4] {0} स्रोत पढ़ा जा रहा है...',
520
- compiling: '[2/4] Babel से {0} संकलित हो रहा है...',
521
- compile_failed: ' ❌ संकलन विफल: {0}',
522
- compile_location: '\n स्थान: पंक्ति {0}, स्तंभ {1}',
523
- compile_error_code: ' त्रुटि कोड: {0}',
524
- minifying: '[3/4] UglifyJS से {0} संपीड़ित हो रहा है...',
525
- minify_failed: ' संपीड़न विफल: {0}',
526
- compile_done: ' ✅ संकलन पूर्ण: {0}',
527
- building_schema: '[4/4] स्कीमा बनाया जा रहा है...',
528
- formula_prefix_fixed: ' 🔧 {0} सबटेबल फ़ॉर्मूला उपसर्ग संदर्भ स्वतः ठीक किए गए',
529
- schema_built: ' ✅ स्कीमा सफलतापूर्वक बना!',
530
- step_canvas_compile: '\n📦 Step 1: Code Canvas स्रोत संकलित करें\n',
531
- canvas_compiling: ' 🎨 Code Canvas स्रोत को स्थानीय रूप से संकलित किया जा रहा है...',
532
- canvas_compile_done: ' ✅ Code Canvas संकलित!',
533
- canvas_compile_failed: ' ❌ Code Canvas संकलन विफल: {0}',
534
- step_login: '\n🔑 Step 2: लॉगिन जानकारी पढ़ें',
535
- step_publish: '\n📤 Step 3: स्कीमा प्रकाशित करें\n',
536
- publish_failed: '\n❌ प्रकाशन विफल: {0}',
537
- schema_published: ' ✅ स्कीमा सफलतापूर्वक प्रकाशित!',
538
- step_config: '\n⚙️ Step 4: फॉर्म कॉन्फ़िगरेशन अपडेट करें\n',
539
- success: ' ✅ सफलतापूर्वक प्रकाशित!',
540
- config_failed: ' ⚠️ कॉन्फ़िगरेशन अपडेट विफल: {0}',
541
- schema_ok_config_failed: 'Schema published, but config update failed',
542
- step_health_check: '\n🩺 Step 5: Health check published page\n',
543
- health_check_ok: ' ✅ Health check passed: HTTP {0}',
544
- health_check_failed: ' ⚠️ Health check failed: HTTP {0} {1}',
545
- exception: '\n❌ प्रकाशन त्रुटि: {0}',
546
- source_not_found: '❌ स्रोत फ़ाइल नहीं मिली: {0}',
547
- usage: 'उपयोग: openyida publish <स्रोतफ़ाइल> <appType> <formUuid> [--health-check] [--canvas]',
548
- example: 'उदाहरण: openyida publish pages/src/xxx.js APP_XXX FORM-XXX --health-check',
549
- },
550
-
551
- // ── token-only disabled QR login ────────────────────────────────
552
- qr_login: {
553
- title: '🔐 Yida टर्मिनल QR कोड लॉगिन',
554
- step_init: ' Step 1: सत्र प्रारंभ हो रहा है...',
555
- step_get_qr: ' Step 2: QR कोड प्राप्त हो रहा है...',
556
- scan_hint: ' 📱 कृपया DingTalk से नीचे दिए QR कोड को स्कैन करें:',
557
- browser_alternative: ' 💡 If this is not a cloud/remote machine, use browser login instead; if QR scan fails, try: {0}',
558
- qr_url_label: ' QR कोड URL: {0}',
559
- waiting_scan: ' ⏳ स्कैन की प्रतीक्षा (अधिकतम 2 मिनट)...',
560
- scanned_confirm: ' ✅ QR कोड स्कैन हुआ! कृपया अपने फ़ोन पर लॉगिन की पुष्टि करें...',
561
- scan_success: ' ✅ स्कैन की पुष्टि हुई!',
562
- step_exchange: ' Step 4: लॉगिन क्रेडेंशियल का आदान-प्रदान हो रहा है...',
563
- step_get_corps: ' Step 5: संगठन सूची प्राप्त हो रही है...',
564
- step_switch_corp: ' Step 7: चुने गए संगठन पर स्विच हो रहा है...',
565
- only_one_corp: ' ✅ एक संगठन मिला: {0}, स्वचालित रूप से चुना गया',
566
- select_corp_prompt: ' 🏢 कई संगठन मिले, कृपया एक चुनें:',
567
- select_corp_input: ' नंबर दर्ज करें (1-{0}): ',
568
- select_corp_invalid: ' ❌ अमान्य इनपुट, कृपया 1 से {0} के बीच नंबर दर्ज करें',
569
- target_corp_not_found: 'निर्दिष्ट corpId सुलभ संगठनों में नहीं मिला: {0}',
570
- corp_selected: ' ✅ संगठन चुना गया: {0}',
571
- login_success: '✅ लॉगिन सफल!',
572
- qrcode_fallback: ' ⚠️ qrcode पैकेज स्थापित नहीं है, कृपया नीचे दिए URL पर मैन्युअल रूप से जाएं:',
573
- qrcode_render_failed: ' ⚠️ QR कोड रेंडरिंग विफल ({0}), कृपया नीचे दिए URL पर जाएं:',
574
- qr_expired: 'QR कोड समाप्त हो गया, कृपया पुनः लॉगिन करें',
575
- poll_timeout: 'स्कैन टाइमआउट (2 मिनट), कृपया पुनः लॉगिन करें',
576
- no_corp_available: 'कोई सुलभ संगठन नहीं मिला',
577
- no_csrf_in_cookie: 'लॉगिन सफल लेकिन csrf_token नहीं मिला, कृपया पुनः प्रयास करें',
578
- stdin_closed: 'इनपुट स्ट्रीम बंद है, संगठन चुनना संभव नहीं',
579
- },
580
-
581
- // ── scripts/postinstall.js ─────────────────────────
582
- postinstall: {
583
- welcome_title: ' 🎉 OpenYida में आपका स्वागत है! ',
584
- install_success: ' ✅ स्थापना पूर्ण! {0} Yida AI विकास टूल तैयार है।',
585
- update_success: ' ✅ अपडेट पूर्ण! {0} OpenYida नवीनतम संस्करण में अपग्रेड हुआ।',
586
- ai_mode_title: ' 🚀 AI वार्तालाप मोड',
587
- ai_mode_desc: ' Codex / Claude Code / Aone Copilot / Cursor में सीधे बात करें:',
588
- prompt1: ' 📋 "Yida से मेरे लिए उपस्थिति प्रबंधन प्रणाली बनाएं"',
589
- prompt2: ' 💰 "व्यक्तिगत वेतन कैलकुलेटर ऐप बनाएं"',
590
- prompt3: ' 🏢 "CRM ग्राहक प्रबंधन प्रणाली बनाएं"',
591
- prompt4: ' 🎂 "जन्मदिन शुभकामना मिनी-ऐप बनाएं"',
592
- steps_title: ' 📖 शुरुआत करें',
593
- step1: ' {0}Step 1{1} अपना AI कोडिंग टूल खोलें (Codex / Claude Code / Cursor आदि)',
594
- step2: ' {0}Step 2{1} प्राकृतिक भाषा में अपना ऐप वर्णन करें',
595
- step3: ' {0}Step 3{1} AI स्वचालित रूप से openyida कमांड चलाता है',
596
- step4: ' {0}Step 4{1} अपना Yida ऐप लिंक प्राप्त करें 🎉',
597
- commands_title: ' ⚡ त्वरित कमांड',
598
- cmd_env: ' {0}openyida env{1} {2}# AI टूल वातावरण और लॉगिन स्थिति पहचानें{3}',
599
- cmd_login: ' {0}openyida login{1} {2}# Yida में लॉगिन करें{3}',
600
- cmd_help: ' {0}openyida --help{1} {2}# सभी कमांड देखें{3}',
601
- footer1: ' 📚 दस्तावेज़: https://github.com/openyida/openyida',
602
- footer2: ' 💬 समुदाय: DingTalk पर OpenYida समुदाय में शामिल हों',
603
- },
604
-
605
- // ── lib/cdn-*.js ───────────────────────────────────
606
- cdn: {
607
- config_load_error: 'CDN कॉन्फ़िगरेशन लोड विफल: {0}',
608
- config_saved: '✅ CDN कॉन्फ़िगरेशन सहेजा गया: {0}',
609
- config_usage: 'उपयोग: openyida cdn-config [विकल्प]',
610
- config_file_path: '📄 कॉन्फ़िगरेशन फ़ाइल: {0}',
611
- config_section_aliyun: '🔐 Alibaba Cloud क्रेडेंशियल',
612
- config_section_cdn: '🌐 CDN कॉन्फ़िगरेशन',
613
- config_section_oss: '📦 OSS कॉन्फ़िगरेशन',
614
- config_section_upload: '📤 अपलोड कॉन्फ़िगरेशन',
615
- config_cdn_domain: 'CDN डोमेन',
616
- config_oss_region: 'OSS क्षेत्र',
617
- config_oss_bucket: 'OSS बकेट',
618
- config_oss_endpoint: 'OSS एंडपॉइंट',
619
- config_upload_path: 'अपलोड पथ',
620
- config_compress: 'छवि संपीड़न',
621
- config_max_width: 'अधिकतम चौड़ाई',
622
- config_quality: 'छवि गुणवत्ता',
623
- config_not_set: 'सेट नहीं',
624
- config_enabled: 'सक्षम',
625
- config_disabled: 'अक्षम',
626
- config_status_valid: '✅ कॉन्फ़िगरेशन पूर्ण, उपयोग के लिए तैयार',
627
- config_status_invalid: '⚠️ कॉन्फ़िगरेशन अपूर्ण',
628
- config_missing: ' अनुपस्थित फ़ील्ड: {0}',
629
- config_updated: '✅ कॉन्फ़िगरेशन अपडेट हुआ!',
630
- config_init_title: '🔧 CDN कॉन्फ़िगरेशन प्रारंभ सहायक',
631
- config_init_desc: 'CDN छवि अपलोड उपयोग करने के लिए निम्नलिखित कॉन्फ़िगर करें:',
632
- upload_no_files: '❌ कृपया अपलोड करने के लिए छवि फ़ाइलें निर्दिष्ट करें',
633
- config_incomplete: '❌ CDN कॉन्फ़िगरेशन अपूर्ण है',
634
- missing_fields: ' अनुपस्थित फ़ील्ड: {0}',
635
- run_config_init: ' कृपया पहले चलाएं: openyida cdn-config --init',
636
- no_config: '❌ CDN कॉन्फ़िगरेशन नहीं मिला',
637
- oss_sdk_required: '❌ ali-oss SDK अनुपस्थित है',
638
- run_npm_install: ' चलाएं: npm install {0}',
639
- no_images_found: '❌ कोई समर्थित छवि फ़ाइल नहीं मिली',
640
- uploading_images: '📤 {0} छवियां अपलोड हो रही हैं...',
641
- uploading_file: ' अपलोड हो रहा है: {0}',
642
- upload_success: ' ✅ {0}',
643
- upload_failed: ' ❌ {0} अपलोड विफल: {1}',
644
- upload_summary: '\n📊 अपलोड सारांश',
645
- upload_success_count: ' सफल: {0}',
646
- upload_fail_count: ' विफल: {0}',
647
- cdn_urls: '\n🔗 CDN URL सूची:',
648
- upload_error: '❌ अपलोड विफल: {0}',
649
- refresh_no_targets: '❌ कृपया ताज़ा करने के लिए URL या निर्देशिकाएं निर्दिष्ट करें',
650
- cdn_sdk_required: '❌ Alibaba Cloud CDN SDK अनुपस्थित है',
651
- querying_quota: '📊 ताज़ा कोटा की जांच हो रही है...',
652
- quota_info: ' URL ताज़ा: {0}/दिन, {1} शेष | निर्देशिका: {2}/दिन, {3} शेष',
653
- refreshing_urls: '🔄 {0} URL ताज़ा हो रहे हैं...',
654
- refreshing_paths: '🔄 {0} निर्देशिकाएं ताज़ा हो रही हैं...',
655
- refresh_task_id: ' ✅ कार्य ID: {0}',
656
- refresh_urls_failed: ' ❌ URL ताज़ा विफल: {0}',
657
- refresh_paths_failed: ' ❌ निर्देशिका ताज़ा विफल: {0}',
658
- refresh_summary: '\n📊 ताज़ा सारांश',
659
- url_refresh_success: ' ✅ URL ताज़ा सफल, कार्य ID: {0}',
660
- path_refresh_success: ' ✅ निर्देशिका ताज़ा सफल, कार्य ID: {0}',
661
- refresh_error: '❌ ताज़ा विफल: {0}',
662
- file_not_found: '❌ फ़ाइल नहीं मिली: {0}',
663
- },
664
-
665
- // ── src/flash-note/flash-to-prd.ts ──────────────
666
- flashNote: {
667
- toPrd: {
668
- title: '📋 DingTalk Flash Note se PRD',
669
- help_usage: 'Upyog: openyida flash-to-prd --file <path> [--name <project-name>]',
670
- help_usage2: ' openyida flash-to-prd --name <project-name> (stdin se padhen)',
671
- help_args_title: 'Arguments:',
672
- help_arg_file: ' --file, -f <path> Flash note file path (.txt / .md)',
673
- help_arg_name: ' --name, -n <name> Project name (optional, auto-extracted)',
674
- help_arg_max_tokens: ' --max-tokens <count> AI max output tokens (default 8000)',
675
- help_examples_title: 'Examples:',
676
- help_example1: ' openyida flash-to-prd --file ./meeting-notes.txt --name "Equipment Inspection"',
677
- help_example2: ' cat meeting.txt | openyida flash-to-prd --name "Equipment Inspection"',
678
- step_read: '[Step 1] Flash note content padh rahe hain...',
679
- file_not_found: 'File nahi mili: {0}',
680
- no_input: 'Koi flash note content nahi diya gaya. --file se file specify karein ya stdin se content bhejein.',
681
- stdin_empty: 'Standard input khali hai',
682
- read_success: '✅ Safaltapoorvak padha, {0} characters',
683
- step_load_module: '[Step 2] Prompt builder module load ho raha hai...',
684
- module_loaded_builtin: '✅ Built-in prompt module load kiya gaya',
685
- module_loaded_local: '✅ Local prompt module load kiya gaya: {0}',
686
- module_not_found: '❌ build-flash-note-prompt.js module nahi mila',
687
- module_path_tried: ' Tried path {0}: {1}',
688
- step_preprocess: '[Step 3] Pre-processing + meeting recognition...',
689
- preprocess_result: ' Pre-processing: {0} chars -> {1} chars',
690
- meeting_meta: ' Meeting metadata: {0} fields{1}',
691
- a1_sections: ' A1 summary sections: {0}{1}',
692
- speakers: ' Speakers identified: {0}{1}',
693
- speakers_with_role: ' ({0} role annotations sahit)',
694
- step_login: '[Step 4] Login status check kar rahe hain...',
695
- no_login: ' Koi login session nahi mila, login shuru ho raha hai...',
696
- login_ready: '✅ Login taiyar ({0})',
697
- step_ai: '[Step 5] PRD banane ke liye AI ko call kar rahe hain...',
698
- single_segment: ' Single segment mode, prompt length: {0} chars',
699
- multi_segment: ' Multi-segment mode, total {0} segments',
700
- extracting_segment: ' Segment {0}/{1} extract kar rahe hain ({2} chars)...',
701
- merging_segments: ' Segment results merge kar rahe hain...',
702
- ai_success: '✅ PRD safaltapoorvak banaya gaya',
703
- ai_error: 'AI API call vifal: {0}',
704
- done: '✅ Flash note se PRD conversion poorn',
705
- done_project: ' Project name: {0}',
706
- done_file: ' Output file: {0}',
707
- done_size: ' File size: {0} characters',
708
- done_meeting: ' Meeting recognition: {0} metadata, {1} A1 sections, {2} speakers',
709
- },
710
- },
711
- update_app: {
712
- 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.',
713
- },
714
- aggregate_table: {
715
- usage: 'Usage: openyida aggregate-table <list|create-empty|inspect|preview|save|publish|status> <appType> ...',
716
- commands_title: 'Subcommands:',
717
- cmd_list: 'list <appType> [--keyword <text>] [--json] List aggregate tables in an app',
718
- cmd_create_empty: 'create-empty <appType> "<name>" [--open|--no-open] Create a blank aggregate table and return the designer URL',
719
- cmd_inspect: 'inspect <appType> <formUuid> [--json] Read aggregate table design config',
720
- cmd_preview: 'preview <appType> <formUuid> <design.json> [--json] Preview config without saving',
721
- cmd_save: 'save <appType> <formUuid> <design.json> [--json] Save an aggregate table draft',
722
- cmd_publish: 'publish <appType> <formUuid> <design.json> [--json] Publish aggregate table config',
723
- cmd_status: 'status <appType> <formUuid> [--json] Query aggregate table build status',
724
- examples_title: 'Examples:',
725
- example_list: 'openyida aggregate-table list APP_XXX',
726
- example_create_empty: 'openyida aggregate-table create-empty APP_XXX "Customer Contract Aggregate" --open',
727
- example_inspect: 'openyida aggregate-table inspect APP_XXX FORM_XXX --json',
728
- example_preview: 'openyida aggregate-table preview APP_XXX FORM_XXX .cache/openyida/aggregate/design.json',
729
- example_save: 'openyida aggregate-table save APP_XXX FORM_XXX .cache/openyida/aggregate/design.json',
730
- example_publish: 'openyida aggregate-table publish APP_XXX FORM_XXX .cache/openyida/aggregate/design.json',
731
- example_status: 'openyida aggregate-table status APP_XXX FORM_XXX',
732
- list_usage: 'Usage: openyida aggregate-table list <appType> [--keyword <text>] [--json]',
733
- create_empty_usage: 'Usage: openyida aggregate-table create-empty <appType> "<name>" [--locale zh_CN|en_US|ja_JP] [--open|--no-open]',
734
- inspect_usage: 'Usage: openyida aggregate-table inspect <appType> <formUuid> [--json]',
735
- preview_usage: 'Usage: openyida aggregate-table preview <appType> <formUuid> <design.json> [--json]',
736
- save_usage: 'Usage: openyida aggregate-table save <appType> <formUuid> <design.json> [--json]',
737
- publish_usage: 'Usage: openyida aggregate-table publish <appType> <formUuid> <design.json> [--json]',
738
- status_usage: 'Usage: openyida aggregate-table status <appType> <formUuid> [--json]',
739
- no_login: 'No login state found. Run openyida login first.',
740
- unsupported_locale: 'Unsupported locale: {0}',
741
- unknown_subcommand: 'Unknown aggregate-table subcommand: {0}',
742
- design_required: 'Missing aggregate table design JSON or file path',
743
- invalid_json: 'Aggregate table design config is not valid JSON: {0}',
744
- design_object_required: 'Aggregate table design config must be a JSON object',
745
- check_feature: 'Check aggregate table capability',
746
- feature_disabled: 'Aggregate table is not enabled for this app/org, or the edition quota has been reached',
747
- create_empty: 'Create blank aggregate table',
748
- inspect: 'Read aggregate table config',
749
- preview: 'Preview aggregate table config',
750
- save: 'Save aggregate table draft',
751
- publish: 'Publish aggregate table config',
752
- status: 'Query aggregate table build status',
753
- publish_requires_source: 'Publishing requires at least one data source. Configure relationForms first.',
754
- list_success: 'Aggregate table list',
755
- create_empty_success: 'Aggregate table created',
756
- inspect_success: 'Aggregate table config loaded',
757
- preview_success: 'Aggregate table preview succeeded',
758
- save_success: 'Aggregate table draft saved',
759
- publish_success: 'Aggregate table published',
760
- status_success: 'Aggregate table status loaded',
761
- },
762
- ai_form_setting: {
763
- usage: 'Usage: openyida ai-form-setting <get|fields|models|enable|disable|save> <appType> ...',
764
- commands_title: 'Subcommands:',
765
- cmd_get: 'get <appType> <formUuid> [--raw] [--json] Query AI approval prompt config',
766
- cmd_fields: 'fields <appType> <formUuid> [--type TEXT|IMAGE|ATTACHMENT] List insertable fields',
767
- cmd_models: 'models <appType> [--type TEXT|IMAGE|ATTACHMENT] List available models',
768
- cmd_enable: 'enable <appType> <formUuid> [--json] Enable AI approval prompts',
769
- cmd_disable: 'disable <appType> <formUuid> [--json] Disable AI approval prompts',
770
- cmd_save: 'save <appType> <formUuid> <config.json> [--enable] Save prompts and model config',
771
- examples_title: 'Examples:',
772
- example_get: 'openyida ai-form-setting get APP_XXX FORM_XXX --json',
773
- example_fields: 'openyida ai-form-setting fields APP_XXX FORM_XXX --type ATTACHMENT',
774
- example_models: 'openyida ai-form-setting models APP_XXX --type IMAGE',
775
- example_enable: 'openyida ai-form-setting enable APP_XXX FORM_XXX',
776
- example_save: 'openyida ai-form-setting save APP_XXX FORM_XXX .cache/openyida/ai-form-setting/config.json --enable',
777
- enable_disable_conflict: '--enable and --disable cannot be used together',
778
- invalid_type: 'Invalid prompt type: {0}. Valid values: {1}',
779
- invalid_status: 'Invalid AI approval prompt status: {0}',
780
- config_required: 'Missing AI approval prompt JSON config or file path',
781
- invalid_json: 'AI approval prompt config is not valid JSON: {0}',
782
- invalid_variable: 'Variable #{0} must be an object',
783
- variable_required: 'Variable #{0} must contain varName and fieldId',
784
- prompt_required: 'Prompt {0} is missing prompt/content',
785
- variables_array_required: 'variables must be an array',
786
- invalid_item: 'Prompt config #{0} must be an object',
787
- model_required: 'Prompt {0} is missing modelId',
788
- invalid_config_part: '{0} must be a JSON object or a valid JSON string',
789
- config_object_required: 'AI approval prompt config must be a JSON object or array',
790
- items_array_required: 'AI approval prompt config must contain an items array',
791
- too_many_items: 'AI approval prompts support up to {0} items',
792
- duplicate_item_id: 'Duplicate itemId: {0}',
793
- no_login: 'No login state found. Run openyida login first.',
794
- get_usage: 'Usage: openyida ai-form-setting get <appType> <formUuid> [--raw] [--json]',
795
- fields_usage: 'Usage: openyida ai-form-setting fields <appType> <formUuid> [--type TEXT|IMAGE|ATTACHMENT] [--json]',
796
- models_usage: 'Usage: openyida ai-form-setting models <appType> [--type TEXT|IMAGE|ATTACHMENT] [--json]',
797
- status_usage: 'Usage: openyida ai-form-setting <enable|disable> <appType> <formUuid> [--json]',
798
- save_usage: 'Usage: openyida ai-form-setting save <appType> <formUuid> <config.json> [--enable|--disable] [--json]',
799
- get_action: 'Query AI approval prompt config',
800
- fields_action: 'Query AI approval prompt fields',
801
- models_action: 'Query AI approval prompt models',
802
- status_action: 'Update AI approval prompt status',
803
- save_action: 'Save AI approval prompt config',
804
- get_success: 'AI approval prompt config',
805
- fields_success: 'AI approval prompt fields',
806
- models_success: 'AI approval prompt models',
807
- save_success: 'AI approval prompt config saved',
808
- enabled: 'AI approval prompts enabled',
809
- disabled: 'AI approval prompts disabled',
810
- unknown_subcommand: 'Unknown ai-form-setting subcommand: {0}',
811
- },
812
- safe_json: {
813
- hint_unquoted_key: 'A key looks unquoted (JSON requires all keys wrapped in double quotes, e.g. {"name":1})',
814
- hint_single_quote: 'Single quotes were likely used (JSON only allows double quotes ", not single quotes \')',
815
- hint_trailing_comma: 'There is likely a trailing comma (JSON does not allow a comma right before } or ])',
816
- hint_smart_quote: 'Smart / curly quotes were likely used (“ ” ‘ ’); replace them with standard ASCII double quotes "',
817
- hint_generic: 'Invalid JSON; please check it against the standard JSON syntax',
818
- label_cause: 'Likely cause: ',
819
- label_position: 'Error position: char ',
820
- label_raw: 'Raw error: ',
821
- label_suggestion: 'Suggestion: ',
822
- suggestion_file: 'For long or special-character content, pass it via a file path (--spec ./xxx.json / <file path>) to avoid shell-escaping issues',
823
- recovered_smart_quote: 'Detected smart / curly quotes; auto-normalized them to standard double quotes and parsed successfully. Prefer standard ASCII quotes at the source.',
824
- },
825
- codex_login: {
826
- title: ' openyida login {0} - {1} Login Mode',
827
- not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
828
- no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
829
- using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
830
- browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
831
- handoff_message: '{0} in-app Browser cannot complete CLI token login. Run openyida login.',
832
- cache_available: 'Existing CLI token session cache is available; no browser login needed.',
833
- },
834
- };