openyida 2026.5.9-beta.1 → 2026.5.9-beta.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.
@@ -483,12 +483,15 @@ async function fetchLegacyQrCodeUrl(baseUrl, cookieHeader) {
483
483
  };
484
484
  }
485
485
 
486
- async function fetchDingtalkOAuthQrCodeUrl(loginPageUrl, cookieHeader) {
486
+ async function fetchDingtalkOAuthQrCodeUrl(loginPageUrl, cookieHeader, options = {}) {
487
487
  const parsedLoginUrl = new URL(loginPageUrl);
488
488
  const origin = parsedLoginUrl.origin;
489
489
  const apiUrl = `${origin}/oauth2/generate_qrcode`;
490
+ const targetCorpId = getTargetCorpId(options);
490
491
 
491
- const response = await fetchPost(apiUrl, buildOAuthPostData(loginPageUrl), {
492
+ const response = await fetchPost(apiUrl, buildOAuthPostData(loginPageUrl, {
493
+ ...(targetCorpId ? { corpId: targetCorpId } : {}),
494
+ }), {
492
495
  cookieHeader,
493
496
  referer: loginPageUrl,
494
497
  origin,
@@ -522,6 +525,7 @@ async function fetchDingtalkOAuthQrCodeUrl(loginPageUrl, cookieHeader) {
522
525
  loginPageUrl,
523
526
  origin,
524
527
  code,
528
+ corpId: targetCorpId,
525
529
  },
526
530
  };
527
531
  }
@@ -534,9 +538,9 @@ async function fetchDingtalkOAuthQrCodeUrl(loginPageUrl, cookieHeader) {
534
538
  * @param {string} loginPageUrl
535
539
  * @returns {Promise<{ qrUrl: string, state: string, cookieHeader: string, context: object }>}
536
540
  */
537
- async function fetchQrCodeUrl(baseUrl, cookieHeader, loginPageUrl) {
541
+ async function fetchQrCodeUrl(baseUrl, cookieHeader, loginPageUrl, options = {}) {
538
542
  if (isDingtalkOAuthChallengeUrl(loginPageUrl)) {
539
- return fetchDingtalkOAuthQrCodeUrl(loginPageUrl, cookieHeader);
543
+ return fetchDingtalkOAuthQrCodeUrl(loginPageUrl, cookieHeader, options);
540
544
  }
541
545
 
542
546
  return fetchLegacyQrCodeUrl(baseUrl, cookieHeader);
@@ -546,7 +550,7 @@ async function postDingtalkOAuthLoginWithQr(context, cookieHeader, extraParams =
546
550
  const pollUrl = `${context.origin}/oauth2/login_with_qr`;
547
551
  const response = await fetchPost(pollUrl, buildOAuthPostData(context.loginPageUrl, {
548
552
  code: context.code,
549
- exclusiveCorpId: '',
553
+ ...(context.corpId ? { corpId: context.corpId } : {}),
550
554
  stayLogin: false,
551
555
  ...extraParams,
552
556
  }), {
@@ -585,7 +589,7 @@ async function pollDingtalkQrCodeStatus(state, cookieHeader, onWaiting, context,
585
589
 
586
590
  const { parsed, cookieHeader: updatedCookieHeader } = await postLoginWithQr(context, cookieHeader, {
587
591
  code: state,
588
- exclusiveCorpId: targetCorpId || '',
592
+ ...(targetCorpId ? { corpId: targetCorpId } : {}),
589
593
  stayLogin: false,
590
594
  });
591
595
  cookieHeader = updatedCookieHeader;
@@ -724,7 +728,7 @@ async function exchangeDingtalkOAuthResult(baseUrl, loginResult, cookieHeader, c
724
728
  selectedCorp = await resolveCorpSelection(corpList, options);
725
729
 
726
730
  const retryResult = await postLoginWithQr(context, cookieHeader, {
727
- exclusiveCorpId: selectedCorp.corpId,
731
+ corpId: selectedCorp.corpId,
728
732
  });
729
733
  cookieHeader = retryResult.cookieHeader;
730
734
  const parsed = retryResult.parsed;
@@ -1062,7 +1066,9 @@ async function startCodexQrLogin(options = {}) {
1062
1066
  const session = await fetchInitialSession(baseUrl, options);
1063
1067
  let { cookieHeader } = session;
1064
1068
  const { loginPageUrl } = session;
1065
- const { qrUrl, state, cookieHeader: updatedCookieHeader, context } = await fetchQrCodeUrl(baseUrl, cookieHeader, loginPageUrl);
1069
+ const { qrUrl, state, cookieHeader: updatedCookieHeader, context } = await fetchQrCodeUrl(baseUrl, cookieHeader, loginPageUrl, {
1070
+ corpId: targetCorpId,
1071
+ });
1066
1072
  cookieHeader = updatedCookieHeader;
1067
1073
 
1068
1074
  let imageWritten = false;
@@ -1224,7 +1230,9 @@ async function qrLogin(options = {}) {
1224
1230
  qStep(2, t('qr_login.step_get_qr'));
1225
1231
  let qrUrl, state, context;
1226
1232
  try {
1227
- ({ qrUrl, state, cookieHeader, context } = await fetchQrCodeUrl(baseUrl, cookieHeader, loginPageUrl));
1233
+ ({ qrUrl, state, cookieHeader, context } = await fetchQrCodeUrl(baseUrl, cookieHeader, loginPageUrl, {
1234
+ corpId: targetCorpId,
1235
+ }));
1228
1236
  } catch (err) {
1229
1237
  throw new Error(t('qr_login.get_qr_error', err.message));
1230
1238
  }
@@ -1364,6 +1372,7 @@ module.exports = {
1364
1372
  exchangeDingtalkOAuthResult,
1365
1373
  resolveDingtalkOAuthCorpForFreshQr,
1366
1374
  pollDingtalkQrCodeStatus,
1375
+ buildOAuthPostData,
1367
1376
  buildCodexCorpInteraction,
1368
1377
  buildCodexPollCommand,
1369
1378
  getTargetCorpId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openyida",
3
- "version": "2026.5.9-beta.1",
3
+ "version": "2026.5.9-beta.2",
4
4
  "description": "OpenYida CLI - 宜搭低代码 AI 开发工具(安装即用,零配置)",
5
5
  "bin": {
6
6
  "openyida": "bin/yida.js",