openyida 2026.7.13 → 2026.7.14-2

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 (95) hide show
  1. package/README.md +15 -22
  2. package/bin/yida.js +72 -220
  3. package/lib/agent-center/api.js +2 -2
  4. package/lib/aggregate-table/aggregate-table.js +2 -2
  5. package/lib/ai/ai.js +7 -12
  6. package/lib/app/canvas-compile.js +2 -2
  7. package/lib/app/create-app.js +5 -19
  8. package/lib/app/create-form.js +54 -76
  9. package/lib/app/create-page.js +4 -19
  10. package/lib/app/er.js +11 -8
  11. package/lib/app/export-app.js +2 -2
  12. package/lib/app/externalize-form.js +12 -10
  13. package/lib/app/get-schema.js +12 -10
  14. package/lib/app/import-app.js +6 -22
  15. package/lib/app/list-forms.js +3 -19
  16. package/lib/app/nav-group.js +6 -19
  17. package/lib/app/publish.js +60 -198
  18. package/lib/app/update-app.js +4 -18
  19. package/lib/app/update-form-config.js +20 -113
  20. package/lib/app-permission/app-permission.js +2 -2
  21. package/lib/auth/oauth-loopback.js +156 -0
  22. package/lib/auth/org.js +169 -322
  23. package/lib/auth/token-auth.js +346 -0
  24. package/lib/auth/token-store.js +174 -0
  25. package/lib/basic-info/basic-info.js +11 -12
  26. package/lib/bridge/bridge.js +29 -27
  27. package/lib/connector/api.js +4 -4
  28. package/lib/core/agent-capabilities.js +92 -8
  29. package/lib/core/batch.js +8 -8
  30. package/lib/core/check-data.js +2 -2
  31. package/lib/core/command-manifest.js +3 -3
  32. package/lib/core/doctor.js +19 -22
  33. package/lib/core/env-cmd.js +1 -3
  34. package/lib/core/env-manager.js +8 -121
  35. package/lib/core/env.js +30 -72
  36. package/lib/core/locales/ar.js +5 -5
  37. package/lib/core/locales/de.js +5 -5
  38. package/lib/core/locales/en.js +26 -26
  39. package/lib/core/locales/es.js +5 -5
  40. package/lib/core/locales/fr.js +5 -5
  41. package/lib/core/locales/hi.js +5 -5
  42. package/lib/core/locales/ja.js +14 -14
  43. package/lib/core/locales/ko.js +5 -5
  44. package/lib/core/locales/pt.js +5 -5
  45. package/lib/core/locales/vi.js +5 -5
  46. package/lib/core/locales/zh-HK.js +15 -15
  47. package/lib/core/locales/zh.js +26 -26
  48. package/lib/core/query-data.js +2 -2
  49. package/lib/core/task-center.js +2 -2
  50. package/lib/core/utils.js +156 -400
  51. package/lib/core/yida-client.js +57 -22
  52. package/lib/corp-efficiency/corp-efficiency.js +3 -3
  53. package/lib/corp-manager/api.js +2 -2
  54. package/lib/db/db-seq-fix.js +20 -25
  55. package/lib/flash-note/flash-to-prd.js +2 -2
  56. package/lib/i18n-management/i18n-management.js +2 -2
  57. package/lib/integration/integration-check.js +10 -7
  58. package/lib/integration/integration-create.js +11 -8
  59. package/lib/integration/integration-list.js +11 -8
  60. package/lib/mcp/server.js +5 -54
  61. package/lib/page-config/get-page-config.js +2 -2
  62. package/lib/page-config/save-share-config.js +2 -2
  63. package/lib/page-config/verify-short-url.js +2 -2
  64. package/lib/permission/get-permission.js +2 -2
  65. package/lib/permission/save-permission.js +2 -2
  66. package/lib/process/ai-form-setting.js +2 -2
  67. package/lib/process/create-process.js +2 -2
  68. package/lib/process/preview-process.js +2 -2
  69. package/lib/report/append.js +3 -3
  70. package/lib/report/index.js +3 -3
  71. package/package.json +1 -1
  72. package/scripts/check-syntax.js +6 -0
  73. package/scripts/e2e-real/full-runner.js +2 -10
  74. package/scripts/e2e-real/runner.js +0 -31
  75. package/scripts/eval/screenshot.js +27 -69
  76. package/scripts/nightly-smoke.js +16 -34
  77. package/scripts/postinstall.js +6 -2
  78. package/yida-skills/SKILL.md +10 -6
  79. package/yida-skills/references/development-rules.md +2 -2
  80. package/yida-skills/references/setup-and-env.md +10 -9
  81. package/yida-skills/skills/sls-log-workbench/SKILL.md +2 -2
  82. package/yida-skills/skills/sls-log-workbench/sls-query.js +27 -54
  83. package/yida-skills/skills/yida-flash-note-to-prd/SKILL.md +1 -1
  84. package/yida-skills/skills/yida-integration/SKILL.md +3 -3
  85. package/yida-skills/skills/yida-login/SKILL.md +56 -74
  86. package/yida-skills/skills/yida-logout/SKILL.md +13 -12
  87. package/yida-skills/skills/yida-process-rule/SKILL.md +1 -1
  88. package/yida-skills/skills/yida-publish-page/SKILL.md +1 -1
  89. package/yida-skills/skills/yida-report/references/report-api-guide.md +4 -20
  90. package/yida-skills/skills-index.json +4 -4
  91. package/lib/auth/auth.js +0 -313
  92. package/lib/auth/cdp-browser-login.js +0 -390
  93. package/lib/auth/codex-login.js +0 -71
  94. package/lib/auth/login.js +0 -550
  95. package/lib/auth/qr-login.js +0 -1575
package/lib/core/env.js CHANGED
@@ -12,11 +12,7 @@ const os = require('os');
12
12
  const {
13
13
  detectActiveTool,
14
14
  findProjectRoot,
15
- loadCookieData,
16
- resolveBaseUrl,
17
- extractInfoFromCookies,
18
15
  resolveWukongWorkspaceRoot,
19
- getLastEnvAuthError,
20
16
  } = require('./utils');
21
17
  const { t } = require('./i18n');
22
18
 
@@ -85,22 +81,16 @@ function detectEnvironment() {
85
81
 
86
82
  return { activeToolName, activeProjectRoot, results };
87
83
  }
88
- function getCookieDiagnostics(projectRoot) {
89
- const { getCurrentEnvConfig, getCookieFilePath } = require('./env-manager');
84
+ function getTokenDiagnostics(projectRoot) {
85
+ const { getCurrentEnvConfig } = require('./env-manager');
86
+ const { getTokenFilePath } = require('../auth/token-store');
90
87
  const currentEnv = getCurrentEnvConfig(projectRoot);
91
- const envCookieFile = getCookieFilePath(projectRoot);
92
- const legacyCookieFile = path.join(projectRoot, '.cache', 'cookies.json');
93
- const envCookieFileFound = fs.existsSync(envCookieFile);
94
- const legacyCookieFileFound = fs.existsSync(legacyCookieFile);
95
- const selectedCookieFile = envCookieFileFound ? envCookieFile : legacyCookieFile;
88
+ const tokenFile = getTokenFilePath({ projectRoot });
96
89
 
97
90
  return {
98
91
  currentEnv: currentEnv.name,
99
- configuredCookieFile: envCookieFile,
100
- legacyCookieFile,
101
- cookieFile: selectedCookieFile,
102
- cookieFileFound: envCookieFileFound || legacyCookieFileFound,
103
- usedLegacyCookieFile: !envCookieFileFound && legacyCookieFileFound,
92
+ tokenFile,
93
+ tokenFileFound: fs.existsSync(tokenFile),
104
94
  };
105
95
  }
106
96
 
@@ -108,62 +98,30 @@ function getCookieDiagnostics(projectRoot) {
108
98
  * 检测登录态信息。
109
99
  */
110
100
  function detectLoginStatus(projectRoot) {
111
- const cookieDiagnostics = getCookieDiagnostics(projectRoot);
112
- const cookieData = loadCookieData(projectRoot);
113
- const cookies = cookieData && Array.isArray(cookieData.cookies) ? cookieData.cookies : [];
114
- const envAuthError = getLastEnvAuthError();
115
-
116
- if (!cookieData || !cookieData.cookies) {
117
- return {
118
- loggedIn: false,
119
- canAutoUse: false,
120
- csrfToken: null,
121
- corpId: null,
122
- userId: null,
123
- baseUrl: null,
124
- cookiesCount: 0,
125
- diagnostics: {
126
- ...cookieDiagnostics,
127
- cacheReadable: false,
128
- cookiesArrayFound: false,
129
- csrfTokenFound: false,
130
- corpIdFound: false,
131
- userIdFound: false,
132
- baseUrlFound: false,
133
- failureReason: envAuthError
134
- ? envAuthError.failure_reason
135
- : (cookieDiagnostics.cookieFileFound ? 'cookie_cache_unreadable_or_invalid' : 'cookie_cache_missing'),
136
- },
137
- };
138
- }
139
-
140
- const cookieInfo = extractInfoFromCookies(cookies);
141
- const csrfToken = cookieData.csrf_token || cookieData.csrfToken || cookieData._csrf_token || cookieInfo.csrfToken;
142
- const corpId = cookieData.corp_id || cookieData.corpId || cookieInfo.corpId;
143
- const userId = cookieData.user_id || cookieData.userId || cookieData.staffId || cookieInfo.userId;
144
- const baseUrl = resolveBaseUrl(cookieData);
145
- const loggedIn = !!csrfToken;
146
- const isEnvAuth = cookieData.auth_source === 'env';
101
+ const tokenDiagnostics = getTokenDiagnostics(projectRoot);
102
+ const { tokenStatus } = require('../auth/token-auth');
103
+ const status = tokenStatus({ projectRoot });
104
+ const loggedIn = status.status === 'ok';
147
105
 
148
106
  return {
149
107
  loggedIn,
150
- canAutoUse: loggedIn,
151
- csrfToken,
152
- corpId,
153
- userId,
154
- baseUrl,
155
- cookiesCount: cookies.length,
156
- authSource: isEnvAuth ? 'env' : 'cache',
108
+ canAutoUse: !!status.can_auto_use,
109
+ csrfToken: null,
110
+ corpId: status.corp_id || null,
111
+ userId: status.user_id || null,
112
+ baseUrl: status.base_url || null,
113
+ authSource: 'token',
114
+ authMode: 'token',
115
+ tokenFile: status.token_file || tokenDiagnostics.tokenFile,
157
116
  diagnostics: {
158
- ...cookieDiagnostics,
159
- authSource: isEnvAuth ? 'env' : 'cache',
160
- cacheReadable: true,
161
- cookiesArrayFound: Array.isArray(cookieData.cookies),
162
- csrfTokenFound: !!csrfToken,
163
- corpIdFound: !!corpId,
164
- userIdFound: !!userId,
165
- baseUrlFound: !!baseUrl,
166
- failureReason: loggedIn ? null : 'csrf_token_missing',
117
+ ...tokenDiagnostics,
118
+ authSource: 'token',
119
+ cacheReadable: tokenDiagnostics.tokenFileFound,
120
+ tokenFound: loggedIn,
121
+ corpIdFound: !!status.corp_id,
122
+ userIdFound: !!status.user_id,
123
+ baseUrlFound: !!status.base_url,
124
+ failureReason: loggedIn ? null : status.status,
167
125
  },
168
126
  };
169
127
  }
@@ -213,10 +171,10 @@ function buildEnvironmentSnapshot() {
213
171
  canAutoUse: loginStatus.canAutoUse,
214
172
  baseUrl: loginStatus.baseUrl,
215
173
  authSource: loginStatus.authSource || null,
216
- corpId: loginStatus.authSource === 'env' ? maskIdentifier(loginStatus.corpId) : loginStatus.corpId,
217
- userId: loginStatus.authSource === 'env' ? maskIdentifier(loginStatus.userId) : loginStatus.userId,
218
- csrfToken: loginStatus.authSource === 'env' ? null : maskSecret(loginStatus.csrfToken),
219
- cookiesCount: loginStatus.cookiesCount,
174
+ authMode: loginStatus.authMode || null,
175
+ corpId: loginStatus.corpId,
176
+ userId: loginStatus.userId,
177
+ tokenFile: loginStatus.tokenFile,
220
178
  diagnostics: loginStatus.diagnostics,
221
179
  },
222
180
  };
@@ -10,7 +10,7 @@ module.exports = {
10
10
  usage: 'الاستخدام:',
11
11
  alias: 'الاسم المستعار:',
12
12
  group_auth: 'البيئة & المصادقة',
13
- cmd_login: 'تسجيل الدخول (الذاكرة المؤقتة أولاً، استخدم --browser أو --agent-qr عند الحاجة)',
13
+ cmd_login: 'Login with OAuth token mode',
14
14
  cmd_logout: 'تسجيل الخروج / تبديل الحساب',
15
15
  cmd_auth: 'إدارة حالة تسجيل الدخول',
16
16
  cmd_org: 'إدارة المنظمات (عرض / تبديل)',
@@ -809,9 +809,9 @@ module.exports = {
809
809
  title: ' openyida login {0} - {1} Login Mode',
810
810
  not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
811
811
  no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
812
- using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login --browser for Yida login cookies.',
813
- browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use openyida login --browser when CLI cookies are required.',
814
- handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
815
- cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
812
+ using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
813
+ browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
814
+ handoff_message: '{0} in-app Browser cannot complete CLI token login. Run openyida login.',
815
+ cache_available: 'Existing CLI token session cache is available; no browser login needed.',
816
816
  },
817
817
  };
@@ -10,7 +10,7 @@ module.exports = {
10
10
  usage: 'Verwendung:',
11
11
  alias: 'Alias:',
12
12
  group_auth: 'Umgebung & Authentifizierung',
13
- cmd_login: 'Anmelden (Cache zuerst, bei Bedarf --browser oder --agent-qr)',
13
+ cmd_login: 'Login with OAuth token mode',
14
14
  cmd_logout: 'Abmelden / Konto wechseln',
15
15
  cmd_auth: 'Anmeldestatus-Verwaltung',
16
16
  cmd_org: 'Organisationsverwaltung (auflisten / wechseln)',
@@ -809,9 +809,9 @@ module.exports = {
809
809
  title: ' openyida login {0} - {1} Login Mode',
810
810
  not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
811
811
  no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
812
- using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login --browser for Yida login cookies.',
813
- browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use openyida login --browser when CLI cookies are required.',
814
- handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
815
- cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
812
+ using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
813
+ browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
814
+ handoff_message: '{0} in-app Browser cannot complete CLI token login. Run openyida login.',
815
+ cache_available: 'Existing CLI token session cache is available; no browser login needed.',
816
816
  },
817
817
  };
@@ -12,11 +12,11 @@ module.exports = {
12
12
  usage: 'Usage:',
13
13
  alias: 'Alias:',
14
14
  group_auth: 'Auth & Environment',
15
- cmd_login: 'Login (cache first, --browser or --agent-qr when needed)',
16
- cmd_logout: 'Logout / switch account',
17
- cmd_auth: 'Login state management',
18
- cmd_org: 'Organization management (list / switch)',
19
- cmd_env: 'Detect AI tool environment & login state',
15
+ cmd_login: 'Login with OAuth token mode',
16
+ cmd_logout: 'Logout / clear token',
17
+ cmd_auth: 'Token login state management',
18
+ cmd_org: 'Organization management (list / switch by OAuth re-login)',
19
+ cmd_env: 'Detect AI tool environment & token login state',
20
20
  cmd_env_management: 'Manage public/private Yida environment profiles',
21
21
  group_app: 'App Management',
22
22
  cmd_app_list: 'List my Yida apps',
@@ -283,9 +283,9 @@ Examples:
283
283
  save_permission_example: "Example: openyida save-permission APP_XXX FORM-XXX --data-permission '{\"role\":\"DEFAULT\",\"dataRange\":\"SELF\"}'",
284
284
  exec_failed: '\n❌ Execution failed: {0}',
285
285
  auth_usage: 'Usage: openyida auth <status|login|refresh|logout>',
286
- auth_example: 'Examples:\n openyida auth status # View login status\n openyida auth login # Perform login\n openyida auth login --codex # Codex browser login\n openyida auth refresh # Refresh login session\n openyida auth logout # Logout',
287
- org_usage: 'Usage: openyida org <list|switch>',
288
- org_example: 'Examples:\n openyida org list # List accessible organizations\n openyida org switch --corp-id dingXXX # Switch to specified organization',
286
+ auth_example: 'Examples:\n openyida auth status # View login status\n openyida auth login # Perform login\n openyida auth refresh # Refresh login session\n openyida auth logout # Logout',
287
+ org_usage: 'Usage: openyida org <list|switch> [--json] [--corp-id <corpId>]',
288
+ org_example: 'Examples:\n openyida org list --json # List accessible organizations\n openyida org switch --corp-id dingXXX # Switch by OAuth re-login',
289
289
  first_run_title: ' 🤖 OpenYida - AI Conversation Mode Activated! ',
290
290
  first_run_welcome: " {0}Welcome to OpenYida!{1} Here's a quick start guide:",
291
291
  first_run_way1_title: ' 📝 Option 1: Describe your needs directly',
@@ -477,27 +477,27 @@ Examples:
477
477
  login: {
478
478
  title: ' openyida login - Yida Login Tool',
479
479
  logout_title: ' openyida logout - Yida Logout Tool',
480
- cookie_file_label: '\n Cookie file: {0}',
481
- logout_success: ' ✅ Cookie cleared, login session invalidated.',
482
- logout_hint: ' Next time you run openyida login, a QR scan will be triggered.',
483
- logout_no_file: ' ℹ️ Cookie file does not exist, nothing to clear.',
484
- using_cache: '🔍 Local Cookie found, using it directly...',
480
+ cookie_file_label: '\n Token file: {0}',
481
+ logout_success: ' ✅ Token cleared, login session invalidated.',
482
+ logout_hint: ' Next time you run openyida login, OAuth login will be triggered.',
483
+ logout_no_file: ' ℹ️ Token file does not exist, nothing to clear.',
484
+ using_cache: '🔍 Local token found, using it directly...',
485
485
  csrf_ok: ' ✅ csrf_token: {0}...',
486
486
  corp_id_ok: ' ✅ corpId: {0}',
487
- no_playwright: '\n❌ Local browser login prefers Chrome/Edge/Chromium CDP first; CDP is unavailable and no Playwright fallback was found. Use openyida login or openyida login --qr by default; install Playwright only if you need local browser login:',
487
+ no_playwright: '\n❌ This version only supports token login. Run openyida login.',
488
488
  playwright_install1: ' npm install -g playwright',
489
489
  playwright_install2: ' npx playwright install chromium',
490
- browser_opening: '\n🔐 Opening browser for QR code login...',
490
+ browser_opening: '\n🔐 Opening browser for OAuth login...',
491
491
  login_url_label: ' Login URL: {0}',
492
492
  waiting_login: ' Waiting for login (up to 10 minutes)...',
493
493
  login_timeout: ' ⏰ Login timed out (10 minutes). Please try again.',
494
494
  login_success: ' ✅ Login successful!',
495
- no_csrf_in_cookie: ' ❌ Login succeeded but no tianshu_csrf_token in Cookie. Please retry.',
496
- no_cookie_cache: ' ❌ No valid local Cookie found. Cannot refresh. Please log in again.',
497
- no_csrf_in_cache: ' ❌ No tianshu_csrf_token in Cookie. Please log in again.',
495
+ no_csrf_in_cookie: ' ❌ Token login did not return a valid user context. Please retry.',
496
+ no_cookie_cache: ' ❌ No valid local token found. Cannot refresh. Please log in again.',
497
+ no_csrf_in_cache: ' ❌ No valid local token found. Please log in again.',
498
498
  csrf_extracted: ' ✅ csrf_token extracted: {0}...',
499
- trigger_login: '\n🔐 Login session expired, opening browser for QR code login...\n',
500
- csrf_refresh: '\n🔄 csrf_token expired, re-extracting from Cookie...\n',
499
+ trigger_login: '\n🔐 Login session expired. Run openyida login again.\n',
500
+ csrf_refresh: '\n🔄 Token mode does not refresh csrf_token on the client.\n',
501
501
  },
502
502
 
503
503
  // ── lib/auth.js ────────────────────────────────────
@@ -518,8 +518,8 @@ Examples:
518
518
  login_success: '\n✅ Login successful!',
519
519
  corp_id_ok: ' ✅ corpId: {0}',
520
520
  refresh_start: '\n🔄 Refreshing login session...',
521
- no_cookie_cache: ' ❌ No local Cookie cache, cannot refresh',
522
- no_csrf_in_cache: ' ❌ No csrf_token in Cookie, need to re-login',
521
+ no_cookie_cache: ' ❌ No local token cache, cannot refresh',
522
+ no_csrf_in_cache: ' ❌ No valid local token found. Please log in again',
523
523
  refresh_success: ' ✅ Login session refreshed!',
524
524
  csrf_ok: ' ✅ csrf_token: {0}...',
525
525
  auth_config_cleared: ' ✅ Auth config cleared',
@@ -1647,9 +1647,9 @@ Options:
1647
1647
  title: ' openyida login {0} - {1} Login Mode',
1648
1648
  not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
1649
1649
  no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
1650
- using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login --browser for Yida login cookies.',
1651
- browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use openyida login --browser when CLI cookies are required.',
1652
- handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
1653
- cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
1650
+ using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
1651
+ browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
1652
+ handoff_message: '{0} in-app Browser cannot complete CLI token login. Run openyida login.',
1653
+ cache_available: 'Existing CLI token cache is available; no login needed.',
1654
1654
  },
1655
1655
  };
@@ -10,7 +10,7 @@ module.exports = {
10
10
  usage: 'Uso:',
11
11
  alias: 'Alias:',
12
12
  group_auth: 'Entorno & Autenticación',
13
- cmd_login: 'Iniciar sesión (caché primero, --browser o --agent-qr si hace falta)',
13
+ cmd_login: 'Login with OAuth token mode',
14
14
  cmd_logout: 'Cerrar sesión / cambiar cuenta',
15
15
  cmd_auth: 'Gestión del estado de sesión',
16
16
  cmd_org: 'Gestión de organizaciones (listar / cambiar)',
@@ -809,9 +809,9 @@ module.exports = {
809
809
  title: ' openyida login {0} - {1} Login Mode',
810
810
  not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
811
811
  no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
812
- using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login --browser for Yida login cookies.',
813
- browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use openyida login --browser when CLI cookies are required.',
814
- handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
815
- cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
812
+ using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
813
+ browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
814
+ handoff_message: '{0} in-app Browser cannot complete CLI token login. Run openyida login.',
815
+ cache_available: 'Existing CLI token session cache is available; no browser login needed.',
816
816
  },
817
817
  };
@@ -10,7 +10,7 @@ module.exports = {
10
10
  usage: 'Utilisation :',
11
11
  alias: 'Alias :',
12
12
  group_auth: 'Environnement & Authentification',
13
- cmd_login: 'Connexion (cache prioritaire, --browser ou --agent-qr si nécessaire)',
13
+ cmd_login: 'Login with OAuth token mode',
14
14
  cmd_logout: 'Déconnexion / changer de compte',
15
15
  cmd_auth: 'Gestion de l\'état de connexion',
16
16
  cmd_org: 'Gestion des organisations (lister / changer)',
@@ -809,9 +809,9 @@ module.exports = {
809
809
  title: ' openyida login {0} - {1} Login Mode',
810
810
  not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
811
811
  no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
812
- using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login --browser for Yida login cookies.',
813
- browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use openyida login --browser when CLI cookies are required.',
814
- handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
815
- cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
812
+ using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
813
+ browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
814
+ handoff_message: '{0} in-app Browser cannot complete CLI token login. Run openyida login.',
815
+ cache_available: 'Existing CLI token session cache is available; no browser login needed.',
816
816
  },
817
817
  };
@@ -10,7 +10,7 @@ module.exports = {
10
10
  usage: 'उपयोग:',
11
11
  alias: 'उपनाम:',
12
12
  group_auth: 'वातावरण & प्रमाणीकरण',
13
- cmd_login: 'लॉगिन (पहले कैश, जरूरत हो तो --browser या --agent-qr)',
13
+ cmd_login: 'Login with OAuth token mode',
14
14
  cmd_logout: 'लॉगआउट / खाता बदलें',
15
15
  cmd_auth: 'लॉगिन स्थिति प्रबंधन',
16
16
  cmd_org: 'संगठन प्रबंधन (सूची / बदलें)',
@@ -809,9 +809,9 @@ module.exports = {
809
809
  title: ' openyida login {0} - {1} Login Mode',
810
810
  not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
811
811
  no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
812
- using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login --browser for Yida login cookies.',
813
- browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use openyida login --browser when CLI cookies are required.',
814
- handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
815
- cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
812
+ using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
813
+ browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
814
+ handoff_message: '{0} in-app Browser cannot complete CLI token login. Run openyida login.',
815
+ cache_available: 'Existing CLI token session cache is available; no browser login needed.',
816
816
  },
817
817
  };
@@ -12,7 +12,7 @@ module.exports = {
12
12
  usage: '使用方法:',
13
13
  alias: 'エイリアス:',
14
14
  group_auth: '環境 & 認証',
15
- cmd_login: 'ログイン(キャッシュ優先、必要に応じて --browser または --agent-qr)',
15
+ cmd_login: 'Login with OAuth token mode',
16
16
  cmd_logout: 'ログアウト / アカウント切替',
17
17
  cmd_auth: 'ログイン状態管理',
18
18
  cmd_org: '組織管理(一覧 / 切替)',
@@ -251,7 +251,7 @@ openyida - Yida CLI ツール
251
251
  import_example2: ' openyida import ./yida-export.json "品質追跡システム(本番環境)"',
252
252
  exec_failed: '\n❌ 実行に失敗しました: {0}',
253
253
  auth_usage: '使用方法: openyida auth <status|login|refresh|logout>',
254
- auth_example: '例:\n openyida auth status # ログイン状態を確認\n openyida auth login # ログイン実行\n openyida auth login --codex # Codex browser login\n openyida auth refresh # ログイン状態を更新\n openyida auth logout # ログアウト',
254
+ auth_example: '例:\n openyida auth status # ログイン状態を確認\n openyida auth login # ログイン実行\n openyida auth refresh # ログイン状態を更新\n openyida auth logout # ログアウト',
255
255
  org_usage: '使用方法: openyida org <list|switch>',
256
256
  org_example: '例:\n openyida org list # アクセス可能な組織一覧\n openyida org switch --corp-id dingXXX # 指定組織に切り替え',
257
257
  first_run_title: ' 🤖 OpenYida - AI 会話モードが有効になりました! ',
@@ -367,24 +367,24 @@ openyida - Yida CLI ツール
367
367
  login: {
368
368
  title: ' openyida login - Yida ログインツール',
369
369
  logout_title: ' openyida logout - Yida ログアウトツール',
370
- cookie_file_label: '\n Cookie ファイル: {0}',
370
+ cookie_file_label: '\n Token ファイル: {0}',
371
371
  logout_success: ' ✅ Cookie をクリアしました。ログインセッションが無効になりました。',
372
372
  logout_hint: ' 次回 openyida login を実行すると QR コードスキャンが開始されます。',
373
- logout_no_file: ' ℹ️ Cookie ファイルが存在しません。クリア不要です。',
373
+ logout_no_file: ' ℹ️ Token ファイルが存在しません。クリア不要です。',
374
374
  using_cache: '🔍 ローカルの Cookie が見つかりました。直接使用します...',
375
375
  csrf_ok: ' ✅ csrf_token: {0}...',
376
376
  corp_id_ok: ' ✅ corpId: {0}',
377
- no_playwright: '\n❌ ローカルブラウザログインは Chrome/Edge/Chromium CDP を優先します。現在 CDP が利用できず、Playwright フォールバックも見つかりません。通常は openyida login または openyida login --qr を使用してください。ローカルブラウザログインが必要な場合のみインストールしてください:',
377
+ no_playwright: 'This version only supports token login. Run openyida login.',
378
378
  playwright_install1: ' npm install -g playwright',
379
379
  playwright_install2: ' npx playwright install chromium',
380
- browser_opening: '\n🔐 ブラウザを開いて QR コードログインを開始します...',
380
+ browser_opening: '\n🔐 ブラウザを開いて OAuth ログインを開始します...',
381
381
  login_url_label: ' ログイン URL: {0}',
382
382
  waiting_login: ' ログイン完了を待機中(最大 10 分)...',
383
383
  login_timeout: ' ⏰ ログインがタイムアウトしました(10 分)。再試行してください。',
384
384
  login_success: ' ✅ ログインに成功しました!',
385
385
  no_csrf_in_cookie: ' ❌ ログインは成功しましたが Cookie に tianshu_csrf_token がありません。再試行してください。',
386
- no_cookie_cache: ' ❌ 有効なローカル Cookie がありません。再ログインが必要です。',
387
- no_csrf_in_cache: ' ❌ Cookie tianshu_csrf_token がありません。再ログインが必要です。',
386
+ no_cookie_cache: ' ❌ 有効なローカル token がありません。再ログインが必要です。',
387
+ no_csrf_in_cache: ' ❌ 有効なローカル token がありません。再ログインが必要です。',
388
388
  csrf_extracted: ' ✅ csrf_token を取得しました: {0}...',
389
389
  trigger_login: '\n🔐 ログインセッションが期限切れです。ブラウザで QR コードログインを開始します...\n',
390
390
  csrf_refresh: '\n🔄 csrf_token が期限切れです。Cookie から再取得中...\n',
@@ -408,8 +408,8 @@ openyida - Yida CLI ツール
408
408
  login_success: '\n✅ ログイン成功!',
409
409
  corp_id_ok: ' ✅ corpId: {0}',
410
410
  refresh_start: '\n🔄 ログイン状態を更新中...',
411
- no_cookie_cache: ' ❌ ローカル Cookie キャッシュなし、更新できません',
412
- no_csrf_in_cache: ' ❌ Cookie csrf_token なし、再ログインが必要',
411
+ no_cookie_cache: ' ❌ ローカル token キャッシュなし、更新できません',
412
+ no_csrf_in_cache: ' ❌ 有効なローカル token なし、再ログインが必要',
413
413
  refresh_success: ' ✅ ログイン状態を更新しました!',
414
414
  csrf_ok: ' ✅ csrf_token: {0}...',
415
415
  auth_config_cleared: ' ✅ 認証設定をクリアしました',
@@ -1202,9 +1202,9 @@ openyida - Yida CLI ツール
1202
1202
  title: ' openyida login {0} - {1} Login Mode',
1203
1203
  not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
1204
1204
  no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
1205
- using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login --browser for Yida login cookies.',
1206
- browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use openyida login --browser when CLI cookies are required.',
1207
- handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
1208
- cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
1205
+ using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
1206
+ browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
1207
+ handoff_message: '{0} in-app Browser cannot complete CLI token login. Run openyida login.',
1208
+ cache_available: 'Existing CLI token session cache is available; no browser login needed.',
1209
1209
  },
1210
1210
  };
@@ -10,7 +10,7 @@ module.exports = {
10
10
  usage: '사용법:',
11
11
  alias: '별칭:',
12
12
  group_auth: '환경 & 인증',
13
- cmd_login: '로그인 (캐시 우선, 필요 시 --browser 또는 --agent-qr)',
13
+ cmd_login: 'Login with OAuth token mode',
14
14
  cmd_logout: '로그아웃 / 계정 전환',
15
15
  cmd_auth: '로그인 상태 관리',
16
16
  cmd_org: '조직 관리 (목록 / 전환)',
@@ -811,9 +811,9 @@ module.exports = {
811
811
  title: ' openyida login {0} - {1} Login Mode',
812
812
  not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
813
813
  no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
814
- using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login --browser for Yida login cookies.',
815
- browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use openyida login --browser when CLI cookies are required.',
816
- handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
817
- cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
814
+ using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
815
+ browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
816
+ handoff_message: '{0} in-app Browser cannot complete CLI token login. Run openyida login.',
817
+ cache_available: 'Existing CLI token session cache is available; no browser login needed.',
818
818
  },
819
819
  };
@@ -10,7 +10,7 @@ module.exports = {
10
10
  usage: 'Uso:',
11
11
  alias: 'Alias:',
12
12
  group_auth: 'Ambiente & Autenticação',
13
- cmd_login: 'Login (cache primeiro, use --browser ou --agent-qr se necessário)',
13
+ cmd_login: 'Login with OAuth token mode',
14
14
  cmd_logout: 'Logout / trocar conta',
15
15
  cmd_auth: 'Gerenciamento do estado de login',
16
16
  cmd_org: 'Gerenciamento de organizações (listar / trocar)',
@@ -809,9 +809,9 @@ module.exports = {
809
809
  title: ' openyida login {0} - {1} Login Mode',
810
810
  not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
811
811
  no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
812
- using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login --browser for Yida login cookies.',
813
- browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use openyida login --browser when CLI cookies are required.',
814
- handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
815
- cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
812
+ using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
813
+ browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
814
+ handoff_message: '{0} in-app Browser cannot complete CLI token login. Run openyida login.',
815
+ cache_available: 'Existing CLI token session cache is available; no browser login needed.',
816
816
  },
817
817
  };
@@ -10,7 +10,7 @@ module.exports = {
10
10
  usage: 'Cách dùng:',
11
11
  alias: 'Bí danh:',
12
12
  group_auth: 'Môi trường & Xác thực',
13
- cmd_login: 'Đăng nhập (ưu tiên cache, dùng --browser hoặc --agent-qr khi cần)',
13
+ cmd_login: 'Login with OAuth token mode',
14
14
  cmd_logout: 'Đăng xuất / chuyển tài khoản',
15
15
  cmd_auth: 'Quản lý trạng thái đăng nhập',
16
16
  cmd_org: 'Quản lý tổ chức (liệt kê / chuyển)',
@@ -809,9 +809,9 @@ module.exports = {
809
809
  title: ' openyida login {0} - {1} Login Mode',
810
810
  not_codex: 'Current environment is not detected as Codex / Qoder / Wukong; returning an in-app browser login handoff only.',
811
811
  no_playwright: '{0} mode does not require Playwright or a separate Chromium install.',
812
- using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login --browser for Yida login cookies.',
813
- browser_handoff_hint: '{0} in-app Browser does not support authentication Cookie export. Use openyida login --browser when CLI cookies are required.',
814
- handoff_message: '{0} in-app Browser cannot export Yida login cookies. Run fallback_command when CLI cookies are required.',
815
- cache_available: 'Existing CLI Cookie cache is available; no browser login needed.',
812
+ using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
813
+ browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
814
+ handoff_message: '{0} in-app Browser cannot complete CLI token login. Run openyida login.',
815
+ cache_available: 'Existing CLI token session cache is available; no browser login needed.',
816
816
  },
817
817
  };
@@ -12,7 +12,7 @@ module.exports = {
12
12
  usage: '用法:',
13
13
  alias: '別名:',
14
14
  group_auth: '環境 & 認證',
15
- cmd_login: '登入(優先緩存,按需使用 --browser --agent-qr)',
15
+ cmd_login: 'Login with OAuth token mode',
16
16
  cmd_logout: '登出 / 切換帳戶',
17
17
  cmd_auth: '登入態管理',
18
18
  cmd_org: '組織管理(列出 / 切換)',
@@ -351,24 +351,24 @@ openyida - 宜搭命令列工具
351
351
  login: {
352
352
  title: ' openyida login - 宜搭登入工具',
353
353
  logout_title: ' openyida logout - 宜搭登出工具',
354
- cookie_file_label: '\n Cookie 檔案:{0}',
354
+ cookie_file_label: '\n Token 檔案:{0}',
355
355
  logout_success: ' ✅ 已清空 Cookie,登入態已失效。',
356
356
  logout_hint: ' 下次呼叫 openyida login 時將重新觸發掃碼登入。',
357
- logout_no_file: ' ℹ️ Cookie 檔案不存在,無需清空。',
357
+ logout_no_file: ' ℹ️ Token 檔案不存在,無需清空。',
358
358
  using_cache: '🔍 偵測到本機 Cookie,直接使用...',
359
359
  csrf_ok: ' ✅ csrf_token:{0}...',
360
360
  corp_id_ok: ' ✅ corpId:{0}',
361
- no_playwright: '\n❌ 本機瀏覽器登入會優先使用 Chrome/Edge/Chromium CDP;目前 CDP 不可用且未找到 Playwright 兜底。預設請使用 openyida login openyida login --qr;如確需本機瀏覽器登入,請先安裝:',
361
+ no_playwright: 'This version only supports token login. Run openyida login.',
362
362
  playwright_install1: ' npm install -g playwright',
363
363
  playwright_install2: ' npx playwright install chromium',
364
- browser_opening: '\n🔐 正在開啟瀏覽器,請掃碼登入...',
364
+ browser_opening: '\n🔐 正在開啟瀏覽器完成 OAuth 登入...',
365
365
  login_url_label: ' 登入網址:{0}',
366
366
  waiting_login: ' 等待登入完成(最長等待 10 分鐘)...',
367
367
  login_timeout: ' ⏰ 登入逾時(10 分鐘),請重試。',
368
368
  login_success: ' ✅ 登入成功!',
369
- no_csrf_in_cookie: ' ❌ 登入成功但 Cookie 中無 tianshu_csrf_token,請重試。',
370
- no_cookie_cache: ' ❌ 本機無有效 Cookie,無法刷新,需要重新登入。',
371
- no_csrf_in_cache: ' ❌ Cookie 中無 tianshu_csrf_token,需要重新登入。',
369
+ no_csrf_in_cookie: ' ❌ token 登入未返回有效使用者上下文,請重試。',
370
+ no_cookie_cache: ' ❌ 本機無有效 token,無法刷新,需要重新登入。',
371
+ no_csrf_in_cache: ' ❌ 本機無有效 token,需要重新登入。',
372
372
  csrf_extracted: ' ✅ csrf_token 擷取成功:{0}...',
373
373
  trigger_login: '\n🔐 登入態失效,正在開啟瀏覽器掃碼登入...\n',
374
374
  csrf_refresh: '\n🔄 csrf_token 已過期,正在從 Cookie 重新擷取...\n',
@@ -392,8 +392,8 @@ openyida - 宜搭命令列工具
392
392
  login_success: '\n✅ 登入成功!',
393
393
  corp_id_ok: ' ✅ corpId:{0}',
394
394
  refresh_start: '\n🔄 正在刷新登入態...',
395
- no_cookie_cache: ' ❌ 本機無 Cookie 緩存,無法刷新',
396
- no_csrf_in_cache: ' ❌ Cookie 中無 csrf_token,需要重新登入',
395
+ no_cookie_cache: ' ❌ 本機無 token 緩存,無法刷新',
396
+ no_csrf_in_cache: ' ❌ 本機無有效 token,需要重新登入',
397
397
  refresh_success: ' ✅ 登入態刷新成功!',
398
398
  csrf_ok: ' ✅ csrf_token:{0}...',
399
399
  auth_config_cleared: ' ✅ 已清空登入設定',
@@ -599,7 +599,7 @@ openyida - 宜搭命令列工具
599
599
  import_example2: ' openyida import ./yida-export.json "品質追溯系統(正式環境)"',
600
600
  exec_failed: '\n❌ 執行失敗:{0}',
601
601
  auth_usage: '用法:openyida auth <status|login|refresh|logout>',
602
- auth_example: '範例:\n openyida auth status # 查看登入狀態\n openyida auth login # 執行登入\n openyida auth login --codex # Codex 內建瀏覽器登入\n openyida auth refresh # 刷新登入態\n openyida auth logout # 登出',
602
+ auth_example: '範例:\n openyida auth status # 查看登入狀態\n openyida auth login # 執行登入\n openyida auth refresh # 刷新登入態\n openyida auth logout # 登出',
603
603
  org_usage: '用法:openyida org <list|switch>',
604
604
  org_example: '範例:\n openyida org list # 列出可訪問的組織\n openyida org switch --corp-id dingXXX # 切換到指定組織',
605
605
  title: ' openyida import - 宜搭應用程式匯入工具',
@@ -1238,9 +1238,9 @@ openyida - 宜搭命令列工具
1238
1238
  title: ' openyida login {0} - {1} 登入模式',
1239
1239
  not_codex: '目前環境未偵測為 Codex / Qoder / 悟空,僅返回內建瀏覽器登入 handoff。',
1240
1240
  no_playwright: '{0} 登入模式不需要安裝 Playwright 或額外 Chromium。',
1241
- using_browser: '{0} 內建瀏覽器僅適合無需登入的頁面預覽;宜搭登入 Cookie 請使用 openyida login --browser。',
1242
- browser_handoff_hint: '{0} 內建瀏覽器不支援認證 Cookie 匯出;如需 CLI Cookie,請使用 openyida login --browser。',
1243
- handoff_message: '{0} 內建瀏覽器不能匯出宜搭登入 Cookie;如需 CLI Cookie,請執行 fallback_command。',
1244
- cache_available: '已存在可用的 CLI Cookie 緩存,無需重新開啟瀏覽器登入。',
1241
+ using_browser: '{0} in-app Browser is only suitable for unauthenticated page previews; use openyida login for CLI auth.',
1242
+ browser_handoff_hint: '{0} in-app Browser is not used for CLI auth. Use openyida login.',
1243
+ handoff_message: '{0} 內建瀏覽器不能匯出宜搭登入 Cookie;如需 CLI token session,請執行 fallback_command。',
1244
+ cache_available: '已存在可用的 CLI token session 緩存,無需重新開啟瀏覽器登入。',
1245
1245
  },
1246
1246
  };