@abtnode/core 1.17.7-beta-20251225-073259-cb6ecf68 → 1.17.7-beta-20251227-001958-ea2ba3f5
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/blocklet/manager/disk.js +77 -4
- package/lib/blocklet/migration-dist/migration.cjs +1 -1
- package/lib/index.js +3 -1
- package/lib/migrations/1.17.7-beta-2025122601-settings-authentication.js +19 -0
- package/lib/states/audit-log.js +6 -3
- package/lib/util/blocklet.js +32 -18
- package/package.json +37 -37
|
@@ -66,6 +66,7 @@ const {
|
|
|
66
66
|
getDisplayName,
|
|
67
67
|
isExternalBlocklet,
|
|
68
68
|
} = require('@blocklet/meta/lib/util');
|
|
69
|
+
const { getConfigs } = require('@blocklet/meta/lib/util-config');
|
|
69
70
|
const { getComponentsInternalInfo } = require('@blocklet/meta/lib/blocklet');
|
|
70
71
|
const { getRequiredComponentsLayers } = require('@blocklet/meta/lib/get-required-components-layers');
|
|
71
72
|
const { update: updateMetaFile } = require('@blocklet/meta/lib/file');
|
|
@@ -102,6 +103,7 @@ const {
|
|
|
102
103
|
APP_CONFIG_DIR,
|
|
103
104
|
COMPONENT_ENV_FILE_NAME,
|
|
104
105
|
BLOCKLET_PREFERENCE_PREFIX,
|
|
106
|
+
LOGIN_PROVIDER,
|
|
105
107
|
} = require('@blocklet/constant');
|
|
106
108
|
|
|
107
109
|
const { WELLKNOWN_SERVICE_PATH_PREFIX, WELLKNOWN_BLOCKLET_ADMIN_PATH } = require('@abtnode/constant');
|
|
@@ -2285,10 +2287,22 @@ class DiskBlockletManager extends BaseBlockletManager {
|
|
|
2285
2287
|
return newState;
|
|
2286
2288
|
}
|
|
2287
2289
|
|
|
2288
|
-
async
|
|
2289
|
-
const
|
|
2290
|
-
const
|
|
2291
|
-
|
|
2290
|
+
async configAuthentication({ did, authentication = {} }, context) {
|
|
2291
|
+
const oldConfig = await states.blockletExtras.getSettings(did, 'authentication', {});
|
|
2292
|
+
const parsedData = JSON.parse(authentication);
|
|
2293
|
+
const mergeConfig = defaultsDeep(parsedData, oldConfig);
|
|
2294
|
+
await states.blockletExtras.setSettings(did, { authentication: mergeConfig });
|
|
2295
|
+
const newState = await this.getBlocklet(did);
|
|
2296
|
+
this.emit(BlockletInternalEvents.appSettingChanged, { appDid: did });
|
|
2297
|
+
this.emit(BlockletEvents.updated, { ...newState, context });
|
|
2298
|
+
return newState;
|
|
2299
|
+
}
|
|
2300
|
+
|
|
2301
|
+
async configDidConnect({ did, didConnect = {} }, context) {
|
|
2302
|
+
const oldConfig = await states.blockletExtras.getSettings(did, 'didConnect', {});
|
|
2303
|
+
const parsedData = JSON.parse(didConnect);
|
|
2304
|
+
const mergeConfig = defaultsDeep(parsedData, oldConfig);
|
|
2305
|
+
await states.blockletExtras.setSettings(did, { didConnect: mergeConfig });
|
|
2292
2306
|
const newState = await this.getBlocklet(did);
|
|
2293
2307
|
this.emit(BlockletInternalEvents.appSettingChanged, { appDid: did });
|
|
2294
2308
|
this.emit(BlockletEvents.updated, { ...newState, context });
|
|
@@ -4512,6 +4526,9 @@ class DiskBlockletManager extends BaseBlockletManager {
|
|
|
4512
4526
|
await this._updateBlockletEnvironment(meta.did);
|
|
4513
4527
|
blocklet = await this.getBlocklet(did);
|
|
4514
4528
|
|
|
4529
|
+
// Add initialize authentication settings
|
|
4530
|
+
await this.migrateBlockletAuthentication({ did });
|
|
4531
|
+
|
|
4515
4532
|
// pre install
|
|
4516
4533
|
await this._runUserHook('preInstall', blocklet, context);
|
|
4517
4534
|
|
|
@@ -5717,6 +5734,62 @@ class DiskBlockletManager extends BaseBlockletManager {
|
|
|
5717
5734
|
const cnameDomain = (get(blocklet, 'site.domainAliases') || []).find((item) => isDidDomain(item.value));
|
|
5718
5735
|
return this.routerManager.checkDomainDNS(domain, cnameDomain?.value);
|
|
5719
5736
|
}
|
|
5737
|
+
|
|
5738
|
+
/**
|
|
5739
|
+
* used for 1.17.7-settings-authentication migrate, don't use in other places
|
|
5740
|
+
* @param {string} options.did blocklet did
|
|
5741
|
+
*/
|
|
5742
|
+
async migrateBlockletAuthentication({ did }) {
|
|
5743
|
+
const blocklet = await this.getBlocklet(did);
|
|
5744
|
+
if (blocklet.settings?.authentication) return;
|
|
5745
|
+
|
|
5746
|
+
const authenticationList = [];
|
|
5747
|
+
|
|
5748
|
+
const configs = getConfigs(blocklet, did);
|
|
5749
|
+
const allowWallet = configs.find((x) => x.key === 'DID_CONNECT_ALLOW_WALLET')?.value;
|
|
5750
|
+
if (['1', 'true', undefined, null].includes(allowWallet)) {
|
|
5751
|
+
// 默认是允许使用 wallet
|
|
5752
|
+
authenticationList.push({
|
|
5753
|
+
enabled: true,
|
|
5754
|
+
showQrcode: true,
|
|
5755
|
+
type: 'builtin',
|
|
5756
|
+
provider: LOGIN_PROVIDER.WALLET,
|
|
5757
|
+
});
|
|
5758
|
+
}
|
|
5759
|
+
|
|
5760
|
+
const isEmailServiceEnabled = Boolean(getEmailServiceProvider(blocklet));
|
|
5761
|
+
if (isEmailServiceEnabled) {
|
|
5762
|
+
authenticationList.push({
|
|
5763
|
+
enabled: isEmailServiceEnabled,
|
|
5764
|
+
type: 'builtin',
|
|
5765
|
+
provider: LOGIN_PROVIDER.EMAIL,
|
|
5766
|
+
});
|
|
5767
|
+
}
|
|
5768
|
+
|
|
5769
|
+
// 对旧的数据进行转换,并保存
|
|
5770
|
+
if (blocklet.settings?.oauth) {
|
|
5771
|
+
const oauthList = Object.keys(blocklet.settings?.oauth)
|
|
5772
|
+
.map((key) => ({
|
|
5773
|
+
...omit(blocklet.settings?.oauth[key], 'order'),
|
|
5774
|
+
type: 'oauth',
|
|
5775
|
+
}))
|
|
5776
|
+
.filter((x) => x.enabled === true);
|
|
5777
|
+
authenticationList.push(...oauthList);
|
|
5778
|
+
}
|
|
5779
|
+
authenticationList.push({
|
|
5780
|
+
enabled: true,
|
|
5781
|
+
type: 'builtin',
|
|
5782
|
+
provider: LOGIN_PROVIDER.PASSKEY,
|
|
5783
|
+
});
|
|
5784
|
+
const authentication = authenticationList.reduce((acc, curr, index) => {
|
|
5785
|
+
acc[curr.provider] = {
|
|
5786
|
+
...omit(curr, ['provider']),
|
|
5787
|
+
order: index,
|
|
5788
|
+
};
|
|
5789
|
+
return acc;
|
|
5790
|
+
}, {});
|
|
5791
|
+
await this.configAuthentication({ did, authentication: JSON.stringify(authentication) });
|
|
5792
|
+
}
|
|
5720
5793
|
}
|
|
5721
5794
|
|
|
5722
5795
|
class FederatedBlockletManager extends DiskBlockletManager {
|
|
@@ -39044,7 +39044,7 @@ module.exports = require("zlib");
|
|
|
39044
39044
|
/***/ ((module) => {
|
|
39045
39045
|
|
|
39046
39046
|
"use strict";
|
|
39047
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@abtnode/core","publishConfig":{"access":"public"},"version":"1.17.6","description":"","main":"lib/index.js","files":["lib"],"scripts":{"lint":"eslint tests lib --ignore-pattern \'tests/assets/*\'","lint:fix":"eslint --fix tests lib"},"keywords":[],"author":"wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)","license":"Apache-2.0","dependencies":{"@abtnode/analytics":"1.17.6","@abtnode/auth":"1.17.6","@abtnode/certificate-manager":"1.17.6","@abtnode/constant":"1.17.6","@abtnode/cron":"1.17.6","@abtnode/db-cache":"1.17.6","@abtnode/docker-utils":"1.17.6","@abtnode/logger":"1.17.6","@abtnode/models":"1.17.6","@abtnode/queue":"1.17.6","@abtnode/rbac":"1.17.6","@abtnode/router-provider":"1.17.6","@abtnode/static-server":"1.17.6","@abtnode/timemachine":"1.17.6","@abtnode/util":"1.17.6","@aigne/aigne-hub":"^0.10.15","@arcblock/did":"^1.27.
|
|
39047
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@abtnode/core","publishConfig":{"access":"public"},"version":"1.17.6","description":"","main":"lib/index.js","files":["lib"],"scripts":{"lint":"eslint tests lib --ignore-pattern \'tests/assets/*\'","lint:fix":"eslint --fix tests lib"},"keywords":[],"author":"wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)","license":"Apache-2.0","dependencies":{"@abtnode/analytics":"1.17.6","@abtnode/auth":"1.17.6","@abtnode/certificate-manager":"1.17.6","@abtnode/constant":"1.17.6","@abtnode/cron":"1.17.6","@abtnode/db-cache":"1.17.6","@abtnode/docker-utils":"1.17.6","@abtnode/logger":"1.17.6","@abtnode/models":"1.17.6","@abtnode/queue":"1.17.6","@abtnode/rbac":"1.17.6","@abtnode/router-provider":"1.17.6","@abtnode/static-server":"1.17.6","@abtnode/timemachine":"1.17.6","@abtnode/util":"1.17.6","@aigne/aigne-hub":"^0.10.15","@arcblock/did":"^1.27.16","@arcblock/did-connect-js":"^1.27.16","@arcblock/did-ext":"^1.27.16","@arcblock/did-motif":"^1.1.14","@arcblock/did-util":"^1.27.16","@arcblock/event-hub":"^1.27.16","@arcblock/jwt":"^1.27.16","@arcblock/pm2-events":"^0.0.5","@arcblock/validator":"^1.27.16","@arcblock/vc":"^1.27.16","@blocklet/constant":"1.17.6","@blocklet/did-space-js":"^1.2.12","@blocklet/env":"1.17.6","@blocklet/error":"^0.3.5","@blocklet/meta":"1.17.6","@blocklet/resolver":"1.17.6","@blocklet/sdk":"1.17.6","@blocklet/server-js":"1.17.6","@blocklet/store":"1.17.6","@blocklet/theme":"^3.3.0","@fidm/x509":"^1.2.1","@ocap/mcrypto":"^1.27.16","@ocap/util":"^1.27.16","@ocap/wallet":"^1.27.16","@slack/webhook":"^7.0.6","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","private-ip":"^2.3.4","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":{"axios-mock-adapter":"^2.1.0","expand-tilde":"^2.0.2","express":"^4.18.2","unzipper":"^0.10.11"},"gitHead":"e5764f753181ed6a7c615cd4fc6682aacf0cb7cd"}');
|
|
39048
39048
|
|
|
39049
39049
|
/***/ }),
|
|
39050
39050
|
|
package/lib/index.js
CHANGED
|
@@ -401,7 +401,9 @@ function ABTNode(options) {
|
|
|
401
401
|
deleteBlockletProcess: blockletManager.deleteProcess.bind(blockletManager),
|
|
402
402
|
configNavigations: blockletManager.configNavigations.bind(blockletManager),
|
|
403
403
|
configTheme: blockletManager.configTheme.bind(blockletManager),
|
|
404
|
-
|
|
404
|
+
configAuthentication: blockletManager.configAuthentication.bind(blockletManager),
|
|
405
|
+
migrateBlockletAuthentication: blockletManager.migrateBlockletAuthentication.bind(blockletManager),
|
|
406
|
+
configDidConnect: blockletManager.configDidConnect.bind(blockletManager),
|
|
405
407
|
joinFederatedLogin: blockletManager.joinFederatedLogin.bind(blockletManager),
|
|
406
408
|
quitFederatedLogin: blockletManager.quitFederatedLogin.bind(blockletManager),
|
|
407
409
|
disbandFederatedLogin: blockletManager.disbandFederatedLogin.bind(blockletManager),
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const pAll = require('p-all');
|
|
2
|
+
|
|
3
|
+
module.exports = async ({ node, states, printInfo }) => {
|
|
4
|
+
printInfo('Try to update blocklet settings...');
|
|
5
|
+
const apps = await states.blocklet.find();
|
|
6
|
+
await pAll(
|
|
7
|
+
apps.map((app) => async () => {
|
|
8
|
+
const blockletDid = app.meta.did;
|
|
9
|
+
try {
|
|
10
|
+
await node.migrateBlockletAuthentication({ did: blockletDid });
|
|
11
|
+
} catch (err) {
|
|
12
|
+
console.error(`Failed to update blocklet settings: ${blockletDid}`);
|
|
13
|
+
throw err;
|
|
14
|
+
}
|
|
15
|
+
printInfo(`Blocklet settings updated: ${app.meta?.title}`);
|
|
16
|
+
}),
|
|
17
|
+
{ concurrency: 10 }
|
|
18
|
+
);
|
|
19
|
+
};
|
package/lib/states/audit-log.js
CHANGED
|
@@ -351,8 +351,10 @@ const getLogContent = async (action, args, context, result, info, node) => {
|
|
|
351
351
|
return `updated following navigations:\n${args.navigations.map((x) => `- ${x.title}: ${x.link}\n`)}`;
|
|
352
352
|
case 'configTheme':
|
|
353
353
|
return `updated theme for application ${args.did}`;
|
|
354
|
-
case '
|
|
355
|
-
return `updated
|
|
354
|
+
case 'configAuthentication':
|
|
355
|
+
return `updated authentication for blocklet ${getBlockletInfo(result, info)}:\n${args.authentication}`;
|
|
356
|
+
case 'configDidConnect':
|
|
357
|
+
return `updated DID Connect for blocklet ${getBlockletInfo(result, info)}:\n${args.didConnect}`;
|
|
356
358
|
case 'joinFederatedLogin':
|
|
357
359
|
return `blocklet ${getBlockletInfo(result, info)} join federated login to ${args.appUrl}`;
|
|
358
360
|
case 'quitFederatedLogin':
|
|
@@ -802,7 +804,8 @@ const getLogCategory = (action) => {
|
|
|
802
804
|
case 'upgradeComponents':
|
|
803
805
|
case 'configNavigations':
|
|
804
806
|
case 'configTheme':
|
|
805
|
-
case '
|
|
807
|
+
case 'configAuthentication':
|
|
808
|
+
case 'configDidConnect':
|
|
806
809
|
case 'configNotification':
|
|
807
810
|
case 'updateComponentTitle':
|
|
808
811
|
case 'updateComponentMountPoint':
|
package/lib/util/blocklet.js
CHANGED
|
@@ -2434,6 +2434,21 @@ const validateStore = (nodeInfo, storeUrl) => {
|
|
|
2434
2434
|
}
|
|
2435
2435
|
|
|
2436
2436
|
const storeUrlObj = new URL(storeUrl);
|
|
2437
|
+
|
|
2438
|
+
// Check trusted blocklet sources from environment variable first
|
|
2439
|
+
const trustedSources = process.env.ABT_NODE_TRUSTED_SOURCES;
|
|
2440
|
+
if (trustedSources) {
|
|
2441
|
+
const trustedHosts = trustedSources
|
|
2442
|
+
.split(',')
|
|
2443
|
+
.map((url) => url.trim())
|
|
2444
|
+
.filter(Boolean)
|
|
2445
|
+
.map((url) => new URL(url).host);
|
|
2446
|
+
|
|
2447
|
+
if (trustedHosts.includes(storeUrlObj.host)) {
|
|
2448
|
+
return;
|
|
2449
|
+
}
|
|
2450
|
+
}
|
|
2451
|
+
|
|
2437
2452
|
const registerUrlObj = new URL(nodeInfo.registerUrl);
|
|
2438
2453
|
|
|
2439
2454
|
// 信任 Launcher 打包的应用
|
|
@@ -2804,7 +2819,7 @@ const publishDidDocument = async ({ blocklet, ownerInfo, nodeInfo }) => {
|
|
|
2804
2819
|
const name = blocklet.meta?.title || blocklet.meta?.name;
|
|
2805
2820
|
const state = fromBlockletStatus(blocklet.status);
|
|
2806
2821
|
|
|
2807
|
-
let launcher
|
|
2822
|
+
let launcher;
|
|
2808
2823
|
if (!isEmpty(blocklet.controller)) {
|
|
2809
2824
|
launcher = {
|
|
2810
2825
|
did: toDid(blocklet.controller.did || nodeInfo.registerInfo.appPid), // 目前 controller 没有 launcher 的元信息, 默认在 nodeInfo 中存储
|
|
@@ -2847,11 +2862,14 @@ const publishDidDocument = async ({ blocklet, ownerInfo, nodeInfo }) => {
|
|
|
2847
2862
|
})
|
|
2848
2863
|
);
|
|
2849
2864
|
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2865
|
+
let owner;
|
|
2866
|
+
if (ownerInfo) {
|
|
2867
|
+
owner = {
|
|
2868
|
+
did: toDid(ownerInfo.did),
|
|
2869
|
+
name: ownerInfo.fullName,
|
|
2870
|
+
avatar: fixAvatar(ownerInfo.avatar),
|
|
2871
|
+
};
|
|
2872
|
+
}
|
|
2855
2873
|
|
|
2856
2874
|
return didDocument.updateBlockletDocument({
|
|
2857
2875
|
blocklet,
|
|
@@ -2878,21 +2896,17 @@ const updateDidDocument = async ({ did, nodeInfo, teamManager, states }) => {
|
|
|
2878
2896
|
|
|
2879
2897
|
blocklet.site = await states.site.findOneByBlocklet(did);
|
|
2880
2898
|
blocklet.settings = await states.blockletExtras.getSettings(did);
|
|
2881
|
-
blocklet.controller = blockletExtra
|
|
2899
|
+
blocklet.controller = blockletExtra?.controller;
|
|
2882
2900
|
|
|
2883
2901
|
logger.debug('update did document', { blocklet });
|
|
2884
2902
|
|
|
2885
|
-
const ownerDid = blocklet.settings
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
blockletDid: blocklet.meta.did,
|
|
2893
|
-
ownerDid,
|
|
2894
|
-
teamDid: blocklet.appPid,
|
|
2895
|
-
});
|
|
2903
|
+
const ownerDid = blocklet.settings?.owner?.did;
|
|
2904
|
+
let ownerInfo;
|
|
2905
|
+
if (ownerDid) {
|
|
2906
|
+
logger.info('get owner info', { ownerDid, teamDid: blocklet.appPid });
|
|
2907
|
+
const userState = await teamManager.getUserState(blocklet.appPid);
|
|
2908
|
+
ownerInfo = await userState.getUser(ownerDid);
|
|
2909
|
+
}
|
|
2896
2910
|
|
|
2897
2911
|
return publishDidDocument({ blocklet, ownerInfo, nodeInfo });
|
|
2898
2912
|
};
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.17.7-beta-
|
|
6
|
+
"version": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
7
7
|
"description": "",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"files": [
|
|
@@ -17,46 +17,46 @@
|
|
|
17
17
|
"author": "wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)",
|
|
18
18
|
"license": "Apache-2.0",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@abtnode/analytics": "1.17.7-beta-
|
|
21
|
-
"@abtnode/auth": "1.17.7-beta-
|
|
22
|
-
"@abtnode/certificate-manager": "1.17.7-beta-
|
|
23
|
-
"@abtnode/constant": "1.17.7-beta-
|
|
24
|
-
"@abtnode/cron": "1.17.7-beta-
|
|
25
|
-
"@abtnode/db-cache": "1.17.7-beta-
|
|
26
|
-
"@abtnode/docker-utils": "1.17.7-beta-
|
|
27
|
-
"@abtnode/logger": "1.17.7-beta-
|
|
28
|
-
"@abtnode/models": "1.17.7-beta-
|
|
29
|
-
"@abtnode/queue": "1.17.7-beta-
|
|
30
|
-
"@abtnode/rbac": "1.17.7-beta-
|
|
31
|
-
"@abtnode/router-provider": "1.17.7-beta-
|
|
32
|
-
"@abtnode/static-server": "1.17.7-beta-
|
|
33
|
-
"@abtnode/timemachine": "1.17.7-beta-
|
|
34
|
-
"@abtnode/util": "1.17.7-beta-
|
|
20
|
+
"@abtnode/analytics": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
21
|
+
"@abtnode/auth": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
22
|
+
"@abtnode/certificate-manager": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
23
|
+
"@abtnode/constant": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
24
|
+
"@abtnode/cron": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
25
|
+
"@abtnode/db-cache": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
26
|
+
"@abtnode/docker-utils": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
27
|
+
"@abtnode/logger": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
28
|
+
"@abtnode/models": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
29
|
+
"@abtnode/queue": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
30
|
+
"@abtnode/rbac": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
31
|
+
"@abtnode/router-provider": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
32
|
+
"@abtnode/static-server": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
33
|
+
"@abtnode/timemachine": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
34
|
+
"@abtnode/util": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
35
35
|
"@aigne/aigne-hub": "^0.10.15",
|
|
36
|
-
"@arcblock/did": "^1.27.
|
|
37
|
-
"@arcblock/did-connect-js": "^1.27.
|
|
38
|
-
"@arcblock/did-ext": "^1.27.
|
|
36
|
+
"@arcblock/did": "^1.27.16",
|
|
37
|
+
"@arcblock/did-connect-js": "^1.27.16",
|
|
38
|
+
"@arcblock/did-ext": "^1.27.16",
|
|
39
39
|
"@arcblock/did-motif": "^1.1.14",
|
|
40
|
-
"@arcblock/did-util": "^1.27.
|
|
41
|
-
"@arcblock/event-hub": "^1.27.
|
|
42
|
-
"@arcblock/jwt": "^1.27.
|
|
40
|
+
"@arcblock/did-util": "^1.27.16",
|
|
41
|
+
"@arcblock/event-hub": "^1.27.16",
|
|
42
|
+
"@arcblock/jwt": "^1.27.16",
|
|
43
43
|
"@arcblock/pm2-events": "^0.0.5",
|
|
44
|
-
"@arcblock/validator": "^1.27.
|
|
45
|
-
"@arcblock/vc": "^1.27.
|
|
46
|
-
"@blocklet/constant": "1.17.7-beta-
|
|
47
|
-
"@blocklet/did-space-js": "^1.2.
|
|
48
|
-
"@blocklet/env": "1.17.7-beta-
|
|
44
|
+
"@arcblock/validator": "^1.27.16",
|
|
45
|
+
"@arcblock/vc": "^1.27.16",
|
|
46
|
+
"@blocklet/constant": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
47
|
+
"@blocklet/did-space-js": "^1.2.12",
|
|
48
|
+
"@blocklet/env": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
49
49
|
"@blocklet/error": "^0.3.5",
|
|
50
|
-
"@blocklet/meta": "1.17.7-beta-
|
|
51
|
-
"@blocklet/resolver": "1.17.7-beta-
|
|
52
|
-
"@blocklet/sdk": "1.17.7-beta-
|
|
53
|
-
"@blocklet/server-js": "1.17.7-beta-
|
|
54
|
-
"@blocklet/store": "1.17.7-beta-
|
|
55
|
-
"@blocklet/theme": "^3.
|
|
50
|
+
"@blocklet/meta": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
51
|
+
"@blocklet/resolver": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
52
|
+
"@blocklet/sdk": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
53
|
+
"@blocklet/server-js": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
54
|
+
"@blocklet/store": "1.17.7-beta-20251227-001958-ea2ba3f5",
|
|
55
|
+
"@blocklet/theme": "^3.3.0",
|
|
56
56
|
"@fidm/x509": "^1.2.1",
|
|
57
|
-
"@ocap/mcrypto": "^1.27.
|
|
58
|
-
"@ocap/util": "^1.27.
|
|
59
|
-
"@ocap/wallet": "^1.27.
|
|
57
|
+
"@ocap/mcrypto": "^1.27.16",
|
|
58
|
+
"@ocap/util": "^1.27.16",
|
|
59
|
+
"@ocap/wallet": "^1.27.16",
|
|
60
60
|
"@slack/webhook": "^7.0.6",
|
|
61
61
|
"archiver": "^7.0.1",
|
|
62
62
|
"axios": "^1.7.9",
|
|
@@ -116,5 +116,5 @@
|
|
|
116
116
|
"express": "^4.18.2",
|
|
117
117
|
"unzipper": "^0.10.11"
|
|
118
118
|
},
|
|
119
|
-
"gitHead": "
|
|
119
|
+
"gitHead": "ec0a542fc2c66f2530d25884b43bddfa28d921a0"
|
|
120
120
|
}
|