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.
- package/README.md +37 -2
- package/bin/yida.js +113 -18
- package/docs/capabilities.md +202 -0
- package/lib/agent-center/agent-center.js +2 -3
- package/lib/app/app-list.js +3 -4
- package/lib/app/build-page.js +13 -6
- package/lib/app/check-page.js +16 -6
- package/lib/app/compile.js +17 -7
- package/lib/app/create-app.js +14 -2
- package/lib/app/create-form/api-path.js +25 -0
- package/lib/app/create-form/args.js +13 -0
- package/lib/app/create-form/commands.js +4 -0
- package/lib/app/create-form/definition-reader.js +23 -23
- package/lib/app/create-form/field-normalizers.js +26 -7
- package/lib/app/create-form/schema-patch.js +4 -1
- package/lib/app/create-form.js +155 -68
- package/lib/app/create-page.js +47 -10
- package/lib/app/generate-page.js +20 -1
- package/lib/app/get-form-config.js +2 -1
- package/lib/app/get-schema.js +67 -15
- package/lib/app/import-app.js +94 -42
- package/lib/app/list-forms.js +4 -8
- package/lib/app/page-ir.js +140 -0
- package/lib/app/publish.js +289 -556
- package/lib/app/schema-field-resolution.js +370 -0
- package/lib/app/services/app-reader.js +85 -0
- package/lib/app/services/app-service.js +235 -0
- package/lib/app/services/canvas-page-compiler.js +91 -0
- package/lib/app/services/canvas-page-schema-builder.js +149 -0
- package/lib/app/services/field-bindings.js +68 -0
- package/lib/app/services/form-compiler.js +1922 -0
- package/lib/app/services/form-mode-service.js +182 -0
- package/lib/app/services/form-schema-patcher.js +333 -0
- package/lib/app/services/form-schema-reader.js +59 -0
- package/lib/app/services/form-service.js +379 -0
- package/lib/app/services/form-validation.js +562 -0
- package/lib/app/services/native-page-compiler.js +92 -0
- package/lib/app/services/native-page-schema-builder.js +428 -0
- package/lib/app/services/page-resource-service.js +185 -0
- package/lib/app/update-app.js +22 -9
- package/lib/app/update-form-config.js +4 -2
- package/lib/asset/asset-cmd.js +19 -6
- package/lib/auth/oauth-loopback.js +376 -15
- package/lib/auth/token-auth.js +34 -3
- package/lib/auth/token-store.js +22 -4
- package/lib/basic-info/basic-info.js +2 -1
- package/lib/bridge/bridge.js +43 -18
- package/lib/core/agent-capabilities.js +5 -3
- package/lib/core/command-errors.js +38 -0
- package/lib/core/command-manifest.js +59 -1
- package/lib/core/copy.js +12 -0
- package/lib/core/doctor.js +15 -4
- package/lib/core/env-cmd.js +1 -1
- package/lib/core/env.js +7 -6
- package/lib/core/i18n.js +66 -8
- package/lib/core/legacy-schema-guard.js +408 -0
- package/lib/core/locales/en.js +38 -46
- package/lib/core/locales/zh.js +30 -46
- package/lib/core/sample.js +12 -2
- package/lib/core/utils.js +334 -66
- package/lib/core/yida-client.js +108 -5
- package/lib/corp-efficiency/corp-efficiency.js +2 -2
- package/lib/corp-manager/corp-manager.js +3 -3
- package/lib/formula/evaluate.js +11 -68
- package/lib/formula/field-refs.js +83 -0
- package/lib/i18n-management/i18n-management.js +2 -3
- package/lib/process/configure-process.js +44 -1992
- package/lib/process/create-process.js +54 -87
- package/lib/process/preview-process.js +20 -8
- package/lib/process/services/process-compiler.js +2056 -0
- package/lib/process/services/process-reader.js +232 -0
- package/lib/process/services/process-resource-service.js +571 -0
- package/lib/process/services/process-service.js +122 -0
- package/lib/process/services/process-stage-checkpoint.js +246 -0
- package/lib/report/append.js +7 -26
- package/lib/report/http.js +31 -5
- package/lib/report/index.js +10 -2
- package/lib/samples/yida-canvas-custom-page/business-list.canvas.jsx +63 -14
- package/lib/samples/yida-canvas-custom-page/dashboard-overview.canvas.jsx +176 -32
- package/lib/samples/yida-canvas-custom-page/dashboard-starter.canvas.jsx +5 -2
- package/lib/samples/yida-canvas-custom-page/data-management.canvas.jsx +228 -14
- package/lib/samples/yida-canvas-custom-page/portal-shell-home.canvas.jsx +2 -2
- package/lib/samples/yida-canvas-custom-page/split-pane-detail.canvas.jsx +206 -10
- package/lib/samples/yida-custom-page/data-management.oyd.jsx +14 -3
- package/lib/samples/yida-custom-page/design-tokens.js +2 -2
- package/lib/samples/yida-custom-page/detail-profile.oyd.jsx +1 -1
- package/lib/samples/yida-custom-page/portal-shell-home.oyd.jsx +7 -2
- package/lib/samples/yida-custom-page/split-pane-detail.oyd.jsx +2 -1
- package/lib/schema/adapters/app-adapter.js +210 -0
- package/lib/schema/adapters/form-adapter.js +1362 -0
- package/lib/schema/adapters/keys.js +19 -0
- package/lib/schema/adapters/page-adapter.js +566 -0
- package/lib/schema/adapters/process-adapter.js +519 -0
- package/lib/schema/applier.js +1878 -0
- package/lib/schema/apply-store.js +1083 -0
- package/lib/schema/command.js +645 -0
- package/lib/schema/dependency-graph.js +83 -0
- package/lib/schema/errors.js +481 -0
- package/lib/schema/hash.js +9 -0
- package/lib/schema/manifest-limits.js +177 -0
- package/lib/schema/manifest-loader.js +309 -0
- package/lib/schema/manifest-schema-v1.json +193 -0
- package/lib/schema/normalize-manifest.js +281 -0
- package/lib/schema/page-canvas-foundation.js +447 -0
- package/lib/schema/page-data-source-builder.js +561 -0
- package/lib/schema/page-foundation.js +556 -0
- package/lib/schema/page-source-loader.js +314 -0
- package/lib/schema/planner.js +691 -0
- package/lib/schema/remote-dispatch-boundary.js +39 -0
- package/lib/schema/remote-missing.js +21 -0
- package/lib/schema/remote-reader.js +189 -0
- package/lib/schema/resource-registry.js +157 -0
- package/lib/schema/server-revision.js +71 -0
- package/lib/schema/sort.js +28 -0
- package/lib/schema/state-store.js +589 -0
- package/package.json +10 -8
- package/scripts/check-release-risks.js +254 -0
- package/scripts/generate-command-docs.js +6 -1
- package/scripts/i18n-baseline.json +11 -11
- package/scripts/postinstall.js +8 -12
- package/scripts/validate-ci.sh +15 -11
- package/scripts/validate-i18n.js +30 -9
- package/scripts/validate-package-size.js +5 -2
- package/scripts/validate-skills.js +4 -0
- package/scripts/validate-structure.js +15 -0
- package/yida-skills/SKILL.md +117 -30
- package/yida-skills/references/schema-as-code-phase1.md +99 -0
- package/yida-skills/references/setup-and-env.md +59 -59
- package/yida-skills/references/task-retrospective.md +6 -6
- package/yida-skills/skills/yida-app/SKILL.md +78 -17
- package/yida-skills/skills/yida-canvas-custom-page/SKILL.md +18 -7
- package/yida-skills/skills/yida-canvas-custom-page/references/data-bridge-guide.md +3 -3
- package/yida-skills/skills/yida-canvas-custom-page/references/page-generation-guide.md +15 -0
- package/yida-skills/skills/yida-create-app/SKILL.md +21 -3
- package/yida-skills/skills/yida-create-form-page/SKILL.md +19 -1
- package/yida-skills/skills/yida-create-page/SKILL.md +16 -3
- package/yida-skills/skills/yida-create-process/SKILL.md +100 -4
- package/yida-skills/skills/yida-custom-page/SKILL.md +19 -4
- package/yida-skills/skills/yida-dashboard/SKILL.md +1 -1
- package/yida-skills/skills/yida-dashboard/references/pitfalls.md +1 -1
- package/yida-skills/skills/yida-get-schema/SKILL.md +49 -5
- package/yida-skills/skills/yida-i18n/SKILL.md +1 -1
- package/yida-skills/skills/yida-integration/SKILL.md +7 -1
- package/yida-skills/skills/yida-login/SKILL.md +50 -99
- package/yida-skills/skills/yida-page-config/SKILL.md +7 -1
- package/yida-skills/skills/yida-page-uiux/references/app/blueprint.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/app/navigation-patterns.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/app/role-journey.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/dashboard/app-blueprint.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/dashboard/chart-contracts.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/dashboard/component-contracts.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/dashboard/layout-patterns.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/dashboard/theme-recipes.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/detail/object-narrative.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/detail/section-patterns.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/detail/timeline-and-related.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/landing/assets-workflow.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/landing/industry-playbooks.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/landing/research-levels.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/landing/section-patterns.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/list/drawer-detail.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/list/empty-loading-error.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/list/filter-patterns.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/list/table-patterns.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/scenes/screen.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/workbench/entry-patterns.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/workbench/portal-layouts.md +0 -1
- package/yida-skills/skills/yida-page-uiux/references/workbench/task-feed.md +0 -1
- package/yida-skills/skills/yida-page-uiux/workflow/output-decision-block.md +1 -1
- package/yida-skills/skills/yida-process-rule/SKILL.md +35 -1
- package/yida-skills/skills/yida-publish-page/SKILL.md +46 -4
- package/yida-skills/skills/yida-report/SKILL.md +9 -235
- package/yida-skills/skills/yida-report/references/schema-builder-details.md +239 -0
- package/yida-skills/skills/yida-skill-evaluator/SKILL.md +170 -0
- package/yida-skills/skills-index.json +238 -54
- package/lib/core/locales/ar.js +0 -834
- package/lib/core/locales/de.js +0 -834
- package/lib/core/locales/es.js +0 -834
- package/lib/core/locales/fr.js +0 -834
- package/lib/core/locales/hi.js +0 -834
- package/lib/core/locales/ja.js +0 -1227
- package/lib/core/locales/ko.js +0 -836
- package/lib/core/locales/pt.js +0 -834
- package/lib/core/locales/vi.js +0 -834
- package/lib/core/locales/zh-HK.js +0 -1263
- package/project/pages/src/demo-birthday-game.oyd.jsx +0 -832
- package/project/pages/src/demo-chip-insight.oyd.jsx +0 -983
- package/project/pages/src/demo-compat-smoke.oyd.jsx +0 -58
- package/project/pages/src/demo-crm-batch-entry.oyd.jsx +0 -805
- package/project/pages/src/demo-crm-dashboard.oyd.jsx +0 -677
- package/project/pages/src/demo-future-vision-2026.oyd.jsx +0 -1102
- package/project/pages/src/demo-ppt.oyd.jsx +0 -1192
- package/project/pages/src/demo-salary-calculator.oyd.jsx +0 -904
- package/project/pages/src/openyida-knowledge-doc.oyd.jsx +0 -1714
- package/yida-skills/skills/large-file-write/SKILL.md +0 -93
- package/yida-skills/skills/large-file-write/references/write-patterns.md +0 -147
- package/yida-skills/skills/large-file-write/scripts/write.js +0 -157
- package/yida-skills/skills/sls-log-workbench/SKILL.md +0 -134
- package/yida-skills/skills/sls-log-workbench/references/workbench-reference.md +0 -130
- package/yida-skills/skills/sls-log-workbench/sls-query.js +0 -295
package/lib/core/locales/fr.js
DELETED
|
@@ -1,834 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Pack de langue français (French)
|
|
5
|
-
*/
|
|
6
|
-
module.exports = {
|
|
7
|
-
// ── bin/yida.js printHelp() ────────────────────────
|
|
8
|
-
help: {
|
|
9
|
-
subtitle: 'Outil de développement IA low-code pour Yida',
|
|
10
|
-
usage: 'Utilisation :',
|
|
11
|
-
alias: 'Alias :',
|
|
12
|
-
group_auth: 'Environnement & Authentification',
|
|
13
|
-
cmd_login: 'Login with OAuth token mode',
|
|
14
|
-
cmd_logout: 'Déconnexion / changer de compte',
|
|
15
|
-
cmd_auth: 'Gestion de l\'état de connexion',
|
|
16
|
-
cmd_org: 'Gestion des organisations (lister / changer)',
|
|
17
|
-
cmd_env: 'Détecter l\'environnement IA et l\'état de connexion',
|
|
18
|
-
cmd_env_management: 'Gérer les profils d\'environnement public/privé',
|
|
19
|
-
group_app: 'Gestion des applications',
|
|
20
|
-
cmd_app_list: 'Lister mes applications Yida',
|
|
21
|
-
cmd_corp_efficiency: 'Consulter l\'aperçu de l\'efficacité entreprise et les rapports détaillés',
|
|
22
|
-
cmd_create_app: 'Créer une application Yida',
|
|
23
|
-
cmd_update_app: 'Mettre à jour les infos de l\'application',
|
|
24
|
-
cmd_nav_group: 'Gérer les groupes de navigation latérale de l\'application',
|
|
25
|
-
cmd_app_permission: 'Gérer les admins principaux, données et développement de l\'app',
|
|
26
|
-
cmd_i18n: 'Gérer les textes multilingues et langues de l\'app',
|
|
27
|
-
cmd_export: 'Exporter l\'application (package de migration)',
|
|
28
|
-
cmd_import: 'Importer un package de migration',
|
|
29
|
-
group_form: 'Formulaires & Pages',
|
|
30
|
-
cmd_create_form: 'Créer une page de formulaire',
|
|
31
|
-
cmd_update_form: 'Mettre à jour une page de formulaire',
|
|
32
|
-
cmd_list_forms: 'Lister les formulaires/pages d\'une app',
|
|
33
|
-
cmd_aggregate_table: 'Manage aggregate tables (virtualView)',
|
|
34
|
-
cmd_er: 'Export app entity relationship diagram',
|
|
35
|
-
cmd_get_schema: 'Obtenir le Schema du formulaire',
|
|
36
|
-
cmd_create_page: 'Créer une page d\'affichage personnalisée',
|
|
37
|
-
cmd_generate_page: 'Generate page from curated template',
|
|
38
|
-
cmd_check_page: 'Check custom page standards',
|
|
39
|
-
cmd_compile: 'Compiler la page personnalisée en local',
|
|
40
|
-
cmd_publish: 'Compiler et publier une page personnalisée',
|
|
41
|
-
cmd_update_form_config: 'Mettre à jour la configuration du formulaire',
|
|
42
|
-
group_data: 'Données & Permissions',
|
|
43
|
-
cmd_data: 'Gestion unifiée des données (formulaire/processus/tâche/sous-formulaire)',
|
|
44
|
-
cmd_task_center: 'Centre de tâches global (à faire/traité/CC etc.)',
|
|
45
|
-
cmd_basic_info: "Consulter les infos d'organisation, capacités, quotas et domaine",
|
|
46
|
-
cmd_get_permission: 'Consulter la configuration des permissions',
|
|
47
|
-
cmd_save_permission: 'Enregistrer la configuration des permissions',
|
|
48
|
-
cmd_corp_manager: 'Gérer les permissions de plateforme',
|
|
49
|
-
cmd_agent_center: 'Gérer les délégations de processus et départs',
|
|
50
|
-
group_process: 'Processus',
|
|
51
|
-
cmd_configure_process: 'Configurer et publier les règles de processus',
|
|
52
|
-
cmd_create_process: 'Créer un formulaire de processus (tout-en-un)',
|
|
53
|
-
cmd_ai_form_setting: 'Manage process form AI approval prompts',
|
|
54
|
-
cmd_process_preview: 'Aperçu de l\'instance de processus (organigramme)',
|
|
55
|
-
group_share: 'Configuration & Partage de page',
|
|
56
|
-
cmd_verify_url: 'Vérifier l\'URL courte',
|
|
57
|
-
cmd_save_share: 'Enregistrer la configuration d\'accès public / partage',
|
|
58
|
-
cmd_get_page_config: 'Consulter la configuration d\'accès public',
|
|
59
|
-
cmd_externalize_form: 'Plan external access-safe mirror fields',
|
|
60
|
-
group_report: 'Rapports',
|
|
61
|
-
cmd_create_report: 'Créer un rapport Yida',
|
|
62
|
-
cmd_append_chart: 'Ajouter un graphique à un rapport existant',
|
|
63
|
-
group_connector: 'Connecteurs',
|
|
64
|
-
cmd_connector_list: 'Lister les connecteurs HTTP',
|
|
65
|
-
cmd_connector_create: 'Créer un connecteur',
|
|
66
|
-
cmd_connector_detail: 'Voir les détails du connecteur',
|
|
67
|
-
cmd_connector_delete: 'Supprimer un connecteur',
|
|
68
|
-
cmd_connector_add_action: 'Ajouter une action',
|
|
69
|
-
cmd_connector_list_actions: 'Lister les actions',
|
|
70
|
-
cmd_connector_delete_action: 'Supprimer une action',
|
|
71
|
-
cmd_connector_test: 'Tester une action',
|
|
72
|
-
cmd_connector_list_connections: 'Lister les connexions d\'authentification',
|
|
73
|
-
cmd_connector_create_connection: 'Créer une connexion d\'authentification',
|
|
74
|
-
cmd_connector_smart: 'Création intelligente (depuis cURL)',
|
|
75
|
-
cmd_connector_parse_api: 'Analyser les informations API',
|
|
76
|
-
cmd_connector_gen_template: 'Générer le modèle de document API',
|
|
77
|
-
cmd_connector_more: 'Voir plus de sous-commandes',
|
|
78
|
-
group_integration: 'Intégration & DingTalk',
|
|
79
|
-
cmd_integration: 'Créer un flux d\'automatisation',
|
|
80
|
-
cmd_integration_list: 'Lister les flux d\'automatisation',
|
|
81
|
-
cmd_integration_enable: 'Activer un flux d\'automatisation',
|
|
82
|
-
cmd_integration_disable: 'Désactiver un flux d\'automatisation',
|
|
83
|
-
cmd_integration_check: 'Check abnormal integration automation run logs',
|
|
84
|
-
cmd_dws: 'DingTalk CLI (contacts/calendrier/tâches/approbation etc.)',
|
|
85
|
-
cmd_dingtalk_link: 'Générer des liens DingTalk AppLink / dingtalk:// historiques',
|
|
86
|
-
group_utility: 'Utilitaires',
|
|
87
|
-
cmd_commands: 'Afficher le manifeste des commandes lisible par machine',
|
|
88
|
-
cmd_agent_capabilities: 'Afficher un instantané unique des capacités agent',
|
|
89
|
-
cmd_a2a: 'Démarrer l’adaptateur A2A local en lecture seule ou afficher l’Agent Card',
|
|
90
|
-
cmd_bridge: 'Démarrer le service web bridge local OpenYida',
|
|
91
|
-
cmd_db_seq_fix: 'Detect and repair PostgreSQL sequence drift',
|
|
92
|
-
cmd_copy: 'Copier le répertoire de travail project',
|
|
93
|
-
cmd_sample: 'Exporter des exemples/modèles de code',
|
|
94
|
-
cmd_doctor: 'Diagnostic d\'environnement et réparation auto',
|
|
95
|
-
cmd_update: 'Vérifier et mettre à jour vers la dernière version',
|
|
96
|
-
cmd_export_conversation: 'Exporter les enregistrements de conversation IA',
|
|
97
|
-
cmd_feedback: 'Configurer le formulaire de retour et les rappels locaux',
|
|
98
|
-
cmd_batch: 'Exécuter des commandes OpenYida en lot',
|
|
99
|
-
cmd_flash_to_prd: 'Convertir des notes flash ou de réunion en prompt PRD',
|
|
100
|
-
cmd_ai: 'Call Yida AI text and image recognition APIs',
|
|
101
|
-
cmd_asset: 'Détecter les capacités de ressources / vérifier les URL d\'images / résoudre les assets',
|
|
102
|
-
cmd_cdn: 'Gestion d\'images CDN (config/upload/rafraîchir)',
|
|
103
|
-
cmd_cdn_config: 'Configurer l\'upload CDN / OSS',
|
|
104
|
-
cmd_cdn_upload: 'Uploader une image vers le CDN',
|
|
105
|
-
cmd_cdn_refresh: 'Rafraîchir le cache CDN',
|
|
106
|
-
quickstart_title: 'Démarrage rapide',
|
|
107
|
-
quickstart_app_name: 'Gestion des présences',
|
|
108
|
-
quickstart_form_name: 'Info employé',
|
|
109
|
-
docs: '📚 Docs :',
|
|
110
|
-
},
|
|
111
|
-
|
|
112
|
-
// ── bin/yida.js ────────────────────────────────────
|
|
113
|
-
cli: {
|
|
114
|
-
integration_help: 'Utilisation : openyida integration <create|list|enable|disable> ...',
|
|
115
|
-
integration_unknown: 'Sous-commande integration inconnue : {0}',
|
|
116
|
-
integration_help_hint: 'Utilisez openyida integration --help pour voir les sous-commandes disponibles',
|
|
117
|
-
integration_list_usage: 'Utilisation : openyida integration list <appType> [--form-uuid <uuid>] [--status y|n] [--key <kw>] [--page <n>] [--size <n>] [--json]',
|
|
118
|
-
integration_list_example: 'Exemple : openyida integration list APP_XXX --form-uuid FORM-XXX --json',
|
|
119
|
-
integration_enable_usage: 'Utilisation : openyida integration enable <appType> <formUuid> <processCode>',
|
|
120
|
-
integration_enable_example: 'Exemple : openyida integration enable APP_XXX FORM-XXX LPROC-XXX',
|
|
121
|
-
integration_disable_usage: 'Utilisation : openyida integration disable <appType> <formUuid> <processCode>',
|
|
122
|
-
integration_disable_example: 'Exemple : openyida integration disable APP_XXX FORM-XXX LPROC-XXX',
|
|
123
|
-
compile_usage: 'Utilisation : openyida compile <sourceFile>',
|
|
124
|
-
compile_example: 'Exemple : 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 - Détection de l'environnement IA",
|
|
173
|
-
detecting: " Détection de l'environnement IA...",
|
|
174
|
-
tool_label: ' Outil IA : {0}',
|
|
175
|
-
login_label: ' Connexion : {0}',
|
|
176
|
-
logged_in: 'Connecté',
|
|
177
|
-
not_logged_in: 'Non connecté',
|
|
178
|
-
corp_label: ' Organisation : {0}',
|
|
179
|
-
version_label: ' Version : {0}',
|
|
180
|
-
},
|
|
181
|
-
|
|
182
|
-
// ── lib/auth/token-auth.js ────────────────────────────────────
|
|
183
|
-
login: {
|
|
184
|
-
title: '🔐 Connexion Yida',
|
|
185
|
-
cache_found: ' Informations de connexion en cache trouvées, validation en cours...',
|
|
186
|
-
cache_valid: '✅ Les informations de connexion en cache sont valides !',
|
|
187
|
-
cache_invalid: ' Les informations de connexion en cache ont expiré. Reconnexion requise.',
|
|
188
|
-
starting_qr: ' Démarrage de la connexion par QR code...',
|
|
189
|
-
success: '✅ Connexion réussie !',
|
|
190
|
-
failed: '❌ Échec de la connexion : {0}',
|
|
191
|
-
usage: 'Utilisation : openyida login',
|
|
192
|
-
},
|
|
193
|
-
|
|
194
|
-
// ── lib/logout.js ───────────────────────────────────
|
|
195
|
-
logout: {
|
|
196
|
-
title: '🚪 Déconnexion Yida',
|
|
197
|
-
success: '✅ Déconnexion réussie ! Les informations de connexion ont été supprimées.',
|
|
198
|
-
no_cache: ' Aucune information de connexion trouvée. Déjà déconnecté.',
|
|
199
|
-
failed: '❌ Échec de la déconnexion : {0}',
|
|
200
|
-
},
|
|
201
|
-
|
|
202
|
-
// ── lib/create-app.js ───────────────────────────────
|
|
203
|
-
create_app: {
|
|
204
|
-
usage: 'Utilisation : openyida create-app "<nom app>" ou openyida create-app --name "<nom app>" [--desc "..."] [--theme deepBlue]',
|
|
205
|
-
example: 'Exemple : openyida create-app --name "Mon App" --desc "Description app" --theme deepBlue',
|
|
206
|
-
title: " create-app - Outil de création d'application Yida",
|
|
207
|
-
app_name: "\n Nom de l'app : {0}",
|
|
208
|
-
app_desc: ' Description : {0}',
|
|
209
|
-
app_icon: ' Icône : {0} ({1})',
|
|
210
|
-
app_theme: ' Thème : colour={0} navTheme={1} layout={2}',
|
|
211
|
-
step_create: "\n🚀 Création de l'application...",
|
|
212
|
-
sending_request: ' Envoi de la requête createApp...',
|
|
213
|
-
success: ' ✅ Application créée avec succès !',
|
|
214
|
-
app_id: " ID de l'app : {0}",
|
|
215
|
-
failed: ' ❌ Échec de la création : {0}',
|
|
216
|
-
error: '\n❌ Erreur de création : {0}',
|
|
217
|
-
},
|
|
218
|
-
|
|
219
|
-
// ── lib/create-form.js ──────────────────────────────
|
|
220
|
-
create_form: {
|
|
221
|
-
usage: 'Utilisation : openyida create-form <appType> <nom de la page> [JSON du schéma]',
|
|
222
|
-
title: ' create-form - Outil de création/mise à jour de formulaire Yida',
|
|
223
|
-
app_id: "\n ID de l'app : {0}",
|
|
224
|
-
page_name: ' Nom de la page : {0}',
|
|
225
|
-
step_create: '\n📝 Création de la page de formulaire...',
|
|
226
|
-
sending_request: ' Envoi de la requête saveFormSchema...',
|
|
227
|
-
success: ' ✅ Page de formulaire créée avec succès !',
|
|
228
|
-
form_uuid: ' UUID du formulaire : {0}',
|
|
229
|
-
failed: ' ❌ Échec de la création : {0}',
|
|
230
|
-
error: '\n❌ Erreur de création : {0}',
|
|
231
|
-
step_check_data: '\n🔍 Étape {0} : Vérifier si le formulaire contient des données',
|
|
232
|
-
data_exists_warning: ' ⚠️ Ce formulaire contient déjà {0} enregistrements ! La modification de la structure peut entraîner :',
|
|
233
|
-
data_exists_impact: ' - Perte ou corruption des données historiques\n - Anomalies de statut de processus\n - Incohérence des données',
|
|
234
|
-
data_exists_abort: ' ❌ Modification annulée. Ajoutez --force pour continuer.',
|
|
235
|
-
data_exists_confirm_message: 'Ce formulaire contient {0} enregistrements existants. La modification de la structure peut affecter les données existantes. Ajoutez --force pour confirmer.',
|
|
236
|
-
data_exists_force_hint: 'Utilisation : openyida create-form update <appType> <formUuid> <changesJson> --force',
|
|
237
|
-
data_exists_force_proceed: ' ⚠️ Mode --force : confirmation ignorée, modification forcée de la structure avec {0} enregistrements existants',
|
|
238
|
-
data_check_empty: ' ✅ Le formulaire ne contient aucune donnée, modification sûre',
|
|
239
|
-
data_check_failed: ' ⚠️ Échec de la vérification des données, poursuite de la modification',
|
|
240
|
-
},
|
|
241
|
-
|
|
242
|
-
// ── lib/create-page.js ──────────────────────────────
|
|
243
|
-
create_page: {
|
|
244
|
-
usage: 'Utilisation : openyida create-page <appType> <nom de la page> [--mode dashboard]',
|
|
245
|
-
example: 'Exemple : openyida create-page APP_XXX "Dashboard" --mode dashboard',
|
|
246
|
-
title: ' create-page - Outil de création de page personnalisée Yida',
|
|
247
|
-
app_id: "\n ID de l'app : {0}",
|
|
248
|
-
page_name: ' Nom de la page : {0}',
|
|
249
|
-
step_create: '\n📄 Création de la page personnalisée...',
|
|
250
|
-
success: ' ✅ Page personnalisée créée avec succès !',
|
|
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 de la page : {0}',
|
|
257
|
-
failed: ' ❌ Échec de la création : {0}',
|
|
258
|
-
error: '\n❌ Erreur de création : {0}',
|
|
259
|
-
},
|
|
260
|
-
|
|
261
|
-
// ── lib/get-schema.js ───────────────────────────────
|
|
262
|
-
get_schema: {
|
|
263
|
-
usage: 'Utilisation : openyida get-schema <appType> <formUuid>',
|
|
264
|
-
title: ' get-schema - Outil de récupération du schéma Yida',
|
|
265
|
-
app_id: "\n ID de l'app : {0}",
|
|
266
|
-
form_uuid: ' UUID du formulaire : {0}',
|
|
267
|
-
step_get: '\n📋 Récupération du schéma...',
|
|
268
|
-
success: ' ✅ Schéma récupéré avec succès !',
|
|
269
|
-
failed: ' ❌ Échec de la récupération : {0}',
|
|
270
|
-
error: '\n❌ Erreur de récupération : {0}',
|
|
271
|
-
},
|
|
272
|
-
|
|
273
|
-
// ── lib/check-update.js ─────────────────────────────
|
|
274
|
-
check_update: {
|
|
275
|
-
new_version: '\n🎉 Nouvelle version disponible : {0} → {1}',
|
|
276
|
-
update_cmd: ' Mise à jour : npm install -g openyida',
|
|
277
|
-
check_failed: 'Échec de la vérification de version : {0}',
|
|
278
|
-
},
|
|
279
|
-
|
|
280
|
-
// ── lib/update.js ──────────────────────────────────
|
|
281
|
-
update: {
|
|
282
|
-
checking: 'Vérification de la dernière version...',
|
|
283
|
-
fetch_failed: 'Impossible de récupérer la dernière version. Vérifiez votre connexion réseau',
|
|
284
|
-
already_latest: 'Déjà à jour ({0}), aucune mise à jour nécessaire',
|
|
285
|
-
found_new_version: 'Nouvelle version disponible : {0} (actuelle : {1})',
|
|
286
|
-
installing: 'Installation de openyida@latest...',
|
|
287
|
-
success: 'Mise à jour réussie ! Version actuelle : {0}',
|
|
288
|
-
install_failed: 'Échec de la mise à jour : {0}',
|
|
289
|
-
manual_hint: 'Essayez manuellement : npm install -g openyida@latest',
|
|
290
|
-
available: 'mise à jour disponible',
|
|
291
|
-
up_to_date: 'à jour',
|
|
292
|
-
label_install: 'Install',
|
|
293
|
-
label_channel: 'Channel',
|
|
294
|
-
label_version: 'Version',
|
|
295
|
-
label_update: 'Update',
|
|
296
|
-
done: 'Mise à jour terminée !',
|
|
297
|
-
done_hint: 'Exécutez openyida --version pour confirmer la nouvelle version',
|
|
298
|
-
},
|
|
299
|
-
|
|
300
|
-
// ── lib/export-app.js ───────────────────────────────
|
|
301
|
-
export_app: {
|
|
302
|
-
usage: 'Utilisation : openyida export-app <appType>',
|
|
303
|
-
title: " export-app - Outil d'exportation d'application Yida",
|
|
304
|
-
app_id: "\n ID de l'app : {0}",
|
|
305
|
-
step_export: "\n📦 Exportation de l'application...",
|
|
306
|
-
success: ' ✅ Application exportée avec succès !',
|
|
307
|
-
failed: " ❌ Échec de l'exportation : {0}",
|
|
308
|
-
error: "\n❌ Erreur d'exportation : {0}",
|
|
309
|
-
},
|
|
310
|
-
|
|
311
|
-
// ── lib/import-app.js ───────────────────────────────
|
|
312
|
-
import_app: {
|
|
313
|
-
usage: 'Utilisation : openyida import-app <chemin du fichier>',
|
|
314
|
-
title: " import-app - Outil d'importation d'application Yida",
|
|
315
|
-
file_path: '\n Chemin du fichier : {0}',
|
|
316
|
-
step_import: "\n📥 Importation de l'application...",
|
|
317
|
-
success: ' ✅ Application importée avec succès !',
|
|
318
|
-
failed: " ❌ Échec de l'importation : {0}",
|
|
319
|
-
error: "\n❌ Erreur d'importation : {0}",
|
|
320
|
-
},
|
|
321
|
-
|
|
322
|
-
// ── lib/get-page-config.js ──────────────────────────
|
|
323
|
-
get_page_config: {
|
|
324
|
-
usage: 'Utilisation : openyida get-page-config <appType> <formUuid>',
|
|
325
|
-
title: ' get-page-config - Outil de récupération de configuration de page Yida',
|
|
326
|
-
app_id: "\n ID de l'app : {0}",
|
|
327
|
-
form_uuid: ' UUID du formulaire : {0}',
|
|
328
|
-
step_get: '\n🔍 Récupération de la configuration...',
|
|
329
|
-
success: ' ✅ Configuration récupérée avec succès !',
|
|
330
|
-
failed: ' ❌ Échec de la récupération : {0}',
|
|
331
|
-
error: '\n❌ Erreur de récupération : {0}',
|
|
332
|
-
},
|
|
333
|
-
|
|
334
|
-
// ── lib/save-share-config.js ────────────────────────
|
|
335
|
-
save_share_config: {
|
|
336
|
-
usage: 'Utilisation : openyida save-share-config <appType> <formUuid> <openUrl> <isOpen> [openAuth]',
|
|
337
|
-
title: " save-share-config - Outil de sauvegarde de configuration d'accès public Yida",
|
|
338
|
-
app_id: "\n ID de l'app : {0}",
|
|
339
|
-
form_uuid: ' UUID du formulaire : {0}',
|
|
340
|
-
open_url: ' URL publique : {0}',
|
|
341
|
-
is_open: ' Accès public : {0}',
|
|
342
|
-
open_auth: ' Auth requise : {0}',
|
|
343
|
-
step_validate: '\n📋 Step 0 : Validation des paramètres',
|
|
344
|
-
validate_ok: ' ✅ Validation réussie',
|
|
345
|
-
validate_failed: ' ❌ Validation échouée : {0}',
|
|
346
|
-
step_save: "\n💾 Step 2 : Sauvegarde de la configuration d'accès public",
|
|
347
|
-
sending_request: ' Envoi de la requête saveShareConfig...',
|
|
348
|
-
save_ok: ' ✅ Configuration sauvegardée avec succès !',
|
|
349
|
-
save_ok_msg: "Configuration d'accès public sauvegardée",
|
|
350
|
-
save_failed: ' ❌ Échec de la sauvegarde : {0}',
|
|
351
|
-
save_failed_msg: 'Échec de la sauvegarde',
|
|
352
|
-
err_is_open_invalid: 'isOpen doit être y ou n. Valeur actuelle : {0}',
|
|
353
|
-
err_open_auth_invalid: 'openAuth doit être y ou n. Valeur actuelle : {0}',
|
|
354
|
-
err_open_url_required: "openUrl est requis pour activer l'accès public",
|
|
355
|
-
err_open_url_prefix: 'openUrl doit commencer par /o/. Valeur actuelle : {0}',
|
|
356
|
-
err_open_url_chars: 'Le chemin openUrl ne supporte que a-z A-Z 0-9 _ - et / comme séparateur de segment. Valeur actuelle : {0}',
|
|
357
|
-
err_open_url_empty: 'Le chemin openUrl ne peut pas être vide : {0}',
|
|
358
|
-
},
|
|
359
|
-
|
|
360
|
-
// ── lib/update-form-config.js ──────────────────────
|
|
361
|
-
update_form_config: {
|
|
362
|
-
usage: 'Utilisation : openyida update-form-config <appType> <formUuid> <isRenderNav> <title>',
|
|
363
|
-
title: ' update-form-config - Outil de mise à jour de configuration de formulaire Yida',
|
|
364
|
-
app_id: "\n ID de l'app : {0}",
|
|
365
|
-
form_uuid: ' UUID du formulaire : {0}',
|
|
366
|
-
is_render_nav: ' Afficher nav : {0}',
|
|
367
|
-
page_title: ' Titre de la page : {0}',
|
|
368
|
-
step_update: '\n💾 Step 2 : Mise à jour de la configuration',
|
|
369
|
-
sending_request: ' Envoi de la requête updateFormSchemaInfo...',
|
|
370
|
-
update_ok: ' ✅ Configuration mise à jour avec succès !',
|
|
371
|
-
nav_shown: 'Navigation supérieure affichée',
|
|
372
|
-
nav_hidden: 'Navigation supérieure masquée',
|
|
373
|
-
update_failed: ' ❌ Échec de la mise à jour : {0}',
|
|
374
|
-
update_failed_msg: 'Échec de la mise à jour',
|
|
375
|
-
},
|
|
376
|
-
|
|
377
|
-
// ── lib/verify-short-url.js ────────────────────────
|
|
378
|
-
verify_short_url: {
|
|
379
|
-
usage: 'Utilisation : openyida verify-short-url <appType> <formUuid> <url>',
|
|
380
|
-
title: " verify-short-url - Outil de vérification d'URL Yida",
|
|
381
|
-
app_id: "\n ID de l'app : {0}",
|
|
382
|
-
form_uuid: ' UUID du formulaire : {0}',
|
|
383
|
-
step_validate: "\n📋 Step 0 : Validation du format d'URL",
|
|
384
|
-
validate_ok: ' ✅ Format validé',
|
|
385
|
-
validate_failed: ' ❌ Validation échouée : {0}',
|
|
386
|
-
step_verify: "\n🔍 Step 2 : Vérification de l'URL",
|
|
387
|
-
sending_request: ' Envoi de la requête verifyShortUrl...',
|
|
388
|
-
url_available: " ✅ L'URL est disponible !",
|
|
389
|
-
open_available_msg: "Cette URL d'accès public est disponible",
|
|
390
|
-
share_available_msg: 'Cette URL de partage interne est disponible',
|
|
391
|
-
url_taken: " ❌ L'URL est déjà utilisée",
|
|
392
|
-
url_taken_msg: 'Cette URL courte est déjà prise',
|
|
393
|
-
verify_failed: ' ❌ Échec de la requête de vérification',
|
|
394
|
-
err_url_prefix: "L'URL doit commencer par /o/ ou /s/. Valeur actuelle : {0}",
|
|
395
|
-
err_url_chars: 'Le chemin URL ne supporte que a-z A-Z 0-9 _ - et / comme séparateur de segment. Valeur actuelle : {0}',
|
|
396
|
-
err_url_empty: 'Le chemin URL ne peut pas être vide : {0}',
|
|
397
|
-
},
|
|
398
|
-
|
|
399
|
-
// ── lib/copy.js ────────────────────────────────────
|
|
400
|
-
copy: {
|
|
401
|
-
title: ' openyida copy - Initialisation du répertoire de travail Yida',
|
|
402
|
-
package_root: '\n📦 Racine du package : {0}',
|
|
403
|
-
dest_root: '🤖 Répertoire cible : {0}',
|
|
404
|
-
dest_empty_flatten: '📂 Le répertoire cible est vide, les contenus de project/ seront copiés directement (sans créer de sous-répertoire project/)',
|
|
405
|
-
force_mode: '⚠️ Mode --force : le répertoire cible sera vidé avant la copie',
|
|
406
|
-
no_package: '\n❌ Répertoire du package openyida introuvable',
|
|
407
|
-
no_package_hint1: " Vérifiez qu'openyida est installé globalement :",
|
|
408
|
-
no_package_hint2: ' npm install -g openyida',
|
|
409
|
-
no_active_tool: "\n❌ Aucun environnement d'outil IA actif détecté",
|
|
410
|
-
supported_tools: ' Outils supportés : Wukong, Codex, OpenCode, Claude Code, Aone Copilot, Cursor, Qoder',
|
|
411
|
-
current_result: '\n Résultats de détection actuels :',
|
|
412
|
-
force_hint: '\n Pour forcer la copie dans le répertoire actuel :\n openyida copy --force',
|
|
413
|
-
force_cmd: ' openyida copy --force',
|
|
414
|
-
copying_label: '\n📂 Copie de {0}...',
|
|
415
|
-
creating_symlink: '\n📂 Création du lien symbolique yida-skills/...',
|
|
416
|
-
file_copied: ' Copié : {0}',
|
|
417
|
-
cleared: ' 🗑️ Vidé : {0}',
|
|
418
|
-
symlink_removed: ' 🗑️ Ancien lien symbolique supprimé : {0}',
|
|
419
|
-
dir_deleted: ' 🗑️ Répertoire supprimé : {0}',
|
|
420
|
-
removed: ' 🗑️ Supprimé : {0}',
|
|
421
|
-
symlink_created: ' 🔗 Lien symbolique : {0} -> {1}',
|
|
422
|
-
symlink_label: 'lien symbolique',
|
|
423
|
-
done: '✅ Terminé !',
|
|
424
|
-
files_copied: ' Fichiers copiés : {0}',
|
|
425
|
-
files_count: '{0} fichiers',
|
|
426
|
-
symlinks_created: ' Liens symboliques créés : {0}',
|
|
427
|
-
result_symlink: ' {0} → {1} (lien symbolique)',
|
|
428
|
-
result_copy: ' {0} → {1} ({2} fichiers)',
|
|
429
|
-
wukong_skills_cleanup: '\n🗑️ Env Wukong : Nettoyage du lien symbolique yida-skills/...',
|
|
430
|
-
wukong_skills_cleaned: 'nettoyé',
|
|
431
|
-
wukong_skills_not_found: ' ℹ️ Lien symbolique ou répertoire yida-skills/ introuvable : {0}',
|
|
432
|
-
remove_failed: ' ❌ Échec de la suppression : {0} ({1})',
|
|
433
|
-
symlink_fallback_copy: ' ⚠️ Création du lien symbolique Windows échouée (droits admin requis), copie de répertoire utilisée : {0}',
|
|
434
|
-
symlink_failed: ' ❌ Échec de la création du lien symbolique : {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: 'Source de page volumineuse détectée : {0} ({1}, environ {2} lignes)',
|
|
450
|
-
long_line_hint: 'Ligne très longue détectée (environ {0} caractères), souvent du code vendor minifié ou du base64 ; externalisez-la.',
|
|
451
|
-
base64_hint: 'Contenu base64 inline volumineux détecté ; chargez-le sur CDN/OSS et référencez une URL.',
|
|
452
|
-
memory_hint: 'publish/compile garde en mémoire la source, le build, le minifié et le schema ; séparez vendor/base64 ou chargez via this.utils.loadScript.',
|
|
453
|
-
windows_hint: 'Sous Windows, n’écrivez pas de gros JSX avec PowerShell Get-Content -Raw + ConvertTo-Json ; utilisez Node fs.writeFileSync/appendFileSync par segments.',
|
|
454
|
-
},
|
|
455
|
-
publish: {
|
|
456
|
-
title: ' yida-publish - Outil de publication de page Yida',
|
|
457
|
-
platform: ' Plateforme : {0}',
|
|
458
|
-
app_id: " ID de l'app : {0}",
|
|
459
|
-
form_uuid: ' ID du formulaire : {0}',
|
|
460
|
-
source_file: ' Source : {0}',
|
|
461
|
-
compiled_file: ' Sortie : {0}',
|
|
462
|
-
step_lint: '\n🔍 Step 0 : Pré-vérification des normes de codage Yida\n',
|
|
463
|
-
lint_title: '⚠️ Yida page code check:',
|
|
464
|
-
lint_error_line: ' ❌ Ligne {0} : {1}',
|
|
465
|
-
lint_warning_line: ' ⚠️ Ligne {0} : {1}',
|
|
466
|
-
lint_event_function: 'La liaison d\'événement utilise function, utilisez plutôt une fonction fléchée (e) => { this.xxx() }',
|
|
467
|
-
lint_missing_render_jsx: 'Export function renderJsx() manquant ; les pages personnalisées Yida doivent exporter renderJsx',
|
|
468
|
-
lint_import_require: 'Import/require détecté. Les pages personnalisées Yida ne peuvent pas importer de modules ; chargez les scripts tiers avec this.utils.loadScript',
|
|
469
|
-
lint_react_hooks: 'React Hooks détectés. Le runtime Yida utilise le style composant de classe React 16 et ne prend pas en charge useState/useEffect',
|
|
470
|
-
lint_export_default: 'Export default détecté. Yida nécessite des exports nommés comme export function renderJsx/didMount',
|
|
471
|
-
lint_jsx_extension: 'Ce fichier .js contient du JSX ; préférez .jsx pour les fichiers source. La sortie compilée reste en .js',
|
|
472
|
-
lint_event_direct_method: 'La liaison d\'événement transmet directement this.xxx et perdra this ; utilisez (e) => { this.xxx(e); }',
|
|
473
|
-
lint_event_bind_this: 'La liaison d\'événement utilise .bind(this) ; utilisez plutôt (e) => { this.xxx(e); }',
|
|
474
|
-
lint_lifecycle_case: 'Export de cycle de vie {0} détecté ; Yida reconnaît uniquement {1} (sensible à la casse)',
|
|
475
|
-
lint_react_lifecycle_method: 'Cycle de vie React {0} détecté ; exportez {1} pour les pages personnalisées Yida',
|
|
476
|
-
lint_event_lowercase: 'Propriété d\'événement en minuscules {0} détectée ; React/Yida ne la liera pas. Utilisez {1}',
|
|
477
|
-
lint_event_call_result: 'La liaison d\'événement appelle une fonction ou n\'est pas un gestionnaire d\'expression ; utilisez (e) => { self.xxx(e); }',
|
|
478
|
-
lint_event_noop_arrow: 'La fonction fléchée d\'événement référence un gestionnaire sans l\'appeler ; utilisez (e) => { self.xxx(e); }',
|
|
479
|
-
lint_button_missing_handler: 'Un <button> visible n\'a pas onClick/onMouseDown/onKeyDown ni état disabled ; liez un gestionnaire d\'événement ou utilisez span/div pour les libellés statiques',
|
|
480
|
-
lint_array_callback_function: '.{0}(function ...) peut perdre this dans les callbacks ; utilisez plutôt .{0}((item) => ...)',
|
|
481
|
-
lint_foreach_callback_function: '.forEach(function ...) peut perdre this dans les callbacks ; préférez .forEach((item) => ...)',
|
|
482
|
-
lint_controlled_input: 'input utilise le mode contrôlé par value. Les pages Yida doivent utiliser defaultValue + onChange pour mettre à jour _customState',
|
|
483
|
-
lint_native_select_ui: 'Un <select> natif a été détecté. Dans les pages personnalisées classiques, utilisez un menu button+menu+option avec flèche, marque de sélection et reset de focus ; ne rendez pas un SelectField de formulaire directement comme filtre de page.',
|
|
484
|
-
lint_iframe_self_navigation: 'Les pages personnalisées Yida s\'exécutent dans une iframe. Utilisez target="_top"/target="_blank" ou window.top.location pour naviguer vers une page Yida afin d\'éviter les pages imbriquées.',
|
|
485
|
-
lint_page_size_limit: 'pageSize={0} dépasse la limite de l\'API Yida de 100 ; utilisez 100 ou moins',
|
|
486
|
-
lint_page_size_recommend: 'pageSize={0} est élevé ; la valeur recommandée est 50 (meilleures performances, maximum 100). Préférez 10/20/50',
|
|
487
|
-
lint_searchformdata_http_post: 'Un appel direct à searchFormDatas.json doit utiliser GET + paramètres de requête (placez formUuid/appType dans la query de l\'URL). Utiliser POST avec formUuid dans le body déclenche « 参数校验失败formUuid » et les tableaux de bord/listes affichent des zéros',
|
|
488
|
-
lint_searchformdata_http_pagenumber: 'searchFormDatas.json pagine avec currentPage (et non pageNumber) ; utiliser pageNumber casse la pagination',
|
|
489
|
-
lint_searchformdata_http_unwrap: 'La réponse navigateur de searchFormDatas.json imbrique la liste sous content.data ({ content: { data: [...] } }) ; lire seulement json.data renvoie 0 ligne — décomposez via (json.content && json.content.data)',
|
|
490
|
-
lint_setstate_non_timestamp: 'this.setState écrit un champ autre que timestamp. L\'état métier des pages personnalisées doit être stocké dans _customState et mis à jour via forceUpdate()/setCustomState(); this.setState doit uniquement porter le champ contractuel timestamp',
|
|
491
|
-
lint_self_binding_missing: 'renderJsx utilise this sans déclarer var self = this;. Ajoutez var self = this; au début de renderJsx et utilisez self dans les closures/callbacks pour éviter de perdre this',
|
|
492
|
-
lint_echarts_dom_ready: 'echarts.init n\'est pas enveloppé dans setTimeout ; le conteneur peut ne pas encore être monté et le graphique peut ne pas s\'afficher. Utilisez setTimeout(function(){ /* echarts.init */ }, 300)',
|
|
493
|
-
lint_yida_api_catch: 'L\'appel API this.utils.yida n\'a pas de .catch() détecté ; ajoutez une gestion d\'erreur et affichez un toast à l\'utilisateur',
|
|
494
|
-
lint_echarts_legacy_map_china: 'ECharts 5 ne prend plus en charge echarts/map/js/china.js. Chargez le GeoJSON DataV et appelez echarts.registerMap("china", geoJson) à la place',
|
|
495
|
-
lint_echarts_rich_label_formatter: 'Les templates rich text renvoyés par ECharts label.formatter sont instables dans les pages personnalisées Yida ; préférez des chaînes formatter simples ou du texte de libellé précalculé',
|
|
496
|
-
lint_const_let: 'Utilisation de const/let, il est recommandé de changer en var (compatibilité runtime Yida)',
|
|
497
|
-
lint_computed_property: 'Utilise le nom de propriété calculé ES6 { [key]: value }, non supporté par le moteur JS Yida, provoque un échec silencieux. Utilisez var obj = {}; obj[key] = value;',
|
|
498
|
-
lint_pad_method: 'Utilise String.{0}(), non supporté par le moteur JS Yida, provoque l\'interruption silencieuse des callbacks Promise. Utilisez l\'opérateur ternaire : x < 10 ? "0" + x : "" + x',
|
|
499
|
-
lint_large_then_callback: 'Le callback Promise .then() est trop volumineux ({0} lignes, maximum recommandé {1} lignes), peut provoquer une troncature silencieuse. Extrayez la logique dans une fonction export séparée',
|
|
500
|
-
lint_fix_errors: '❌ Veuillez corriger les erreurs ci-dessus avant de publier',
|
|
501
|
-
lint_skip_hint: '💡 Ajoutez --skip-lint pour ignorer la vérification',
|
|
502
|
-
lint_passed: ' ✅ Vérification du code réussie\n',
|
|
503
|
-
lint_skipped: '\n⏭️ Pré-vérification du code ignorée (--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 : Compilation et construction du schéma\n',
|
|
519
|
-
reading_source: '[1/4] Lecture de la source {0}...',
|
|
520
|
-
compiling: '[2/4] Compilation Babel de {0}...',
|
|
521
|
-
compile_failed: ' ❌ Échec de la compilation : {0}',
|
|
522
|
-
compile_location: '\n Emplacement : ligne {0}, colonne {1}',
|
|
523
|
-
compile_error_code: " Code d'erreur : {0}",
|
|
524
|
-
minifying: '[3/4] Minification UglifyJS → {0}...',
|
|
525
|
-
minify_failed: ' Échec de la minification : {0}',
|
|
526
|
-
compile_done: ' ✅ Compilation terminée : {0}',
|
|
527
|
-
building_schema: '[4/4] Construction du schéma...',
|
|
528
|
-
formula_prefix_fixed: ' 🔧 {0} référence(s) de préfixe de formule de sous-table corrigée(s) automatiquement',
|
|
529
|
-
schema_built: ' ✅ Schéma construit avec succès !',
|
|
530
|
-
step_canvas_compile: '\n📦 Step 1 : Compilation de la source Code Canvas\n',
|
|
531
|
-
canvas_compiling: ' 🎨 Compilation locale de la source Code Canvas...',
|
|
532
|
-
canvas_compile_done: ' ✅ Code Canvas compilé !',
|
|
533
|
-
canvas_compile_failed: ' ❌ Échec de la compilation Code Canvas : {0}',
|
|
534
|
-
step_login: '\n🔑 Step 2 : Lecture des identifiants',
|
|
535
|
-
step_publish: '\n📤 Step 3 : Publication du schéma\n',
|
|
536
|
-
publish_failed: '\n❌ Échec de la publication : {0}',
|
|
537
|
-
schema_published: ' ✅ Schéma publié avec succès !',
|
|
538
|
-
step_config: '\n⚙️ Step 4 : Mise à jour de la configuration\n',
|
|
539
|
-
success: ' ✅ Publication réussie !',
|
|
540
|
-
config_failed: ' ⚠️ Échec de la mise à jour de la configuration : {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❌ Erreur de publication : {0}',
|
|
546
|
-
source_not_found: '❌ Fichier source introuvable : {0}',
|
|
547
|
-
usage: 'Utilisation : openyida publish <fichierSource> <appType> <formUuid> [--health-check] [--canvas]',
|
|
548
|
-
example: 'Exemple : 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: '🔐 Connexion Yida par QR code terminal',
|
|
554
|
-
step_init: ' Step 1 : Initialisation de la session...',
|
|
555
|
-
step_get_qr: ' Step 2 : Récupération du QR code...',
|
|
556
|
-
scan_hint: ' 📱 Scannez le QR code ci-dessous avec DingTalk :',
|
|
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: ' URL du QR code : {0}',
|
|
559
|
-
waiting_scan: " ⏳ En attente du scan (jusqu'à 2 minutes)...",
|
|
560
|
-
scanned_confirm: ' ✅ QR code scanné ! Confirmez la connexion sur votre téléphone...',
|
|
561
|
-
scan_success: ' ✅ Scan confirmé !',
|
|
562
|
-
step_exchange: ' Step 4 : Échange des identifiants...',
|
|
563
|
-
step_get_corps: ' Step 5 : Récupération de la liste des organisations...',
|
|
564
|
-
step_switch_corp: " Step 7 : Changement d'organisation...",
|
|
565
|
-
only_one_corp: ' ✅ Une seule organisation détectée : {0}, sélection automatique',
|
|
566
|
-
select_corp_prompt: ' 🏢 Plusieurs organisations trouvées, veuillez en sélectionner une :',
|
|
567
|
-
select_corp_input: ' Entrez le numéro (1-{0}) : ',
|
|
568
|
-
select_corp_invalid: ' ❌ Entrée invalide, entrez un nombre entre 1 et {0}',
|
|
569
|
-
target_corp_not_found: 'Le corpId indiqué est introuvable dans les organisations accessibles : {0}',
|
|
570
|
-
corp_selected: ' ✅ Organisation sélectionnée : {0}',
|
|
571
|
-
login_success: '✅ Connexion réussie !',
|
|
572
|
-
qrcode_fallback: " ⚠️ Package qrcode non installé, visitez l'URL ci-dessous manuellement :",
|
|
573
|
-
qrcode_render_failed: " ⚠️ Échec du rendu du QR code ({0}), visitez l'URL ci-dessous :",
|
|
574
|
-
qr_expired: 'QR code expiré, veuillez vous reconnecter',
|
|
575
|
-
poll_timeout: "Délai d'attente du scan (2 minutes), veuillez vous reconnecter",
|
|
576
|
-
no_corp_available: 'Aucune organisation accessible trouvée',
|
|
577
|
-
no_csrf_in_cookie: 'Connexion réussie mais csrf_token introuvable, réessayez',
|
|
578
|
-
stdin_closed: "Flux d'entrée fermé, impossible de sélectionner une organisation",
|
|
579
|
-
},
|
|
580
|
-
|
|
581
|
-
// ── scripts/postinstall.js ─────────────────────────
|
|
582
|
-
postinstall: {
|
|
583
|
-
welcome_title: ' 🎉 Bienvenue sur OpenYida ! ',
|
|
584
|
-
install_success: " ✅ Installation terminée ! {0} L'outil de développement IA Yida est prêt.",
|
|
585
|
-
update_success: ' ✅ Mise à jour terminée ! {0} OpenYida a été mis à jour vers la dernière version.',
|
|
586
|
-
ai_mode_title: ' 🚀 Mode conversation IA',
|
|
587
|
-
ai_mode_desc: ' Dans Codex / Claude Code / Aone Copilot / Cursor, discutez directement :',
|
|
588
|
-
prompt1: ' 📋 « Crée-moi un système de gestion des présences avec Yida »',
|
|
589
|
-
prompt2: ' 💰 « Construis une application de calcul de salaire »',
|
|
590
|
-
prompt3: ' 🏢 « Crée un système CRM de gestion client »',
|
|
591
|
-
prompt4: " 🎂 « Fais une mini-app d'anniversaire »",
|
|
592
|
-
steps_title: ' 📖 Démarrage',
|
|
593
|
-
step1: ' {0}Step 1{1} Ouvrez votre outil IA (Codex / Claude Code / Cursor, etc.)',
|
|
594
|
-
step2: " {0}Step 2{1} Décrivez l'app souhaitée en langage naturel",
|
|
595
|
-
step3: " {0}Step 3{1} L'IA exécute automatiquement les commandes openyida",
|
|
596
|
-
step4: ' {0}Step 4{1} Obtenez le lien de votre app Yida 🎉',
|
|
597
|
-
commands_title: ' ⚡ Commandes rapides',
|
|
598
|
-
cmd_env: " {0}openyida env{1} {2}# Détecter l'environnement et le statut de connexion{3}",
|
|
599
|
-
cmd_login: ' {0}openyida login{1} {2}# Se connecter à Yida{3}',
|
|
600
|
-
cmd_help: ' {0}openyida --help{1} {2}# Afficher toutes les commandes{3}',
|
|
601
|
-
footer1: ' 📚 Docs : https://github.com/openyida/openyida',
|
|
602
|
-
footer2: ' 💬 Communauté : Rejoignez la communauté OpenYida sur DingTalk',
|
|
603
|
-
},
|
|
604
|
-
|
|
605
|
-
// ── lib/cdn-*.js ───────────────────────────────────
|
|
606
|
-
cdn: {
|
|
607
|
-
config_load_error: 'Échec du chargement de la configuration CDN : {0}',
|
|
608
|
-
config_saved: '✅ Configuration CDN sauvegardée dans : {0}',
|
|
609
|
-
config_usage: 'Utilisation : openyida cdn-config [options]',
|
|
610
|
-
config_file_path: '📄 Fichier de configuration : {0}',
|
|
611
|
-
config_section_aliyun: '🔐 Identifiants Alibaba Cloud',
|
|
612
|
-
config_section_cdn: '🌐 Configuration CDN',
|
|
613
|
-
config_section_oss: '📦 Configuration OSS',
|
|
614
|
-
config_section_upload: "📤 Configuration d'upload",
|
|
615
|
-
config_cdn_domain: 'Domaine CDN',
|
|
616
|
-
config_oss_region: 'Région OSS',
|
|
617
|
-
config_oss_bucket: 'Bucket OSS',
|
|
618
|
-
config_oss_endpoint: 'Endpoint OSS',
|
|
619
|
-
config_upload_path: "Chemin d'upload",
|
|
620
|
-
config_compress: "Compression d'image",
|
|
621
|
-
config_max_width: 'Largeur maximale',
|
|
622
|
-
config_quality: "Qualité d'image",
|
|
623
|
-
config_not_set: 'Non défini',
|
|
624
|
-
config_enabled: 'Activé',
|
|
625
|
-
config_disabled: 'Désactivé',
|
|
626
|
-
config_status_valid: "✅ Configuration complète, prête à l'emploi",
|
|
627
|
-
config_status_invalid: '⚠️ Configuration incomplète',
|
|
628
|
-
config_missing: ' Champs manquants : {0}',
|
|
629
|
-
config_updated: '✅ Configuration mise à jour !',
|
|
630
|
-
config_init_title: "🔧 Assistant d'initialisation CDN",
|
|
631
|
-
config_init_desc: "Pour utiliser l'upload d'images CDN, configurez les éléments suivants :",
|
|
632
|
-
upload_no_files: '❌ Veuillez spécifier les fichiers image à uploader',
|
|
633
|
-
config_incomplete: '❌ Configuration CDN incomplète',
|
|
634
|
-
missing_fields: ' Champs manquants : {0}',
|
|
635
|
-
run_config_init: " Exécutez d'abord : openyida cdn-config --init",
|
|
636
|
-
no_config: '❌ Configuration CDN introuvable',
|
|
637
|
-
oss_sdk_required: '❌ SDK ali-oss manquant',
|
|
638
|
-
run_npm_install: ' Exécutez : npm install {0}',
|
|
639
|
-
no_images_found: '❌ Aucun fichier image supporté trouvé',
|
|
640
|
-
uploading_images: '📤 Upload de {0} images...',
|
|
641
|
-
uploading_file: ' Upload : {0}',
|
|
642
|
-
upload_success: ' ✅ {0}',
|
|
643
|
-
upload_failed: " ❌ {0} échec de l'upload : {1}",
|
|
644
|
-
upload_summary: "\n📊 Résumé de l'upload",
|
|
645
|
-
upload_success_count: ' Succès : {0}',
|
|
646
|
-
upload_fail_count: ' Échecs : {0}',
|
|
647
|
-
cdn_urls: '\n🔗 URLs CDN :',
|
|
648
|
-
upload_error: "❌ Échec de l'upload : {0}",
|
|
649
|
-
refresh_no_targets: '❌ Veuillez spécifier des URLs ou répertoires à rafraîchir',
|
|
650
|
-
cdn_sdk_required: '❌ SDK CDN Alibaba Cloud manquant',
|
|
651
|
-
querying_quota: '📊 Interrogation du quota de rafraîchissement...',
|
|
652
|
-
quota_info: ' Rafraîchissement URL : {0}/jour, {1} restants | Répertoires : {2}/jour, {3} restants',
|
|
653
|
-
refreshing_urls: '🔄 Rafraîchissement de {0} URLs...',
|
|
654
|
-
refreshing_paths: '🔄 Rafraîchissement de {0} répertoires...',
|
|
655
|
-
refresh_task_id: ' ✅ ID de tâche : {0}',
|
|
656
|
-
refresh_urls_failed: ' ❌ Échec du rafraîchissement des URLs : {0}',
|
|
657
|
-
refresh_paths_failed: ' ❌ Échec du rafraîchissement des répertoires : {0}',
|
|
658
|
-
refresh_summary: '\n📊 Résumé du rafraîchissement',
|
|
659
|
-
url_refresh_success: ' ✅ Rafraîchissement URL réussi, ID de tâche : {0}',
|
|
660
|
-
path_refresh_success: ' ✅ Rafraîchissement répertoire réussi, ID de tâche : {0}',
|
|
661
|
-
refresh_error: '❌ Échec du rafraîchissement : {0}',
|
|
662
|
-
file_not_found: '❌ Fichier introuvable : {0}',
|
|
663
|
-
},
|
|
664
|
-
|
|
665
|
-
// ── src/flash-note/flash-to-prd.ts ──────────────
|
|
666
|
-
flashNote: {
|
|
667
|
-
toPrd: {
|
|
668
|
-
title: '📋 Note Flash DingTalk vers PRD',
|
|
669
|
-
help_usage: 'Utilisation : openyida flash-to-prd --file <chemin> [--name <nom-projet>]',
|
|
670
|
-
help_usage2: ' openyida flash-to-prd --name <nom-projet> (lire depuis stdin)',
|
|
671
|
-
help_args_title: 'Arguments :',
|
|
672
|
-
help_arg_file: ' --file, -f <chemin> Chemin du fichier note flash (.txt / .md)',
|
|
673
|
-
help_arg_name: ' --name, -n <nom> Nom du projet (optionnel, extrait automatiquement)',
|
|
674
|
-
help_arg_max_tokens: ' --max-tokens <nombre> Tokens max de sortie AI (defaut 8000)',
|
|
675
|
-
help_examples_title: 'Exemples :',
|
|
676
|
-
help_example1: ' openyida flash-to-prd --file ./meeting-notes.txt --name "Inspection equipement"',
|
|
677
|
-
help_example2: ' cat meeting.txt | openyida flash-to-prd --name "Inspection equipement"',
|
|
678
|
-
step_read: '[Etape 1] Lecture du contenu de la note flash...',
|
|
679
|
-
file_not_found: 'Fichier introuvable : {0}',
|
|
680
|
-
no_input: 'Aucun contenu fourni. Utilisez --file ou redirigez le contenu via stdin.',
|
|
681
|
-
stdin_empty: 'L entree standard est vide',
|
|
682
|
-
read_success: '✅ Lecture reussie, {0} caracteres',
|
|
683
|
-
step_load_module: '[Etape 2] Chargement du module de construction de prompt...',
|
|
684
|
-
module_loaded_builtin: '✅ Module de prompt integre charge',
|
|
685
|
-
module_loaded_local: '✅ Module de prompt local charge : {0}',
|
|
686
|
-
module_not_found: '❌ Module build-flash-note-prompt.js introuvable',
|
|
687
|
-
module_path_tried: ' Chemin essaye {0} : {1}',
|
|
688
|
-
step_preprocess: '[Etape 3] Pretraitement + reconnaissance de reunion...',
|
|
689
|
-
preprocess_result: ' Pretraitement : {0} car. -> {1} car.',
|
|
690
|
-
meeting_meta: ' Metadonnees de reunion : {0} champs{1}',
|
|
691
|
-
a1_sections: ' Sections resume A1 : {0}{1}',
|
|
692
|
-
speakers: ' Intervenants identifies : {0}{1}',
|
|
693
|
-
speakers_with_role: ' (dont {0} avec role)',
|
|
694
|
-
step_login: '[Etape 4] Verification de la connexion...',
|
|
695
|
-
no_login: ' Aucune session trouvee, connexion en cours...',
|
|
696
|
-
login_ready: '✅ Connexion prete ({0})',
|
|
697
|
-
step_ai: '[Etape 5] Appel AI pour generer le PRD...',
|
|
698
|
-
single_segment: ' Mode segment unique, longueur du prompt : {0} car.',
|
|
699
|
-
multi_segment: ' Mode multi-segments, {0} segments au total',
|
|
700
|
-
extracting_segment: ' Extraction du segment {0}/{1} ({2} car.)...',
|
|
701
|
-
merging_segments: ' Fusion des resultats des segments...',
|
|
702
|
-
ai_success: '✅ PRD genere avec succes',
|
|
703
|
-
ai_error: 'Echec de l appel API AI : {0}',
|
|
704
|
-
done: '✅ Conversion note flash vers PRD terminee',
|
|
705
|
-
done_project: ' Nom du projet : {0}',
|
|
706
|
-
done_file: ' Fichier de sortie : {0}',
|
|
707
|
-
done_size: ' Taille du fichier : {0} caracteres',
|
|
708
|
-
done_meeting: ' Reconnaissance reunion : {0} metadonnees, {1} sections A1, {2} intervenants',
|
|
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
|
-
};
|