@heybox/hb-sdk 0.9.1-alpha.7 → 0.9.1-alpha.9

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 (31) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +8 -8
  3. package/dist/cli-chunks/_commonjs-dynamic-modules-DUamuDzp.cjs +7 -0
  4. package/dist/cli-chunks/browser-RAy8e8cV.cjs +635 -0
  5. package/dist/cli-chunks/{build-Blt2jVCf.cjs → build-mIRvG3a8.cjs} +10 -14
  6. package/dist/cli-chunks/{context-LHhIFnwm.cjs → context-0uq4_H2M.cjs} +2 -2
  7. package/dist/cli-chunks/{create-BCtecycP.cjs → create-DDPUUzi1.cjs} +7 -12
  8. package/dist/cli-chunks/{dev-5yTbdw-i.cjs → dev-BOrmDVzH.cjs} +10 -10
  9. package/dist/cli-chunks/{doctor-CnMPJ0xu.cjs → doctor-BtOKr1SN.cjs} +9 -13
  10. package/dist/cli-chunks/{index-CCEGxh9a.cjs → index-DYqbUZfk.cjs} +9 -10
  11. package/dist/cli-chunks/{index-85kvRV7B.cjs → index-MMLoNdeZ.cjs} +13591 -10542
  12. package/dist/cli-chunks/{index.esm-B2j8wByD.cjs → index.esm-DYKzLyvN.cjs} +43 -43
  13. package/dist/cli-chunks/{login-BShtjJMm.cjs → login-Be95cDi7.cjs} +13 -12
  14. package/dist/cli-chunks/{project-vite-C9OxeWTo.cjs → project-vite-Si5Tyi7Q.cjs} +1 -1
  15. package/dist/cli-chunks/{remote-CKXsKfSJ.cjs → remote-D2XvKzs6.cjs} +44 -77
  16. package/dist/cli-chunks/{runtime-gate-MNA7lKMW.cjs → runtime-gate-B0YPKxEd.cjs} +9 -13
  17. package/dist/cli-chunks/{runtime-permission-env-lj-frZ7T.cjs → runtime-permission-env-CzhGcDRj.cjs} +18 -2795
  18. package/dist/cli-chunks/{skill-ag7O2U_r.cjs → skill-7n-Yn9ny.cjs} +10 -14
  19. package/dist/cli-chunks/{version-CrnB-YNH.cjs → version-B1aYSptt.cjs} +1 -1
  20. package/dist/cli.cjs +11 -16
  21. package/dist/devtools/browser-dev-host/assets/{browser-dev-host-CjvQmKkG.js → browser-dev-host-Iyo4aIMO.js} +1 -1
  22. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-DoA60Rdl.js → desktop-app-launch-DzaVQPma.js} +1 -1
  23. package/dist/devtools/browser-dev-host/assets/{index-BDvaA1DV.js → index-hh0NzK3n.js} +3 -3
  24. package/dist/devtools/browser-dev-host/index.html +2 -2
  25. package/dist/index.cjs.js +1 -1
  26. package/dist/index.esm.js +1 -1
  27. package/dist/vite.cjs.js +1 -1
  28. package/dist/vite.esm.js +1 -1
  29. package/package.json +5 -4
  30. package/skill/skill.json +4 -4
  31. package/dist/cli-chunks/browser-DS7b1F4w.cjs +0 -15
@@ -1,48 +1,48 @@
1
1
  'use strict';
2
2
 
3
- var require$$0$5 = require('events');
3
+ var require$$0$4 = require('events');
4
4
  var require$$4 = require('https');
5
5
  var require$$2 = require('http');
6
- var require$$0$6 = require('net');
7
- var require$$4$1 = require('tls');
8
- var require$$0$3 = require('crypto');
9
- var require$$0$2 = require('stream');
10
- var require$$0$4 = require('url');
11
- var require$$0 = require('zlib');
12
- var require$$0$1 = require('buffer');
6
+ var require$$0$5 = require('net');
7
+ var require$$3 = require('tls');
8
+ var require$$0$2 = require('crypto');
9
+ var require$$0$1 = require('stream');
10
+ var require$$0$3 = require('url');
11
+ var require$$5 = require('zlib');
12
+ var require$$0 = require('buffer');
13
13
  var require$$1 = require('util');
14
- var index = require('./index-85kvRV7B.cjs');
15
- var dev = require('./dev-5yTbdw-i.cjs');
14
+ var index = require('./index-MMLoNdeZ.cjs');
15
+ var dev = require('./dev-BOrmDVzH.cjs');
16
16
  require('node:module');
17
- require('node:fs/promises');
17
+ require('readline');
18
+ require('os');
19
+ require('tty');
20
+ require('assert');
21
+ require('node:crypto');
18
22
  require('node:path');
19
23
  require('path');
20
- require('os');
21
24
  require('fs');
22
25
  require('constants');
23
- require('assert');
24
- require('readline');
25
- require('tty');
26
- require('node:crypto');
27
- require('node:process');
28
- require('node:buffer');
29
- require('node:url');
30
- require('node:util');
31
- require('node:child_process');
32
- require('node:os');
33
26
  require('node:fs');
34
- require('./context-LHhIFnwm.cjs');
35
- require('./runtime-permission-env-lj-frZ7T.cjs');
36
- require('./version-CrnB-YNH.cjs');
27
+ require('node:fs/promises');
28
+ require('node:zlib');
29
+ require('./context-0uq4_H2M.cjs');
30
+ require('./runtime-permission-env-CzhGcDRj.cjs');
31
+ require('./version-B1aYSptt.cjs');
37
32
  require('node:async_hooks');
38
33
  require('sharp');
34
+ require('node:os');
39
35
  require('node:net');
40
36
  require('node:dns/promises');
41
37
  require('node:http');
42
38
  require('undici');
43
- require('./browser-DS7b1F4w.cjs');
44
- require('./project-vite-C9OxeWTo.cjs');
45
- require('node:zlib');
39
+ require('./browser-RAy8e8cV.cjs');
40
+ require('node:process');
41
+ require('node:buffer');
42
+ require('node:url');
43
+ require('node:util');
44
+ require('node:child_process');
45
+ require('./project-vite-Si5Tyi7Q.cjs');
46
46
 
47
47
  var bufferUtil = {exports: {}};
48
48
 
@@ -281,7 +281,7 @@ function requirePermessageDeflate () {
281
281
  if (hasRequiredPermessageDeflate) return permessageDeflate;
282
282
  hasRequiredPermessageDeflate = 1;
283
283
 
284
- const zlib = require$$0;
284
+ const zlib = require$$5;
285
285
 
286
286
  const bufferUtil = requireBufferUtil();
287
287
  const Limiter = requireLimiter();
@@ -818,7 +818,7 @@ function requireValidation () {
818
818
  if (hasRequiredValidation) return validation.exports;
819
819
  hasRequiredValidation = 1;
820
820
 
821
- const { isUtf8 } = require$$0$1;
821
+ const { isUtf8 } = require$$0;
822
822
 
823
823
  const { hasBlob } = requireConstants();
824
824
 
@@ -978,7 +978,7 @@ function requireReceiver () {
978
978
  if (hasRequiredReceiver) return receiver;
979
979
  hasRequiredReceiver = 1;
980
980
 
981
- const { Writable } = require$$0$2;
981
+ const { Writable } = require$$0$1;
982
982
 
983
983
  const PerMessageDeflate = requirePermessageDeflate();
984
984
  const {
@@ -1748,8 +1748,8 @@ function requireSender () {
1748
1748
  if (hasRequiredSender) return sender;
1749
1749
  hasRequiredSender = 1;
1750
1750
 
1751
- const { Duplex } = require$$0$2;
1752
- const { randomFillSync } = require$$0$3;
1751
+ const { Duplex } = require$$0$1;
1752
+ const { randomFillSync } = require$$0$2;
1753
1753
  const {
1754
1754
  types: { isUint8Array }
1755
1755
  } = require$$1;
@@ -2874,14 +2874,14 @@ function requireWebsocket () {
2874
2874
  if (hasRequiredWebsocket) return websocket;
2875
2875
  hasRequiredWebsocket = 1;
2876
2876
 
2877
- const EventEmitter = require$$0$5;
2877
+ const EventEmitter = require$$0$4;
2878
2878
  const https = require$$4;
2879
2879
  const http = require$$2;
2880
- const net = require$$0$6;
2881
- const tls = require$$4$1;
2882
- const { randomBytes, createHash } = require$$0$3;
2883
- const { Duplex, Readable } = require$$0$2;
2884
- const { URL } = require$$0$4;
2880
+ const net = require$$0$5;
2881
+ const tls = require$$3;
2882
+ const { randomBytes, createHash } = require$$0$2;
2883
+ const { Duplex, Readable } = require$$0$1;
2884
+ const { URL } = require$$0$3;
2885
2885
 
2886
2886
  const PerMessageDeflate = requirePermessageDeflate();
2887
2887
  const Receiver = requireReceiver();
@@ -4290,7 +4290,7 @@ function requireStream () {
4290
4290
  hasRequiredStream = 1;
4291
4291
 
4292
4292
  requireWebsocket();
4293
- const { Duplex } = require$$0$2;
4293
+ const { Duplex } = require$$0$1;
4294
4294
 
4295
4295
  /**
4296
4296
  * Emits the `'close'` event on a stream.
@@ -4544,10 +4544,10 @@ function requireWebsocketServer () {
4544
4544
  if (hasRequiredWebsocketServer) return websocketServer;
4545
4545
  hasRequiredWebsocketServer = 1;
4546
4546
 
4547
- const EventEmitter = require$$0$5;
4547
+ const EventEmitter = require$$0$4;
4548
4548
  const http = require$$2;
4549
- const { Duplex } = require$$0$2;
4550
- const { createHash } = require$$0$3;
4549
+ const { Duplex } = require$$0$1;
4550
+ const { createHash } = require$$0$2;
4551
4551
 
4552
4552
  const extension = requireExtension();
4553
4553
  const PerMessageDeflate = requirePermessageDeflate();
@@ -3,29 +3,30 @@
3
3
  var promises = require('node:readline/promises');
4
4
  var node_crypto = require('node:crypto');
5
5
  var node_http = require('node:http');
6
- var index = require('./index-85kvRV7B.cjs');
7
- var browser = require('./browser-DS7b1F4w.cjs');
6
+ var index = require('./index-MMLoNdeZ.cjs');
7
+ var browser = require('./browser-RAy8e8cV.cjs');
8
8
  require('node:module');
9
- require('node:fs/promises');
10
- require('node:path');
11
- require('path');
12
- require('os');
13
- require('fs');
14
- require('constants');
15
- require('stream');
16
- require('util');
17
- require('assert');
18
9
  require('readline');
10
+ require('os');
19
11
  require('tty');
12
+ require('assert');
20
13
  require('events');
14
+ require('stream');
21
15
  require('buffer');
16
+ require('util');
17
+ require('node:path');
18
+ require('path');
19
+ require('fs');
20
+ require('constants');
21
+ require('node:fs');
22
+ require('node:fs/promises');
23
+ require('node:zlib');
22
24
  require('node:process');
23
25
  require('node:buffer');
24
26
  require('node:url');
25
27
  require('node:util');
26
28
  require('node:child_process');
27
29
  require('node:os');
28
- require('node:fs');
29
30
 
30
31
  const HEYBOX_CALLBACK_HOST = '127.0.0.1';
31
32
  const HEYBOX_CALLBACK_PATH = '/heybox/callback';
@@ -5,7 +5,7 @@ var fs$1 = require('node:fs/promises');
5
5
  var node_module = require('node:module');
6
6
  var path = require('node:path');
7
7
  var node_url = require('node:url');
8
- var index = require('./index-85kvRV7B.cjs');
8
+ var index = require('./index-MMLoNdeZ.cjs');
9
9
 
10
10
  function findProjectRoot(startDir) {
11
11
  let current = path.resolve(startDir);
@@ -1,79 +1,38 @@
1
1
  'use strict';
2
2
 
3
- var runtimePermissionEnv = require('./runtime-permission-env-lj-frZ7T.cjs');
4
- var context = require('./context-LHhIFnwm.cjs');
3
+ var runtimePermissionEnv = require('./runtime-permission-env-CzhGcDRj.cjs');
4
+ var context = require('./context-0uq4_H2M.cjs');
5
5
  var promises = require('node:readline/promises');
6
- var index = require('./index-85kvRV7B.cjs');
7
- var runtimeGate = require('./runtime-gate-MNA7lKMW.cjs');
6
+ var index = require('./index-MMLoNdeZ.cjs');
7
+ var runtimeGate = require('./runtime-gate-B0YPKxEd.cjs');
8
8
  var childProcess = require('node:child_process');
9
9
  var fs = require('node:fs');
10
10
  var fs$1 = require('node:fs/promises');
11
11
  var path = require('node:path');
12
12
  var node_crypto = require('node:crypto');
13
13
  require('node:zlib');
14
- require('./version-CrnB-YNH.cjs');
14
+ require('./version-B1aYSptt.cjs');
15
15
  require('node:async_hooks');
16
16
  require('sharp');
17
17
  require('node:module');
18
- require('path');
19
- require('os');
20
- require('fs');
21
- require('constants');
22
- require('stream');
23
- require('util');
24
- require('assert');
25
18
  require('readline');
19
+ require('os');
26
20
  require('tty');
21
+ require('assert');
27
22
  require('events');
23
+ require('stream');
28
24
  require('buffer');
29
- require('node:process');
30
- require('node:buffer');
25
+ require('util');
26
+ require('path');
27
+ require('fs');
28
+ require('constants');
31
29
  require('node:url');
32
- require('node:util');
33
- require('node:os');
30
+ require('./_commonjs-dynamic-modules-DUamuDzp.cjs');
34
31
  require('inspector');
35
32
 
36
33
  // 脚手架开发占位图;构建可用,提审前必须替换。
37
34
  const BASIC_INFO_PLACEHOLDER_SHA256 = 'd14e54b30f5e6d1bcbf51267bc82b06a0af7c333f2945bcc16b4e1adc3b123dd';
38
35
 
39
- async function getCDNUploadInfo(options, runtime = {}) {
40
- const body = new URLSearchParams();
41
- body.set('file_infos', JSON.stringify(options.fileInfos));
42
- body.set('scope', options.scope);
43
- body.set('need_cache', options.needCache ? '1' : '0');
44
- return postHeyboxApi('/bbs/app/api/qcloud/cos/upload/info/v2', body, options.session, runtime);
45
- }
46
- async function getCDNUploadToken(options, runtime = {}) {
47
- const body = new URLSearchParams();
48
- body.set('bucket', options.bucket);
49
- body.set('keys', JSON.stringify(options.keys));
50
- body.set('mimetypes', JSON.stringify(options.mimetypes));
51
- body.set('is_multipart_upload', String(options.isMultipartUpload));
52
- return postHeyboxApi('/bbs/app/api/qcloud/cos/upload/token/v2', body, options.session, runtime);
53
- }
54
- async function postCDNUploadCallback(options, runtime = {}) {
55
- const body = new URLSearchParams();
56
- body.set('keys', JSON.stringify(options.keys));
57
- const query = options.isFinished ? '?is_finished=true' : '';
58
- return postHeyboxApi(`/bbs/app/api/qcloud/cos/upload/callback/v2${query}`, body, options.session, runtime);
59
- }
60
- async function postHeyboxApi(pathWithQuery, body, session, runtime) {
61
- const fetchImpl = runtime.fetchImpl ?? fetch;
62
- const context = index.createHeyboxOpenPlatformRequestContext(session, pathWithQuery, {
63
- contentType: 'application/x-www-form-urlencoded',
64
- });
65
- // CDN 使用共用上传服务,不随小程序服务的个人测试 tag 切换。
66
- delete context.headers['x-rylai-service-tag'];
67
- delete context.platformParams.special_tag;
68
- const response = await fetchImpl(index.createHeyboxApiUrl(runtime.baseUrl ?? context.baseUrl, pathWithQuery, context.platformParams), {
69
- method: 'POST',
70
- headers: context.headers,
71
- body: body.toString(),
72
- });
73
- const result = await index.readHeyboxApiEnvelope(response, { pathWithQuery, requireResult: true });
74
- return result;
75
- }
76
-
77
36
  const CREATE_USER_MINIPROGRAM_UPLOAD_SESSION_API_PATH = '/mall/developer/user_miniprogram/version/upload_session/create';
78
37
  const RECORD_USER_MINIPROGRAM_UPLOAD_RESULT_API_PATH = '/mall/developer/user_miniprogram/version/upload_session/record';
79
38
  const COMPANION_FINALIZATION_TIMEOUT_MS = 30 * 60_000;
@@ -156,9 +115,9 @@ async function runUpload(options, runtime = {}) {
156
115
  const logger = runtime.logger ?? index.createCliLogger();
157
116
  const concurrency = runtime.concurrency ?? DEFAULT_CONCURRENCY;
158
117
  const fetchImpl = runtime.fetchImpl ?? fetch;
159
- const getCDNUploadInfo$1 = runtime.getCDNUploadInfo ?? getCDNUploadInfo;
160
- const getCDNUploadToken$1 = runtime.getCDNUploadToken ?? getCDNUploadToken;
161
- const postCDNUploadCallback$1 = runtime.postCDNUploadCallback ?? postCDNUploadCallback;
118
+ const getCDNUploadInfo = runtime.getCDNUploadInfo ?? index.getCDNUploadInfo;
119
+ const getCDNUploadToken = runtime.getCDNUploadToken ?? index.getCDNUploadToken;
120
+ const postCDNUploadCallback = runtime.postCDNUploadCallback ?? index.postCDNUploadCallback;
162
121
  const recordUserMiniprogramUploadResult$1 = runtime.recordUserMiniprogramUploadResult ?? recordUserMiniprogramUploadResult;
163
122
  const createReadStream = runtime.createReadStream ?? fs.createReadStream;
164
123
  const cdnBaseUrl = runtime.cdnBaseUrl ?? runtime.baseUrl;
@@ -182,7 +141,7 @@ async function runUpload(options, runtime = {}) {
182
141
  logger.debug(`正在处理上传批次 ${batchIndex + 1}/${batches.length},文件数: ${batch.length}`);
183
142
  logger.debug('正在获取 CDN 上传信息');
184
143
  const fileInfos = createUploadFileInfos(batch);
185
- const uploadInfo = grant ?? await getCDNUploadInfo$1({
144
+ const uploadInfo = grant ?? await getCDNUploadInfo({
186
145
  session: options.session,
187
146
  scope: runtimePermissionEnv.MINIAPP_UPLOAD_SCOPE,
188
147
  fileInfos,
@@ -198,7 +157,7 @@ async function runUpload(options, runtime = {}) {
198
157
  uploadToken = grant ? {
199
158
  credentials: { tmpSecretId: grant.tmp_secret_id, tmpSecretKey: grant.tmp_secret_key, sessionToken: grant.session_token },
200
159
  startTime: grant.start_time, expiredTime: grant.expired_time,
201
- } : await getCDNUploadToken$1({
160
+ } : await getCDNUploadToken({
202
161
  session: options.session,
203
162
  bucket: uploadInfo.bucket,
204
163
  keys: indexedFiles.map((item) => item.key),
@@ -250,7 +209,7 @@ async function runUpload(options, runtime = {}) {
250
209
  if (successfulKeys.length > 0) {
251
210
  logger.debug('正在确认 CDN 上传结果');
252
211
  if (!companion)
253
- await postCDNUploadCallback$1({ session: options.session, keys: successfulKeys, isFinished: true }, { baseUrl: cdnBaseUrl, fetchImpl });
212
+ await postCDNUploadCallback({ session: options.session, keys: successfulKeys, isFinished: true }, { baseUrl: cdnBaseUrl, fetchImpl });
254
213
  await recordUserMiniprogramUploadResult$1({
255
214
  session: options.session,
256
215
  miniProgramId: options.miniProgramId,
@@ -327,7 +286,7 @@ function createDefaultCosClient(uploadToken, COS) {
327
286
  };
328
287
  }
329
288
  async function loadCosConstructor() {
330
- const cosModule = await Promise.resolve().then(function () { return require('./index-CCEGxh9a.cjs'); }).then(function (n) { return n.index; });
289
+ const cosModule = await Promise.resolve().then(function () { return require('./index-DYqbUZfk.cjs'); }).then(function (n) { return n.index; });
331
290
  return cosModule.default;
332
291
  }
333
292
  function formatSize(bytes) {
@@ -532,18 +491,18 @@ function isNodeError(error) {
532
491
  return error instanceof Error && 'code' in error;
533
492
  }
534
493
 
535
- /** 发布提示只比较显式声明与线上批准,不消费本地调试授权。 */
536
- function getUnapprovedPermissionWarning(local, approvals) {
494
+ /** 发布提示使用显式声明与远端主体批准策略,不消费本地调试授权。 */
495
+ function getUnapprovedPermissionWarning(local, approvals, partyType) {
537
496
  if (!local.declared)
538
497
  return undefined;
539
- const { views } = runtimePermissionEnv.composeMiniappRuntimePermissions(local, approvals);
498
+ const { views } = runtimePermissionEnv.composeMiniappRuntimePermissions(local, approvals, partyType);
540
499
  const missing = [];
541
500
  for (const view of views) {
542
501
  if (!view.declared || view.access !== 'platform-approval')
543
502
  continue;
544
- if (!view.approved)
503
+ if (!view.effective)
545
504
  missing.push(view.key);
546
- if (view.key === 'network' && view.requestedConfig?.useOfficialDomain && !view.approvedConfig?.useOfficialDomain) {
505
+ if (view.key === 'network' && view.requestedConfig?.useOfficialDomain && !view.effectiveConfig?.useOfficialDomain) {
547
506
  missing.push('network.useOfficialDomain');
548
507
  }
549
508
  }
@@ -635,9 +594,9 @@ async function runDeployCommand(options, runtime = {}) {
635
594
  loginBaseUrl,
636
595
  session,
637
596
  }), { successText: '已读取远端小程序权限' });
638
- const localNetworkEnabled = !localPermissions.declared || localPermissions.permissions?.network?.enabled === true;
639
- skipPlatformCsp = localNetworkEnabled && context.shouldSkipMiniappPlatformCsp(detail.runtime_permissions);
640
- const permissionWarning = getUnapprovedPermissionWarning(localPermissions, detail.runtime_permissions);
597
+ const effectivePermissions = runtimePermissionEnv.composeMiniappRuntimePermissions(localPermissions, detail.runtime_permissions, detail.party_type).runtimePermissions;
598
+ skipPlatformCsp = context.shouldSkipMiniappPlatformCsp(effectivePermissions);
599
+ const permissionWarning = getUnapprovedPermissionWarning(localPermissions, detail.runtime_permissions, detail.party_type);
641
600
  if (permissionWarning)
642
601
  logger.warn(permissionWarning);
643
602
  }
@@ -1415,7 +1374,7 @@ async function remoteInfo(options, context$1, runtime) {
1415
1374
  const miniProgramId = requireBinding(context$1);
1416
1375
  const detail = await context$1.api.getMiniProgramDetail(miniProgramId);
1417
1376
  const localPermissions = runtimePermissionEnv.readMiniappPermissionsFromPackageJson(context$1.packageJson.projectRoot, runtimePermissionEnv.resolveMiniappSdkVersion());
1418
- const permissionViews = runtimePermissionEnv.composeMiniappRuntimePermissions(localPermissions, detail.runtime_permissions).views;
1377
+ const permissionViews = runtimePermissionEnv.composeMiniappRuntimePermissions(localPermissions, detail.runtime_permissions, detail.party_type).views;
1419
1378
  const localBindAppIds = runtimePermissionEnv.readMiniappBindAppIdsFromPackageJson(context$1.packageJson.projectRoot);
1420
1379
  const currentBindApps = normalizeRemoteBoundApps(detail.bind_apps);
1421
1380
  const currentByID = new Map(currentBindApps.map((item) => [item.appid, item]));
@@ -1469,18 +1428,24 @@ async function remoteAllowlistWrite(options, context, runtime) {
1469
1428
  async function remotePermissionList(options, context, runtime) {
1470
1429
  const miniProgramId = requireBinding(context);
1471
1430
  const result = await context.api.listPermissionApplications(miniProgramId);
1431
+ const detail = await context.api.getMiniProgramDetail(miniProgramId);
1432
+ const localPermissions = runtimePermissionEnv.readMiniappPermissionsFromPackageJson(context.packageJson.projectRoot, runtimePermissionEnv.resolveMiniappSdkVersion());
1433
+ const { views } = runtimePermissionEnv.composeMiniappRuntimePermissions(localPermissions, result.runtime_permissions, detail.party_type);
1472
1434
  if (!options.json) {
1473
- for (const item of result.items) {
1474
- const application = item.latest_application;
1475
- const approval = result.runtime_permissions?.entries?.find(entry => entry.key === item.permission_key);
1476
- context.logger.info(`${item.permission_key} (${item.permission_name}) 平台状态=${approval?.status ?? 'disabled'} 最近申请=${application?.status ?? '未申请'}`);
1435
+ for (const view of views.filter(entry => entry.access === 'platform-approval')) {
1436
+ const item = result.items.find(entry => entry.permission_key === view.key);
1437
+ const application = item?.latest_application;
1438
+ const name = item?.permission_name ?? runtimePermissionEnv.MINI_PROGRAM_PERMISSION_CATALOG.find(entry => entry.key === view.key)?.name ?? view.key;
1439
+ const approval = result.runtime_permissions?.entries?.find(entry => entry.key === view.key);
1440
+ const source = view.approvalSource === 'first-party' ? ' 批准来源=第一方自动批准' : '';
1441
+ context.logger.info(`${view.key} (${name}) 原始审批=${approval?.status ?? 'disabled'}${source} 本地生效=${view.effective ? 'enabled' : 'disabled'} 最近申请=${application?.status ?? '未申请'}`);
1477
1442
  if (application?.application_id)
1478
1443
  context.logger.info(`申请 ID:${application.application_id}`);
1479
1444
  if (application?.review_remark)
1480
1445
  context.logger.info(`审核意见:${application.review_remark}`);
1481
1446
  }
1482
1447
  }
1483
- return finishRemoteCommand(options, runtime, { changed: false, miniProgramId, items: toCamelCaseDeep(result.items), runtimePermissions: toCamelCaseDeep(result.runtime_permissions) });
1448
+ return finishRemoteCommand(options, runtime, { changed: false, miniProgramId, items: toCamelCaseDeep(result.items), runtimePermissions: toCamelCaseDeep(result.runtime_permissions), permissions: views });
1484
1449
  }
1485
1450
  async function remotePermissionApply(options, context, runtime) {
1486
1451
  const miniProgramId = requireBinding(context);
@@ -1608,7 +1573,7 @@ async function remoteDangerousWrite(options, context, runtime) {
1608
1573
  status: detail.status,
1609
1574
  version,
1610
1575
  permissionWarning: options.command === 'release'
1611
- ? getUnapprovedPermissionWarning(runtimePermissionEnv.readMiniappPermissionsFromPackageJson(context.packageJson.projectRoot, runtimePermissionEnv.resolveMiniappSdkVersion()), detail.runtime_permissions)
1576
+ ? getUnapprovedPermissionWarning(runtimePermissionEnv.readMiniappPermissionsFromPackageJson(context.packageJson.projectRoot, runtimePermissionEnv.resolveMiniappSdkVersion()), detail.runtime_permissions, detail.party_type)
1612
1577
  : undefined,
1613
1578
  });
1614
1579
  if (options.command === 'release') {
@@ -1989,7 +1954,9 @@ function printMiniProgramDetail(logger, detail, permissionViews, bindings) {
1989
1954
  }
1990
1955
  logger.info('权限:');
1991
1956
  for (const view of permissionViews) {
1992
- const approval = view.access === 'platform-approval' ? ` 需申请=是 批准=${view.approved ? '是' : '否'}` : ' 需申请=否';
1957
+ const approval = view.approvalSource === 'first-party'
1958
+ ? ` 需申请=否 批准来源=第一方自动批准 原始批准=${view.approved ? '是' : '否'}`
1959
+ : view.access === 'platform-approval' ? ` 需申请=是 批准=${view.approved ? '是' : '否'}` : ' 需申请=否';
1993
1960
  const configs = view.requestedConfig
1994
1961
  ? ` requested=${JSON.stringify(view.requestedConfig)} approved=${JSON.stringify(view.approvedConfig)} effective=${JSON.stringify(view.effectiveConfig)}`
1995
1962
  : '';
@@ -5,17 +5,14 @@ require('node:module');
5
5
  require('node:url');
6
6
  var fs = require('node:fs');
7
7
  var path = require('node:path');
8
- var runtimePermissionEnv = require('./runtime-permission-env-lj-frZ7T.cjs');
9
- var index = require('./index-85kvRV7B.cjs');
10
- var require$$0 = require('fs');
8
+ var runtimePermissionEnv = require('./runtime-permission-env-CzhGcDRj.cjs');
9
+ var index = require('./index-MMLoNdeZ.cjs');
10
+ var _commonjsDynamicModules = require('./_commonjs-dynamic-modules-DUamuDzp.cjs');
11
+ var require$$0$1 = require('fs');
11
12
  var require$$1 = require('path');
12
- var require$$1$1 = require('os');
13
+ var require$$0 = require('os');
13
14
  var require$$6 = require('inspector');
14
15
 
15
- function commonjsRequire(path) {
16
- throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
17
- }
18
-
19
16
  var typescript = {exports: {}};
20
17
 
21
18
  var sourceMapSupport = {exports: {}};
@@ -7735,7 +7732,7 @@ function requireTypescript () {
7735
7732
  }
7736
7733
  }
7737
7734
  function isNodeLikeSystem() {
7738
- return typeof process !== "undefined" && !!process.nextTick && !process.browser && typeof commonjsRequire !== "undefined";
7735
+ return typeof process !== "undefined" && !!process.nextTick && !process.browser && typeof _commonjsDynamicModules.commonjsRequire !== "undefined";
7739
7736
  }
7740
7737
 
7741
7738
  // src/compiler/debug.ts
@@ -12227,9 +12224,9 @@ ${lanes.join("\n")}
12227
12224
  const byteOrderMarkIndicator = "\uFEFF";
12228
12225
  function getNodeSystem() {
12229
12226
  const nativePattern = /^native |^\([^)]+\)$|^(?:internal[\\/]|[\w\s]+(?:\.js)?$)/;
12230
- const _fs = require$$0;
12227
+ const _fs = require$$0$1;
12231
12228
  const _path = require$$1;
12232
- const _os = require$$1$1;
12229
+ const _os = require$$0;
12233
12230
  let _crypto;
12234
12231
  try {
12235
12232
  _crypto = require("crypto");
@@ -12359,7 +12356,7 @@ ${lanes.join("\n")}
12359
12356
  require: (baseDir, moduleName) => {
12360
12357
  try {
12361
12358
  const modulePath = resolveJSModule(moduleName, baseDir, nodeSystem);
12362
- return { module: commonjsRequire(modulePath), modulePath, error: void 0 };
12359
+ return { module: _commonjsDynamicModules.commonjsRequire(modulePath), modulePath, error: void 0 };
12363
12360
  } catch (error2) {
12364
12361
  return { module: void 0, modulePath: void 0, error: error2 };
12365
12362
  }
@@ -201944,7 +201941,6 @@ function walk(node, visit) {
201944
201941
  walk(node.content, visit);
201945
201942
  }
201946
201943
 
201947
- exports.commonjsRequire = commonjsRequire;
201948
201944
  exports.hasMiniappRuntimeGate = hasMiniappRuntimeGate;
201949
201945
  exports.verifyWorkspaceCardArtifacts = verifyWorkspaceCardArtifacts;
201950
201946
  exports.verifyWorkspaceCardsSnapshot = verifyWorkspaceCardsSnapshot;