@abtnode/core 1.16.47-beta-20250731-014139-e860268f → 1.16.47-beta-20250805-095401-14eb156b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/api/node.js CHANGED
@@ -10,6 +10,8 @@ const canPackageReadWrite = require('@abtnode/util/lib/can-pkg-rw');
10
10
  const { toDelegateAddress } = require('@arcblock/did-util');
11
11
  const { MONITOR_RECORD_INTERVAL_SEC, NODE_MODES } = require('@abtnode/constant');
12
12
  const { getLauncherInfo } = require('@abtnode/auth/lib/launcher');
13
+ const { getProvider } = require('@abtnode/router-provider/lib');
14
+ const get = require('lodash/get');
13
15
 
14
16
  const logger = require('@abtnode/logger')('@abtnode/core:api:node');
15
17
 
@@ -18,6 +20,7 @@ const { validateNodeInfo, validateUpdateGateway } = require('../validators/node'
18
20
  const { getAll } = require('../blocklet/manager/engine');
19
21
  const { getDelegateState } = require('../util');
20
22
  const { NodeRuntimeMonitor } = require('../monitor/node-runtime-monitor');
23
+ const { hasMigratedToPostgres } = require('../util/migration-sqlite-to-postgres');
21
24
  const getHistoryList = require('../monitor/get-history-list');
22
25
 
23
26
  class NodeAPI {
@@ -103,10 +106,33 @@ class NodeAPI {
103
106
  return diskInfo;
104
107
  }
105
108
 
109
+ async getServerProviders({ dataDir } = {}) {
110
+ const nodeInfo = await this.state.read();
111
+ const name = get(nodeInfo, 'routing.provider', null);
112
+ const Provider = getProvider(name);
113
+ const routerProvider = [name, Provider.version].join('@');
114
+ const dataPath = dataDir || process.env.ABT_NODE_DATA_DIR;
115
+ const postgresVersion = process.env.ABT_NODE_POSTGRES_VERSION || '17.5';
116
+ let dbProvider = '';
117
+ if (hasMigratedToPostgres(dataPath)) {
118
+ dbProvider = `PostgresGQL@${postgresVersion}`;
119
+ } else {
120
+ const sqliteVersion = await this.state.getSqliteVersion();
121
+ dbProvider = sqliteVersion ? `SQLite@${sqliteVersion}` : 'SQLite';
122
+ }
123
+
124
+ return {
125
+ routerProvider,
126
+ ...(dbProvider ? { dbProvider } : {}),
127
+ };
128
+ }
129
+
106
130
  async getEnv() {
107
131
  const info = await IP.get({ timeout: 5000 });
108
132
  info.internalV4 = info.internal;
109
133
  info.externalV4 = info.external;
134
+ // get router provider info
135
+ const providers = await this.getServerProviders();
110
136
 
111
137
  const res = {
112
138
  ip: info,
@@ -116,6 +142,7 @@ class NodeAPI {
116
142
  blockletEngines: getAll(),
117
143
  gitpod: isGitpod(),
118
144
  disk: await this.getDiskInfo(),
145
+ ...providers,
119
146
  };
120
147
 
121
148
  return res;
package/lib/api/team.js CHANGED
@@ -7,6 +7,7 @@ const throttle = require('lodash/throttle');
7
7
  const cloneDeep = require('@abtnode/util/lib/deep-clone');
8
8
  const { joinURL, withoutTrailingSlash } = require('ufo');
9
9
  const { Op } = require('sequelize');
10
+ const dayjs = require('@abtnode/util/lib/dayjs');
10
11
 
11
12
  const logger = require('@abtnode/logger')('@abtnode/core:api:team');
12
13
  const {
@@ -948,6 +949,10 @@ class TeamAPI extends EventEmitter {
948
949
  throw new Error('Role cannot be empty');
949
950
  }
950
951
 
952
+ if (passportExpireTime && dayjs(passportExpireTime).isBefore(dayjs())) {
953
+ throw new Error('Passport expire time must be greater than current time');
954
+ }
955
+
951
956
  const roles = await this.getRoles({ teamDid });
952
957
  const role = roles.find((r) => r.name === roleName);
953
958
  if (!role) {
@@ -1640,18 +1645,16 @@ class TeamAPI extends EventEmitter {
1640
1645
 
1641
1646
  const sanitized = withoutTrailingSlash(await StoreUtil.getStoreUrl(url));
1642
1647
  const storeList = await this.teamManager.getStoreList(teamDid);
1643
- const did = context?.user?.did;
1644
1648
  const exists = storeList.some((x) => {
1645
- if (x.url !== sanitized) {
1646
- return false;
1647
- }
1648
- if (x.scope && x.scope === did) {
1649
- return true;
1650
- }
1651
- if (!x.scope || x.scope === 'studio') {
1652
- return true;
1649
+ if (x.url === sanitized) {
1650
+ if (!x.scope) {
1651
+ return true;
1652
+ }
1653
+
1654
+ return x.scope === scope;
1653
1655
  }
1654
- return x.scope === scope;
1656
+
1657
+ return false;
1655
1658
  });
1656
1659
 
1657
1660
  if (exists) {
@@ -38918,7 +38918,7 @@ module.exports = require("zlib");
38918
38918
  /***/ ((module) => {
38919
38919
 
38920
38920
  "use strict";
38921
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@abtnode/core","publishConfig":{"access":"public"},"version":"1.16.46","description":"","main":"lib/index.js","files":["lib"],"scripts":{"lint":"eslint tests lib --ignore-pattern \'tests/assets/*\'","lint:fix":"eslint --fix tests lib","test":"node tools/jest.js","coverage":"npm run test -- --coverage"},"keywords":[],"author":"wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)","license":"Apache-2.0","dependencies":{"@abtnode/analytics":"1.16.46","@abtnode/auth":"1.16.46","@abtnode/certificate-manager":"1.16.46","@abtnode/client":"1.16.46","@abtnode/constant":"1.16.46","@abtnode/cron":"1.16.46","@abtnode/db-cache":"1.16.46","@abtnode/docker-utils":"1.16.46","@abtnode/logger":"1.16.46","@abtnode/models":"1.16.46","@abtnode/queue":"1.16.46","@abtnode/rbac":"1.16.46","@abtnode/router-provider":"1.16.46","@abtnode/static-server":"1.16.46","@abtnode/timemachine":"1.16.46","@abtnode/util":"1.16.46","@aigne/aigne-hub":"^0.2.2","@arcblock/did":"1.21.0","@arcblock/did-auth":"1.21.0","@arcblock/did-ext":"1.21.0","@arcblock/did-motif":"^1.1.14","@arcblock/did-util":"1.21.0","@arcblock/event-hub":"1.21.0","@arcblock/jwt":"1.21.0","@arcblock/pm2-events":"^0.0.5","@arcblock/validator":"1.21.0","@arcblock/vc":"1.21.0","@blocklet/constant":"1.16.46","@blocklet/did-space-js":"^1.1.10","@blocklet/env":"1.16.46","@blocklet/error":"^0.2.5","@blocklet/meta":"1.16.46","@blocklet/resolver":"1.16.46","@blocklet/sdk":"1.16.46","@blocklet/store":"1.16.46","@blocklet/theme":"^3.0.36","@fidm/x509":"^1.2.1","@ocap/mcrypto":"1.21.0","@ocap/util":"1.21.0","@ocap/wallet":"1.21.0","@slack/webhook":"^5.0.4","archiver":"^7.0.1","axios":"^1.7.9","axon":"^2.0.3","chalk":"^4.1.2","cross-spawn":"^7.0.3","dayjs":"^1.11.13","deep-diff":"^1.0.2","detect-port":"^1.5.1","envfile":"^7.1.0","escape-string-regexp":"^4.0.0","fast-glob":"^3.3.2","filesize":"^10.1.1","flat":"^5.0.2","fs-extra":"^11.2.0","get-port":"^5.1.1","hasha":"^5.2.2","is-base64":"^1.1.0","is-cidr":"4","is-ip":"3","is-url":"^1.2.4","joi":"17.12.2","joi-extension-semver":"^5.0.0","js-yaml":"^4.1.0","kill-port":"^2.0.1","lodash":"^4.17.21","node-stream-zip":"^1.15.0","p-all":"^3.0.0","p-limit":"^3.1.0","p-map":"^4.0.0","p-retry":"^4.6.2","p-wait-for":"^3.2.0","rate-limiter-flexible":"^5.0.5","read-last-lines":"^1.8.0","semver":"^7.6.3","sequelize":"^6.35.0","shelljs":"^0.8.5","slugify":"^1.6.6","ssri":"^8.0.1","stream-throttle":"^0.1.3","stream-to-promise":"^3.0.0","systeminformation":"^5.23.3","tail":"^2.2.4","tar":"^6.1.11","transliteration":"^2.3.5","ua-parser-js":"^1.0.2","ufo":"^1.5.3","uuid":"^11.1.0","valid-url":"^1.0.9","which":"^2.0.2","xbytes":"^1.8.0"},"devDependencies":{"expand-tilde":"^2.0.2","express":"^4.18.2","jest":"^29.7.0","unzipper":"^0.10.11"},"gitHead":"e5764f753181ed6a7c615cd4fc6682aacf0cb7cd"}');
38921
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@abtnode/core","publishConfig":{"access":"public"},"version":"1.16.46","description":"","main":"lib/index.js","files":["lib"],"scripts":{"lint":"eslint tests lib --ignore-pattern \'tests/assets/*\'","lint:fix":"eslint --fix tests lib","test":"node tools/jest.js","coverage":"npm run test -- --coverage"},"keywords":[],"author":"wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)","license":"Apache-2.0","dependencies":{"@abtnode/analytics":"1.16.46","@abtnode/auth":"1.16.46","@abtnode/certificate-manager":"1.16.46","@abtnode/client":"1.16.46","@abtnode/constant":"1.16.46","@abtnode/cron":"1.16.46","@abtnode/db-cache":"1.16.46","@abtnode/docker-utils":"1.16.46","@abtnode/logger":"1.16.46","@abtnode/models":"1.16.46","@abtnode/queue":"1.16.46","@abtnode/rbac":"1.16.46","@abtnode/router-provider":"1.16.46","@abtnode/static-server":"1.16.46","@abtnode/timemachine":"1.16.46","@abtnode/util":"1.16.46","@aigne/aigne-hub":"^0.2.2","@arcblock/did":"1.21.0","@arcblock/did-auth":"1.21.0","@arcblock/did-ext":"1.21.0","@arcblock/did-motif":"^1.1.14","@arcblock/did-util":"1.21.0","@arcblock/event-hub":"1.21.0","@arcblock/jwt":"1.21.0","@arcblock/pm2-events":"^0.0.5","@arcblock/validator":"1.21.0","@arcblock/vc":"1.21.0","@blocklet/constant":"1.16.46","@blocklet/did-space-js":"^1.1.13","@blocklet/env":"1.16.46","@blocklet/error":"^0.2.5","@blocklet/meta":"1.16.46","@blocklet/resolver":"1.16.46","@blocklet/sdk":"1.16.46","@blocklet/store":"1.16.46","@blocklet/theme":"^3.0.37","@fidm/x509":"^1.2.1","@ocap/mcrypto":"1.21.0","@ocap/util":"1.21.0","@ocap/wallet":"1.21.0","@slack/webhook":"^5.0.4","archiver":"^7.0.1","axios":"^1.7.9","axon":"^2.0.3","chalk":"^4.1.2","cross-spawn":"^7.0.3","dayjs":"^1.11.13","deep-diff":"^1.0.2","detect-port":"^1.5.1","envfile":"^7.1.0","escape-string-regexp":"^4.0.0","fast-glob":"^3.3.2","filesize":"^10.1.1","flat":"^5.0.2","fs-extra":"^11.2.0","get-port":"^5.1.1","hasha":"^5.2.2","is-base64":"^1.1.0","is-cidr":"4","is-ip":"3","is-url":"^1.2.4","joi":"17.12.2","joi-extension-semver":"^5.0.0","js-yaml":"^4.1.0","kill-port":"^2.0.1","lodash":"^4.17.21","node-stream-zip":"^1.15.0","p-all":"^3.0.0","p-limit":"^3.1.0","p-map":"^4.0.0","p-retry":"^4.6.2","p-wait-for":"^3.2.0","rate-limiter-flexible":"^5.0.5","read-last-lines":"^1.8.0","semver":"^7.6.3","sequelize":"^6.35.0","shelljs":"^0.8.5","slugify":"^1.6.6","ssri":"^8.0.1","stream-throttle":"^0.1.3","stream-to-promise":"^3.0.0","systeminformation":"^5.23.3","tail":"^2.2.4","tar":"^6.1.11","transliteration":"^2.3.5","ua-parser-js":"^1.0.2","ufo":"^1.5.3","uuid":"^11.1.0","valid-url":"^1.0.9","which":"^2.0.2","xbytes":"^1.8.0"},"devDependencies":{"expand-tilde":"^2.0.2","express":"^4.18.2","jest":"^29.7.0","unzipper":"^0.10.11"},"gitHead":"e5764f753181ed6a7c615cd4fc6682aacf0cb7cd"}');
38922
38922
 
38923
38923
  /***/ }),
38924
38924
 
@@ -22,7 +22,7 @@ const {
22
22
  } = require('@abtnode/constant');
23
23
  const { joinURL } = require('ufo');
24
24
  const { encode } = require('@abtnode/util/lib/base32');
25
- const dayjs = require('dayjs');
25
+ const dayjs = require('@abtnode/util/lib/dayjs');
26
26
 
27
27
  const { NodeMonitSender } = require('../monitor/node-monit-sender');
28
28
  const { isCLI } = require('../util');
package/lib/index.js CHANGED
@@ -461,6 +461,7 @@ function ABTNode(options) {
461
461
  // Node State
462
462
  getNodeInfo: nodeAPI.getInfo.bind(nodeAPI),
463
463
  getNodeEnv: nodeAPI.getEnv.bind(nodeAPI),
464
+ getServerProviders: nodeAPI.getServerProviders.bind(nodeAPI),
464
465
  updateNodeInfo: nodeAPI.updateNodeInfo.bind(nodeAPI),
465
466
  getDelegationState: nodeAPI.getDelegationState.bind(nodeAPI),
466
467
  cleanupDirtyMaintainState: states.node.cleanupDirtyMaintainState.bind(states.node),
@@ -175,6 +175,16 @@ class NodeState extends BaseState {
175
175
  return this.cache.autoCache(this.cacheGroup, () => this._read());
176
176
  }
177
177
 
178
+ async getSqliteVersion() {
179
+ try {
180
+ const [result] = await this.model.sequelize.query('SELECT sqlite_version();');
181
+ return result[0]['sqlite_version()'];
182
+ } catch (err) {
183
+ logger.error('getSqliteVersion failed', { err });
184
+ return '';
185
+ }
186
+ }
187
+
178
188
  // FIXME: 这个接口比较危险,可能会修改一些本不应该修改的字段,后续需要考虑改进
179
189
  async updateNodeInfo(entity = {}) {
180
190
  await this.deleteCache();
@@ -374,9 +374,9 @@ class NotificationState extends BaseState {
374
374
  return {
375
375
  list: processedRows,
376
376
  paging: {
377
- total,
377
+ total: Number(total),
378
378
  pageSize: curPageSize,
379
- pageCount: Math.ceil(total / curPageSize),
379
+ pageCount: Math.ceil(Number(total) / curPageSize),
380
380
  page,
381
381
  },
382
382
  };
@@ -917,8 +917,7 @@ class NotificationState extends BaseState {
917
917
  replacements,
918
918
  type: Sequelize.QueryTypes.SELECT,
919
919
  });
920
-
921
- return countResult.total;
920
+ return Number(countResult.total);
922
921
  }
923
922
  }
924
923
 
@@ -26,7 +26,7 @@ const {
26
26
  const { isActivityIncluded } = require('@abtnode/util/lib/notification-preview/util');
27
27
  const { joinURL, withHttps } = require('ufo');
28
28
  const { isCustomDomain } = require('@abtnode/util/lib/url-evaluation');
29
- const dayjs = require('dayjs');
29
+ const dayjs = require('@abtnode/util/lib/dayjs');
30
30
  const { getDidDomainForBlocklet } = require('@abtnode/util/lib/get-domain-for-blocklet');
31
31
  const getBlockletInfo = require('@blocklet/meta/lib/info');
32
32
  const { getDomainsByDid } = require('../router/helper');
@@ -5,7 +5,7 @@ const promiseSpawn = require('@abtnode/util/lib/promise-spawn');
5
5
  const logger = require('@abtnode/logger')('backup-pg-blocklet-db');
6
6
 
7
7
  const { POSTGRES_CONTAINER_NAME } = require('./ensure-docker-postgres');
8
- const { hasPostgres } = require('../migration-sqlite-to-postgres');
8
+ const { hasMigratedToPostgres } = require('../migration-sqlite-to-postgres');
9
9
 
10
10
  // 最长 1 小时, 因为特别大的表, pg_dump 会很久
11
11
  const baseSpawnOptions = { timeout: 3600_000, retry: 0 };
@@ -49,7 +49,7 @@ function getPgUrl() {
49
49
 
50
50
  const dockerBackupPgBlockletDb = async (dbPath) => {
51
51
  const dataDir = getBlockletDataRoot(dbPath);
52
- if (!hasPostgres(dataDir)) {
52
+ if (!hasMigratedToPostgres(dataDir)) {
53
53
  logger.info('no using postgres, skip backup the pg blocklet db:', dbPath);
54
54
  return {};
55
55
  }
@@ -87,7 +87,7 @@ const dockerBackupPgBlockletDb = async (dbPath) => {
87
87
 
88
88
  const dockerRestorePgBlockletDb = async (dbPath) => {
89
89
  const dataDir = getBlockletDataRoot(dbPath);
90
- if (!hasPostgres(dataDir)) {
90
+ if (!hasMigratedToPostgres(dataDir)) {
91
91
  logger.info('no using postgres, skip restore the pg blocklet db:', dbPath);
92
92
  return {};
93
93
  }
@@ -6,7 +6,7 @@ const fs = require('fs');
6
6
  const { Sequelize } = require('sequelize');
7
7
 
8
8
  const { checkDockerInstalled } = require('./check-docker-installed');
9
- const { hasPostgres } = require('../migration-sqlite-to-postgres');
9
+ const { hasMigratedToPostgres } = require('../migration-sqlite-to-postgres');
10
10
 
11
11
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
12
12
 
@@ -41,7 +41,7 @@ async function _ensureDockerPostgres(dataDir, name = 'abtnode-postgres', port =
41
41
  return '';
42
42
  }
43
43
 
44
- if (!hasPostgres(dataDir) && !force) {
44
+ if (!hasMigratedToPostgres(dataDir) && !force) {
45
45
  return '';
46
46
  }
47
47
 
@@ -60,6 +60,8 @@ async function _ensureDockerPostgres(dataDir, name = 'abtnode-postgres', port =
60
60
  fs.mkdirSync(path.join(dataDir, 'core'), { recursive: true });
61
61
  }
62
62
 
63
+ const postgresVersion = process.env.ABT_NODE_POSTGRES_VERSION || '17.5';
64
+
63
65
  const runCmd = [
64
66
  'docker run -d',
65
67
  `--name ${name}`,
@@ -70,7 +72,7 @@ async function _ensureDockerPostgres(dataDir, name = 'abtnode-postgres', port =
70
72
  '-e POSTGRES_PASSWORD=postgres',
71
73
  '-e POSTGRES_USER=postgres',
72
74
  '-e POSTGRES_DB=postgres',
73
- 'postgres:17.5',
75
+ `postgres:${postgresVersion}`,
74
76
  '-c max_connections=200',
75
77
  ].join(' ');
76
78
 
@@ -424,7 +424,7 @@ async function findBlockletDbFiles(dataDir) {
424
424
  return results;
425
425
  }
426
426
 
427
- function hasPostgres(dataDir) {
427
+ function hasMigratedToPostgres(dataDir) {
428
428
  const lockPath = path.join(dataDir, 'core', 'sqlite-to-postgres.lock');
429
429
  const hasLock = fs.existsSync(lockPath);
430
430
  return hasLock;
@@ -487,6 +487,6 @@ async function migrationSqliteToPostgres(dataDir, dbPaths) {
487
487
 
488
488
  module.exports = {
489
489
  migrationSqliteToPostgres,
490
- hasPostgres,
490
+ hasMigratedToPostgres,
491
491
  removePostgresLock,
492
492
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.16.47-beta-20250731-014139-e860268f",
6
+ "version": "1.16.47-beta-20250805-095401-14eb156b",
7
7
  "description": "",
8
8
  "main": "lib/index.js",
9
9
  "files": [
@@ -19,22 +19,22 @@
19
19
  "author": "wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)",
20
20
  "license": "Apache-2.0",
21
21
  "dependencies": {
22
- "@abtnode/analytics": "1.16.47-beta-20250731-014139-e860268f",
23
- "@abtnode/auth": "1.16.47-beta-20250731-014139-e860268f",
24
- "@abtnode/certificate-manager": "1.16.47-beta-20250731-014139-e860268f",
25
- "@abtnode/client": "1.16.47-beta-20250731-014139-e860268f",
26
- "@abtnode/constant": "1.16.47-beta-20250731-014139-e860268f",
27
- "@abtnode/cron": "1.16.47-beta-20250731-014139-e860268f",
28
- "@abtnode/db-cache": "1.16.47-beta-20250731-014139-e860268f",
29
- "@abtnode/docker-utils": "1.16.47-beta-20250731-014139-e860268f",
30
- "@abtnode/logger": "1.16.47-beta-20250731-014139-e860268f",
31
- "@abtnode/models": "1.16.47-beta-20250731-014139-e860268f",
32
- "@abtnode/queue": "1.16.47-beta-20250731-014139-e860268f",
33
- "@abtnode/rbac": "1.16.47-beta-20250731-014139-e860268f",
34
- "@abtnode/router-provider": "1.16.47-beta-20250731-014139-e860268f",
35
- "@abtnode/static-server": "1.16.47-beta-20250731-014139-e860268f",
36
- "@abtnode/timemachine": "1.16.47-beta-20250731-014139-e860268f",
37
- "@abtnode/util": "1.16.47-beta-20250731-014139-e860268f",
22
+ "@abtnode/analytics": "1.16.47-beta-20250805-095401-14eb156b",
23
+ "@abtnode/auth": "1.16.47-beta-20250805-095401-14eb156b",
24
+ "@abtnode/certificate-manager": "1.16.47-beta-20250805-095401-14eb156b",
25
+ "@abtnode/client": "1.16.47-beta-20250805-095401-14eb156b",
26
+ "@abtnode/constant": "1.16.47-beta-20250805-095401-14eb156b",
27
+ "@abtnode/cron": "1.16.47-beta-20250805-095401-14eb156b",
28
+ "@abtnode/db-cache": "1.16.47-beta-20250805-095401-14eb156b",
29
+ "@abtnode/docker-utils": "1.16.47-beta-20250805-095401-14eb156b",
30
+ "@abtnode/logger": "1.16.47-beta-20250805-095401-14eb156b",
31
+ "@abtnode/models": "1.16.47-beta-20250805-095401-14eb156b",
32
+ "@abtnode/queue": "1.16.47-beta-20250805-095401-14eb156b",
33
+ "@abtnode/rbac": "1.16.47-beta-20250805-095401-14eb156b",
34
+ "@abtnode/router-provider": "1.16.47-beta-20250805-095401-14eb156b",
35
+ "@abtnode/static-server": "1.16.47-beta-20250805-095401-14eb156b",
36
+ "@abtnode/timemachine": "1.16.47-beta-20250805-095401-14eb156b",
37
+ "@abtnode/util": "1.16.47-beta-20250805-095401-14eb156b",
38
38
  "@aigne/aigne-hub": "^0.2.2",
39
39
  "@arcblock/did": "1.21.0",
40
40
  "@arcblock/did-auth": "1.21.0",
@@ -46,15 +46,15 @@
46
46
  "@arcblock/pm2-events": "^0.0.5",
47
47
  "@arcblock/validator": "1.21.0",
48
48
  "@arcblock/vc": "1.21.0",
49
- "@blocklet/constant": "1.16.47-beta-20250731-014139-e860268f",
50
- "@blocklet/did-space-js": "^1.1.10",
51
- "@blocklet/env": "1.16.47-beta-20250731-014139-e860268f",
49
+ "@blocklet/constant": "1.16.47-beta-20250805-095401-14eb156b",
50
+ "@blocklet/did-space-js": "^1.1.13",
51
+ "@blocklet/env": "1.16.47-beta-20250805-095401-14eb156b",
52
52
  "@blocklet/error": "^0.2.5",
53
- "@blocklet/meta": "1.16.47-beta-20250731-014139-e860268f",
54
- "@blocklet/resolver": "1.16.47-beta-20250731-014139-e860268f",
55
- "@blocklet/sdk": "1.16.47-beta-20250731-014139-e860268f",
56
- "@blocklet/store": "1.16.47-beta-20250731-014139-e860268f",
57
- "@blocklet/theme": "^3.0.36",
53
+ "@blocklet/meta": "1.16.47-beta-20250805-095401-14eb156b",
54
+ "@blocklet/resolver": "1.16.47-beta-20250805-095401-14eb156b",
55
+ "@blocklet/sdk": "1.16.47-beta-20250805-095401-14eb156b",
56
+ "@blocklet/store": "1.16.47-beta-20250805-095401-14eb156b",
57
+ "@blocklet/theme": "^3.0.37",
58
58
  "@fidm/x509": "^1.2.1",
59
59
  "@ocap/mcrypto": "1.21.0",
60
60
  "@ocap/util": "1.21.0",
@@ -117,5 +117,5 @@
117
117
  "jest": "^29.7.0",
118
118
  "unzipper": "^0.10.11"
119
119
  },
120
- "gitHead": "85b5870be6b7a531cd7a86bd132112d68547fde1"
120
+ "gitHead": "db2c143c5986281db1ae735aac70cbeb8c817773"
121
121
  }