@heybox/hb-sdk 0.9.1-alpha.8 → 0.9.1

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 (43) hide show
  1. package/CHANGELOG.md +123 -17
  2. package/README.md +18 -17
  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-CQkpLf81.cjs → build-DCp9C9V4.cjs} +10 -14
  6. package/dist/cli-chunks/{context-CqJDNtEi.cjs → context-Bg6C5ow7.cjs} +10 -5
  7. package/dist/cli-chunks/{create-BRuR2M7y.cjs → create-D5bX2Xvw.cjs} +7 -12
  8. package/dist/cli-chunks/{dev-KJAFHEg_.cjs → dev-CFjwhG3q.cjs} +195 -82
  9. package/dist/cli-chunks/{doctor-DhiUViwk.cjs → doctor-CMz_Kf7-.cjs} +9 -13
  10. package/dist/cli-chunks/{index-9trmrUtW.cjs → index-B_KKGIBN.cjs} +13591 -10542
  11. package/dist/cli-chunks/{index-rxAV5dza.cjs → index-YnVa6S_p.cjs} +9 -10
  12. package/dist/cli-chunks/{index.esm-Cv9FlhXy.cjs → index.esm-CgZPnqEA.cjs} +43 -43
  13. package/dist/cli-chunks/{login-5DEcU9eL.cjs → login-Df_v6jNs.cjs} +13 -12
  14. package/dist/cli-chunks/{project-vite-CXWFwbEz.cjs → project-vite-By8cnIwP.cjs} +1 -1
  15. package/dist/cli-chunks/{remote-laUZaGpI.cjs → remote-ClIJz-e2.cjs} +42 -71
  16. package/dist/cli-chunks/{runtime-gate-DmJhPcNQ.cjs → runtime-gate-DKiyNwX2.cjs} +9 -13
  17. package/dist/cli-chunks/{runtime-permission-env-Gy2dH17F.cjs → runtime-permission-env-BNQ2fx4w.cjs} +82 -2794
  18. package/dist/cli-chunks/{skill--mZIZkyn.cjs → skill-Bk-EBSbJ.cjs} +10 -14
  19. package/dist/cli-chunks/{version-BMp9qmtC.cjs → version-CG_VNZGM.cjs} +1 -1
  20. package/dist/cli.cjs +11 -16
  21. package/dist/devtools/browser-dev-host/assets/browser-dev-host-C1g2tadT.js +102 -0
  22. package/dist/devtools/browser-dev-host/assets/{desktop-app-launch-BU-vzcs0.js → desktop-app-launch-sH2a_jbj.js} +1 -1
  23. package/dist/devtools/browser-dev-host/assets/{index-BRxbUJVN.css → index-7Cq8iNcD.css} +1 -1
  24. package/dist/devtools/browser-dev-host/assets/{index-BZBZfB4t.js → index-Bpxbe1lP.js} +4 -4
  25. package/dist/devtools/browser-dev-host/index.html +3 -3
  26. package/dist/index.cjs.js +16 -8
  27. package/dist/index.esm.js +16 -8
  28. package/dist/miniapp-publish.cjs.js +27 -0
  29. package/dist/miniapp-publish.esm.js +27 -0
  30. package/dist/protocol.cjs.js +1 -1
  31. package/dist/protocol.esm.js +1 -1
  32. package/dist/vite.cjs.js +36 -1
  33. package/dist/vite.esm.js +36 -1
  34. package/docs/runtime-host-migration.md +4 -2
  35. package/package.json +6 -5
  36. package/skill/SKILL.md +10 -0
  37. package/skill/skill.json +5 -5
  38. package/types/index.d.ts +124 -94
  39. package/types/miniapp-publish/index.d.ts +3 -0
  40. package/types/protocol.d.ts +47 -39
  41. package/types/vite/index.d.ts +1 -0
  42. package/dist/cli-chunks/browser-YVckob3g.cjs +0 -15
  43. package/dist/devtools/browser-dev-host/assets/browser-dev-host-COdk-39n.js +0 -102
@@ -1,23 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var index$2 = require('./index-9trmrUtW.cjs');
3
+ var index$2 = require('./index-B_KKGIBN.cjs');
4
4
  var require$$0$3 = require('fs');
5
5
  var require$$0$2 = require('crypto');
6
6
  var require$$1$2 = require('path');
7
7
  var require$$0$5 = require('assert');
8
8
  var require$$0$4 = require('events');
9
9
  var require$$1$1 = require('util');
10
- var runtimePermissionEnv = require('./runtime-permission-env-Gy2dH17F.cjs');
11
10
  var require$$0$7 = require('net');
12
11
  var require$$0$6 = require('url');
13
12
  var require$$2$1 = require('http');
14
13
  var require$$4$2 = require('https');
15
14
  var require$$0$8 = require('stream');
16
- var require$$0$a = require('zlib');
15
+ var require$$5$2 = require('zlib');
17
16
  var require$$1$3 = require('querystring');
18
17
  var require$$0$9 = require('buffer');
19
- var runtimeGate = require('./runtime-gate-DmJhPcNQ.cjs');
20
- var require$$4$3 = require('tls');
18
+ var _commonjsDynamicModules = require('./_commonjs-dynamic-modules-DUamuDzp.cjs');
19
+ var require$$3$2 = require('tls');
21
20
 
22
21
  function _mergeNamespaces(n, m) {
23
22
  m.forEach(function (e) {
@@ -13708,7 +13707,7 @@ function requireSource () {
13708
13707
  const ajv_1 = requireAjv$1();
13709
13708
  const ajv_formats_1 = requireDist();
13710
13709
  const debounceFn = requireDebounceFn();
13711
- const semver = runtimePermissionEnv.requireSemver();
13710
+ const semver = index$2.requireSemver();
13712
13711
  const onetime = index$2.requireOnetime();
13713
13712
  const encryptionAlgorithm = 'aes-256-cbc';
13714
13713
  const createPlainObject = () => {
@@ -23138,7 +23137,7 @@ function requireNaclFast () {
23138
23137
  for (i = 0; i < n; i++) x[i] = v[i];
23139
23138
  cleanup(v);
23140
23139
  });
23141
- } else if (typeof runtimeGate.commonjsRequire !== 'undefined') {
23140
+ } else if (typeof _commonjsDynamicModules.commonjsRequire !== 'undefined') {
23142
23141
  // Node.js.
23143
23142
  crypto = require$$0$2;
23144
23143
  if (crypto && crypto.randomBytes) {
@@ -44526,7 +44525,7 @@ function requireForeverAgent () {
44526
44525
  var util = require$$1$1
44527
44526
  , Agent = require$$2$1.Agent
44528
44527
  , net = require$$0$7
44529
- , tls = require$$4$3
44528
+ , tls = require$$3$2
44530
44529
  , AgentSSL = require$$4$2.Agent;
44531
44530
 
44532
44531
  function getConnectionName(host, port) {
@@ -55177,7 +55176,7 @@ function requireTunnelAgent () {
55177
55176
  if (hasRequiredTunnelAgent) return tunnelAgent;
55178
55177
  hasRequiredTunnelAgent = 1;
55179
55178
 
55180
- var tls = require$$4$3
55179
+ var tls = require$$3$2
55181
55180
  , http = require$$2$1
55182
55181
  , https = require$$4$2
55183
55182
  , events = require$$0$4
@@ -55663,7 +55662,7 @@ function requireRequest$1 () {
55663
55662
  var url = require$$0$6;
55664
55663
  var util = require$$1$1;
55665
55664
  var stream = require$$0$8;
55666
- var zlib = require$$0$a;
55665
+ var zlib = require$$5$2;
55667
55666
  var aws2 = requireAwsSign2();
55668
55667
  var aws4 = requireAws4();
55669
55668
  var httpSignature = requireLib$2();
@@ -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-9trmrUtW.cjs');
15
- var dev = require('./dev-KJAFHEg_.cjs');
14
+ var index = require('./index-B_KKGIBN.cjs');
15
+ var dev = require('./dev-CFjwhG3q.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-CqJDNtEi.cjs');
35
- require('./runtime-permission-env-Gy2dH17F.cjs');
36
- require('./version-BMp9qmtC.cjs');
27
+ require('node:fs/promises');
28
+ require('node:zlib');
29
+ require('./context-Bg6C5ow7.cjs');
30
+ require('./runtime-permission-env-BNQ2fx4w.cjs');
31
+ require('./version-CG_VNZGM.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-YVckob3g.cjs');
44
- require('./project-vite-CXWFwbEz.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-By8cnIwP.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-9trmrUtW.cjs');
7
- var browser = require('./browser-YVckob3g.cjs');
6
+ var index = require('./index-B_KKGIBN.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-9trmrUtW.cjs');
8
+ var index = require('./index-B_KKGIBN.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-Gy2dH17F.cjs');
4
- var context = require('./context-CqJDNtEi.cjs');
3
+ var runtimePermissionEnv = require('./runtime-permission-env-BNQ2fx4w.cjs');
4
+ var context = require('./context-Bg6C5ow7.cjs');
5
5
  var promises = require('node:readline/promises');
6
- var index = require('./index-9trmrUtW.cjs');
7
- var runtimeGate = require('./runtime-gate-DmJhPcNQ.cjs');
6
+ var index = require('./index-B_KKGIBN.cjs');
7
+ var runtimeGate = require('./runtime-gate-DKiyNwX2.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-BMp9qmtC.cjs');
14
+ require('./version-CG_VNZGM.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-rxAV5dza.cjs'); }).then(function (n) { return n.index; });
289
+ const cosModule = await Promise.resolve().then(function () { return require('./index-YnVa6S_p.cjs'); }).then(function (n) { return n.index; });
331
290
  return cosModule.default;
332
291
  }
333
292
  function formatSize(bytes) {
@@ -1426,7 +1385,7 @@ async function remoteInfo(options, context$1, runtime) {
1426
1385
  const removed = currentBindApps.filter((item) => !localIDs.has(item.appid));
1427
1386
  const bindings = { local, current: currentBindApps, added, removed };
1428
1387
  const basicInfo = await context.compareBasicInfo(context$1.packageJson.projectRoot, detail, runtime.fetchImpl);
1429
- const output = { changed: false, miniProgramId, detail: toCamelCaseDeep(detail), permissions: permissionViews, bindings, basicInfo };
1388
+ const output = { changed: false, miniProgramId, detail: toCamelCaseDeep(detail), permissions: permissionViews, permissionSources: { localDeclaration: localPermissions.permissions ?? null, onlineManifest: detail.manifest ?? null, onlineRuntimeSnapshot: detail.effective_runtime_permissions ?? null, platformApprovals: detail.runtime_permissions ?? null }, bindings, basicInfo };
1430
1389
  if (!options.json)
1431
1390
  context$1.logger.info(`版本资料:${basicInfo.status}`);
1432
1391
  if (!options.json) {
@@ -1993,16 +1952,28 @@ function printMiniProgramDetail(logger, detail, permissionViews, bindings) {
1993
1952
  if (detail.protocol_string) {
1994
1953
  logger.info(`Protocol: ${detail.protocol_string}`);
1995
1954
  }
1996
- logger.info('权限:');
1997
- for (const view of permissionViews) {
1998
- const approval = view.approvalSource === 'first-party'
1999
- ? ` 需申请=否 批准来源=第一方自动批准 原始批准=${view.approved ? '是' : '否'}`
2000
- : view.access === 'platform-approval' ? ` 需申请=是 批准=${view.approved ? '是' : '否'}` : ' 需申请=否';
2001
- const configs = view.requestedConfig
2002
- ? ` requested=${JSON.stringify(view.requestedConfig)} approved=${JSON.stringify(view.approvedConfig)} effective=${JSON.stringify(view.effectiveConfig)}`
2003
- : '';
2004
- logger.info(` ${view.key}: 声明=${view.declared ? '是' : '否'}${approval} 最终=${view.effective ? '可用' : '不可用'}${configs}`);
1955
+ logger.info('权限(本地声明 / 线上版本声明 / 平台批准):');
1956
+ const manifest = detail.manifest && typeof detail.manifest === 'object' ? detail.manifest : undefined;
1957
+ let online;
1958
+ try {
1959
+ online = manifest ? runtimePermissionEnv.parseMiniappPermissions(manifest.permissions, { present: Object.hasOwn(manifest, 'permissions'), sdkVersion: typeof detail.sdk_version === 'string' ? detail.sdk_version : '0.8.0' }) : undefined;
2005
1960
  }
1961
+ catch { /* 缺失或未知声明保持未知,不能推断线上可用。 */ }
1962
+ const publishedRuntime = runtimePermissionEnv.parseMiniProgramRuntimePermissions(detail.effective_runtime_permissions);
1963
+ let differs = false;
1964
+ for (const view of permissionViews) {
1965
+ const published = online ? online.permissions?.[view.key]?.enabled === true : undefined;
1966
+ const requested = online?.permissions?.[view.key];
1967
+ const changed = published !== undefined && (published !== view.declared ||
1968
+ (view.key === 'network' && published && view.requestedConfig?.useOfficialDomain !== (requested && 'useOfficialDomain' in requested ? requested.useOfficialDomain : undefined)));
1969
+ differs ||= changed;
1970
+ const approval = view.access === 'platform-approval' ? (view.approvalSource === 'first-party' ? '第一方自动批准' : view.approved ? '已批准' : '未批准') : '无需审批';
1971
+ logger.info(` ${view.key}: 本地声明=${view.declared ? '是' : '否'} 线上版本声明=${published === undefined ? '未知' : published ? '是' : '否'} 平台批准=${approval} 线上快照=${publishedRuntime.valid ? publishedRuntime.permissions[view.key]?.status ?? '缺少条目' : '未知'}${changed ? ' [不一致]' : ''}`);
1972
+ }
1973
+ if (differs)
1974
+ logger.warn('本地声明与线上版本不一致;本地调试结果不代表线上生效,需发布包含声明的新版本。');
1975
+ if (!online)
1976
+ logger.warn('未取得线上版本声明,无法确认线上生效状态;平台批准和本地声明不代表已发布。');
2006
1977
  if (bindings) {
2007
1978
  logger.info('关联游戏(本地/线上/新增/移除):');
2008
1979
  logger.info(` local=${formatBoundApps(bindings.local)}`);
@@ -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-Gy2dH17F.cjs');
9
- var index = require('./index-9trmrUtW.cjs');
10
- var require$$0 = require('fs');
8
+ var runtimePermissionEnv = require('./runtime-permission-env-BNQ2fx4w.cjs');
9
+ var index = require('./index-B_KKGIBN.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;