@abtnode/blocklet-services 1.7.2 → 1.7.5

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 (50) hide show
  1. package/api/routes/blocklet.js +29 -17
  2. package/api/services/auth/connect/setup.js +13 -4
  3. package/api/util/attach-shared-utils.js +1 -1
  4. package/api/util/index.js +4 -10
  5. package/build/asset-manifest.json +28 -28
  6. package/build/index.html +1 -1
  7. package/build/{precache-manifest.fc03dfbbf370fcf983cbef3f121b7584.js → precache-manifest.7d263de396f90bbd788bf71bb04b5e2d.js} +26 -26
  8. package/build/service-worker.js +1 -1
  9. package/build/static/js/0.85d83c49.chunk.js +3 -0
  10. package/build/static/js/{0.b6b3b23c.chunk.js.LICENSE.txt → 0.85d83c49.chunk.js.LICENSE.txt} +0 -0
  11. package/build/static/js/0.85d83c49.chunk.js.map +1 -0
  12. package/build/static/js/1.ae4d3a78.chunk.js +2 -0
  13. package/build/static/js/1.ae4d3a78.chunk.js.map +1 -0
  14. package/build/static/js/{10.4199ec3c.chunk.js → 10.409b17be.chunk.js} +2 -2
  15. package/build/static/js/{10.4199ec3c.chunk.js.map → 10.409b17be.chunk.js.map} +1 -1
  16. package/build/static/js/4.955e2b96.chunk.js +3 -0
  17. package/build/static/js/{4.0046a465.chunk.js.LICENSE.txt → 4.955e2b96.chunk.js.LICENSE.txt} +0 -0
  18. package/build/static/js/4.955e2b96.chunk.js.map +1 -0
  19. package/build/static/js/5.a4039659.chunk.js +2 -0
  20. package/build/static/js/5.a4039659.chunk.js.map +1 -0
  21. package/build/static/js/{6.08043dea.chunk.js → 6.fed9adf4.chunk.js} +2 -2
  22. package/build/static/js/6.fed9adf4.chunk.js.map +1 -0
  23. package/build/static/js/7.1c46a6e8.chunk.js +2 -0
  24. package/build/static/js/7.1c46a6e8.chunk.js.map +1 -0
  25. package/build/static/js/{8.49993466.chunk.js → 8.bc13bb2e.chunk.js} +2 -2
  26. package/build/static/js/8.bc13bb2e.chunk.js.map +1 -0
  27. package/build/static/js/9.6eb69c2a.chunk.js +2 -0
  28. package/build/static/js/9.6eb69c2a.chunk.js.map +1 -0
  29. package/build/static/js/main.d1ab2ea2.chunk.js +2 -0
  30. package/build/static/js/main.d1ab2ea2.chunk.js.map +1 -0
  31. package/build/static/js/runtime-main.22a5c5f7.js +2 -0
  32. package/build/static/js/{runtime-main.aa0aaf4a.js.map → runtime-main.22a5c5f7.js.map} +1 -1
  33. package/package.json +26 -26
  34. package/build/static/js/0.b6b3b23c.chunk.js +0 -3
  35. package/build/static/js/0.b6b3b23c.chunk.js.map +0 -1
  36. package/build/static/js/1.0e83f63d.chunk.js +0 -2
  37. package/build/static/js/1.0e83f63d.chunk.js.map +0 -1
  38. package/build/static/js/4.0046a465.chunk.js +0 -3
  39. package/build/static/js/4.0046a465.chunk.js.map +0 -1
  40. package/build/static/js/5.4304d38f.chunk.js +0 -2
  41. package/build/static/js/5.4304d38f.chunk.js.map +0 -1
  42. package/build/static/js/6.08043dea.chunk.js.map +0 -1
  43. package/build/static/js/7.165c3091.chunk.js +0 -2
  44. package/build/static/js/7.165c3091.chunk.js.map +0 -1
  45. package/build/static/js/8.49993466.chunk.js.map +0 -1
  46. package/build/static/js/9.69df4f05.chunk.js +0 -2
  47. package/build/static/js/9.69df4f05.chunk.js.map +0 -1
  48. package/build/static/js/main.af31d0af.chunk.js +0 -2
  49. package/build/static/js/main.af31d0af.chunk.js.map +0 -1
  50. package/build/static/js/runtime-main.aa0aaf4a.js +0 -2
@@ -20,6 +20,7 @@ const {
20
20
  } = require('@abtnode/auth/lib/passport');
21
21
 
22
22
  const checkAdminPermission = require('../middlewares/check-admin-permission');
23
+ const { PREFIXES } = require('../util/constants');
23
24
 
24
25
  const polishBlocklet = (doc) => {
25
26
  const res = cloneDeep(doc);
@@ -46,6 +47,15 @@ module.exports = {
46
47
  }
47
48
  }
48
49
 
50
+ if (blocklet && get(blocklet, 'env.dataDir')) {
51
+ const logoFile = path.join(get(blocklet, 'env.dataDir'), 'logo.png');
52
+
53
+ if (fs.existsSync(logoFile)) {
54
+ res.sendFile(logoFile, sendOptions);
55
+ return;
56
+ }
57
+ }
58
+
49
59
  res.sendStaticFile('/images/blocklet.png', sendOptions);
50
60
  } catch (err) {
51
61
  logger.error('failed to send blocklet logo', { did: req.params.did, error: err });
@@ -172,28 +182,30 @@ module.exports = {
172
182
  res.json(polishBlocklet(newBlocklet));
173
183
  });
174
184
 
175
- // backward compatible
176
- server.get(`${prefix}/blocklet/logo/:did`, async (req, res) => {
177
- const sendOptions = { maxAge: '1d' };
185
+ PREFIXES.forEach((p) => {
186
+ // backward compatible
187
+ server.get(`${p}/blocklet/logo/:did`, async (req, res) => {
188
+ const sendOptions = { maxAge: '1d' };
178
189
 
179
- let blocklet = null;
180
- try {
181
- blocklet = await node.ensureBlockletIntegrity(req.params.did);
190
+ let blocklet = null;
191
+ try {
192
+ blocklet = await node.ensureBlockletIntegrity(req.params.did);
182
193
 
183
- if (blocklet && get(blocklet, 'env.appDir') && blocklet.meta.logo) {
184
- const logoFile = path.join(get(blocklet, 'env.appDir'), blocklet.meta.logo);
194
+ if (blocklet && get(blocklet, 'env.appDir') && blocklet.meta.logo) {
195
+ const logoFile = path.join(get(blocklet, 'env.appDir'), blocklet.meta.logo);
185
196
 
186
- if (fs.existsSync(logoFile)) {
187
- res.sendFile(logoFile, sendOptions);
188
- return;
197
+ if (fs.existsSync(logoFile)) {
198
+ res.sendFile(logoFile, sendOptions);
199
+ return;
200
+ }
189
201
  }
190
- }
191
202
 
192
- res.sendStaticFile('/images/blocklet.png', sendOptions);
193
- } catch (err) {
194
- logger.error('failed to send blocklet logo', { did: req.params.did, error: err });
195
- res.sendStaticFile('/images/blocklet.png', sendOptions);
196
- }
203
+ res.sendStaticFile('/images/blocklet.png', sendOptions);
204
+ } catch (err) {
205
+ logger.error('failed to send blocklet logo', { did: req.params.did, error: err });
206
+ res.sendStaticFile('/images/blocklet.png', sendOptions);
207
+ }
208
+ });
197
209
  });
198
210
  },
199
211
  };
@@ -1,5 +1,8 @@
1
1
  /* eslint-disable arrow-parens */
2
2
  const { messages } = require('@abtnode/auth/lib/auth');
3
+ const { getServerAuthMethod } = require('@abtnode/auth/lib/util/get-auth-method');
4
+ const { getLaunchFreeBlockletClaims, ensureBlockletPermission } = require('@abtnode/auth/lib/server');
5
+
3
6
  const logger = require('@abtnode/logger')(require('../../../../package.json').name);
4
7
 
5
8
  const checkOwner = async ({ node, userDid, blocklet }) => {
@@ -26,7 +29,7 @@ module.exports = function createRoutes(node, _authenticator, createSessionToken)
26
29
  return {
27
30
  action: 'setup',
28
31
  onConnect: async ({ req, userDid }) => {
29
- const blocklet = await req.getBlocklet();
32
+ const [blocklet, info] = await Promise.all([req.getBlocklet(), req.getNodeInfo()]);
30
33
 
31
34
  const claims = {
32
35
  profile: async ({ extraParams }) => {
@@ -39,17 +42,23 @@ module.exports = function createRoutes(node, _authenticator, createSessionToken)
39
42
  },
40
43
  };
41
44
 
45
+ const authMethod = getServerAuthMethod(info);
46
+ const serverClaims = await getLaunchFreeBlockletClaims(node, authMethod);
47
+
42
48
  await checkOwner({ node, userDid, blocklet });
43
49
 
44
- return claims;
50
+ return Object.assign(serverClaims, claims);
45
51
  },
46
52
 
47
53
  // eslint-disable-next-line consistent-return
48
- onAuth: async ({ claims, userDid, userPk, token, storage, extraParams, req, baseUrl }) => {
54
+ onAuth: async ({ claims, userDid, userPk, token, storage, extraParams, req, baseUrl, challenge }) => {
49
55
  const { locale } = extraParams;
50
- const blocklet = await req.getBlocklet();
56
+ const [blocklet, info] = await Promise.all([req.getBlocklet(), req.getNodeInfo()]);
51
57
  const teamDid = blocklet.meta.did;
52
58
 
59
+ const authMethod = getServerAuthMethod(info);
60
+ await ensureBlockletPermission({ authMethod, node, userDid, claims, challenge, locale });
61
+
53
62
  const user = await checkOwner({ node, userDid, blocklet });
54
63
 
55
64
  try {
@@ -107,7 +107,7 @@ module.exports = ({ node, req, options }) => {
107
107
  return defaultConfigWithDynamic;
108
108
  }
109
109
 
110
- return { ...service.config, ...defaultConfigWithDynamic };
110
+ return { ...defaultConfig, ...service.config, ...dynamicConfig };
111
111
  };
112
112
 
113
113
  req.getBlocklet = async ({ useCache = true } = {}) => {
package/api/util/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  const joinUrl = require('url-join');
2
+ const get = require('lodash/get');
2
3
  const { ROLES } = require('@abtnode/constant');
3
4
  const { BlockletSource, BLOCKLET_MODES } = require('@blocklet/meta/lib/constants');
4
5
  const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
@@ -20,18 +21,11 @@ const getBlockletLogo = ({ baseUrl, blocklet }) => {
20
21
  return getLogoFromLogoUrl(blocklet);
21
22
  }
22
23
 
23
- let logo = `${baseUrl}/static/images/blocklet.png`;
24
- try {
25
- if (blocklet.meta.logoUrl) {
26
- logo = getLogoFromLogoUrl(blocklet);
27
- } else if (blocklet.meta.logo) {
28
- logo = `${baseUrl}/blocklet/logo/${blocklet.meta.did}`;
29
- }
30
- } catch (err) {
31
- // Do nothing
24
+ if (get(blocklet, 'meta.logoUrl')) {
25
+ return getLogoFromLogoUrl(blocklet);
32
26
  }
33
27
 
34
- return logo;
28
+ return `${baseUrl}/blocklet/logo`;
35
29
  };
36
30
 
37
31
  const shouldGotoStartPage = (req, blocklet) => {
@@ -1,43 +1,43 @@
1
1
  {
2
2
  "files": {
3
- "static/js/0.b6b3b23c.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/0.b6b3b23c.chunk.js",
4
- "static/js/0.b6b3b23c.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/0.b6b3b23c.chunk.js.map",
5
- "static/js/1.0e83f63d.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/1.0e83f63d.chunk.js",
6
- "static/js/1.0e83f63d.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/1.0e83f63d.chunk.js.map",
7
- "main.js": "/.blocklet/proxy/blocklet-service/static/js/main.af31d0af.chunk.js",
8
- "main.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.af31d0af.chunk.js.map",
9
- "runtime-main.js": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.aa0aaf4a.js",
10
- "runtime-main.js.map": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.aa0aaf4a.js.map",
3
+ "static/js/0.85d83c49.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/0.85d83c49.chunk.js",
4
+ "static/js/0.85d83c49.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/0.85d83c49.chunk.js.map",
5
+ "static/js/1.ae4d3a78.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/1.ae4d3a78.chunk.js",
6
+ "static/js/1.ae4d3a78.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/1.ae4d3a78.chunk.js.map",
7
+ "main.js": "/.blocklet/proxy/blocklet-service/static/js/main.d1ab2ea2.chunk.js",
8
+ "main.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.d1ab2ea2.chunk.js.map",
9
+ "runtime-main.js": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.22a5c5f7.js",
10
+ "runtime-main.js.map": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.22a5c5f7.js.map",
11
11
  "static/css/4.634341e0.chunk.css": "/.blocklet/proxy/blocklet-service/static/css/4.634341e0.chunk.css",
12
- "static/js/4.0046a465.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/4.0046a465.chunk.js",
13
- "static/js/4.0046a465.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/4.0046a465.chunk.js.map",
14
- "static/js/5.4304d38f.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/5.4304d38f.chunk.js",
15
- "static/js/5.4304d38f.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/5.4304d38f.chunk.js.map",
16
- "static/js/6.08043dea.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/6.08043dea.chunk.js",
17
- "static/js/6.08043dea.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/6.08043dea.chunk.js.map",
18
- "static/js/7.165c3091.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/7.165c3091.chunk.js",
19
- "static/js/7.165c3091.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/7.165c3091.chunk.js.map",
20
- "static/js/8.49993466.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/8.49993466.chunk.js",
21
- "static/js/8.49993466.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/8.49993466.chunk.js.map",
22
- "static/js/9.69df4f05.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/9.69df4f05.chunk.js",
23
- "static/js/9.69df4f05.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/9.69df4f05.chunk.js.map",
24
- "static/js/10.4199ec3c.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/10.4199ec3c.chunk.js",
25
- "static/js/10.4199ec3c.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/10.4199ec3c.chunk.js.map",
12
+ "static/js/4.955e2b96.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js",
13
+ "static/js/4.955e2b96.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js.map",
14
+ "static/js/5.a4039659.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/5.a4039659.chunk.js",
15
+ "static/js/5.a4039659.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/5.a4039659.chunk.js.map",
16
+ "static/js/6.fed9adf4.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/6.fed9adf4.chunk.js",
17
+ "static/js/6.fed9adf4.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/6.fed9adf4.chunk.js.map",
18
+ "static/js/7.1c46a6e8.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/7.1c46a6e8.chunk.js",
19
+ "static/js/7.1c46a6e8.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/7.1c46a6e8.chunk.js.map",
20
+ "static/js/8.bc13bb2e.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/8.bc13bb2e.chunk.js",
21
+ "static/js/8.bc13bb2e.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/8.bc13bb2e.chunk.js.map",
22
+ "static/js/9.6eb69c2a.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/9.6eb69c2a.chunk.js",
23
+ "static/js/9.6eb69c2a.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/9.6eb69c2a.chunk.js.map",
24
+ "static/js/10.409b17be.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/10.409b17be.chunk.js",
25
+ "static/js/10.409b17be.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/10.409b17be.chunk.js.map",
26
26
  "index.html": "/.blocklet/proxy/blocklet-service/index.html",
27
- "precache-manifest.fc03dfbbf370fcf983cbef3f121b7584.js": "/.blocklet/proxy/blocklet-service/precache-manifest.fc03dfbbf370fcf983cbef3f121b7584.js",
27
+ "precache-manifest.7d263de396f90bbd788bf71bb04b5e2d.js": "/.blocklet/proxy/blocklet-service/precache-manifest.7d263de396f90bbd788bf71bb04b5e2d.js",
28
28
  "service-worker.js": "/.blocklet/proxy/blocklet-service/service-worker.js",
29
29
  "static/css/4.634341e0.chunk.css.map": "/.blocklet/proxy/blocklet-service/static/css/4.634341e0.chunk.css.map",
30
- "static/js/0.b6b3b23c.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/0.b6b3b23c.chunk.js.LICENSE.txt",
31
- "static/js/4.0046a465.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/4.0046a465.chunk.js.LICENSE.txt",
30
+ "static/js/0.85d83c49.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/0.85d83c49.chunk.js.LICENSE.txt",
31
+ "static/js/4.955e2b96.chunk.js.LICENSE.txt": "/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js.LICENSE.txt",
32
32
  "static/media/400.css": "/.blocklet/proxy/blocklet-service/static/media/ubuntu-mono-latin-ext-400-normal.84fa8bc1.woff2",
33
33
  "static/media/700.css": "/.blocklet/proxy/blocklet-service/static/media/lato-latin-ext-700-normal.a48b0f04.woff2",
34
34
  "static/media/500.css": "/.blocklet/proxy/blocklet-service/static/media/rubik-latin-ext-500-normal.21b63491.woff2",
35
35
  "static/media/600.css": "/.blocklet/proxy/blocklet-service/static/media/rubik-latin-ext-600-normal.d0d90e83.woff2"
36
36
  },
37
37
  "entrypoints": [
38
- "static/js/runtime-main.aa0aaf4a.js",
38
+ "static/js/runtime-main.22a5c5f7.js",
39
39
  "static/css/4.634341e0.chunk.css",
40
- "static/js/4.0046a465.chunk.js",
41
- "static/js/main.af31d0af.chunk.js"
40
+ "static/js/4.955e2b96.chunk.js",
41
+ "static/js/main.d1ab2ea2.chunk.js"
42
42
  ]
43
43
  }
package/build/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/.well-known/service/static/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src="/.well-known/service/api/env"></script><link href="/.blocklet/proxy/blocklet-service/static/css/4.634341e0.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,i,a=t[0],l=t[1],f=t[2],s=t[3]||[],d=0,h=[];d<a.length;d++)i=a[d],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&h.push(o[i][0]),o[i]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(p&&p(t),u.push.apply(u,s);h.length;)h.shift()();return c.push.apply(c,f||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,l=1;l<r.length;l++){var f=r[l];0!==o[f]&&(n=!1)}n&&(c.splice(t--,1),e=a(a.s=r[0]))}return 0===c.length&&(u.forEach((function(e){if(void 0===o[e]){o[e]=null;var t=document.createElement("link");a.nc&&t.setAttribute("nonce",a.nc),t.rel="prefetch",t.as="script",t.href=i(e),document.head.appendChild(t)}})),u.length=0),e}var n={},o={3:0},c=[],u=[];function i(e){return a.p+"static/js/"+({}[e]||e)+"."+{0:"b6b3b23c",1:"0e83f63d",5:"4304d38f",6:"08043dea",7:"165c3091",8:"49993466",9:"69df4f05",10:"4199ec3c"}[e]+".chunk.js"}function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var c,u=document.createElement("script");u.charset="utf-8",u.timeout=120,a.nc&&u.setAttribute("nonce",a.nc),u.src=i(e);var l=new Error;c=function(t){u.onerror=u.onload=null,clearTimeout(f);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+n+": "+c+")",l.name="ChunkLoadError",l.type=n,l.request=c,r[1](l)}o[e]=void 0}};var f=setTimeout((function(){c({type:"timeout",target:u})}),12e4);u.onerror=u.onload=c,document.head.appendChild(u)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/.blocklet/proxy/blocklet-service/",a.oe=function(e){throw console.error(e),e};var l=this["webpackJsonp@abtnode/blocklet-services"]=this["webpackJsonp@abtnode/blocklet-services"]||[],f=l.push.bind(l);l.push=t,l=l.slice();for(var s=0;s<l.length;s++)t(l[s]);var p=f;r()}([])</script><script src="/.blocklet/proxy/blocklet-service/static/js/4.0046a465.chunk.js"></script><script src="/.blocklet/proxy/blocklet-service/static/js/main.af31d0af.chunk.js"></script></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/.well-known/service/static/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src="/.well-known/service/api/env"></script><link href="/.blocklet/proxy/blocklet-service/static/css/4.634341e0.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,u,i=t[0],l=t[1],f=t[2],s=t[3]||[],d=0,b=[];d<i.length;d++)u=i[d],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&b.push(o[u][0]),o[u]=0;for(n in l)Object.prototype.hasOwnProperty.call(l,n)&&(e[n]=l[n]);for(p&&p(t),c.push.apply(c,s);b.length;)b.shift()();return a.push.apply(a,f||[]),r()}function r(){for(var e,t=0;t<a.length;t++){for(var r=a[t],n=!0,l=1;l<r.length;l++){var f=r[l];0!==o[f]&&(n=!1)}n&&(a.splice(t--,1),e=i(i.s=r[0]))}return 0===a.length&&(c.forEach((function(e){if(void 0===o[e]){o[e]=null;var t=document.createElement("link");i.nc&&t.setAttribute("nonce",i.nc),t.rel="prefetch",t.as="script",t.href=u(e),document.head.appendChild(t)}})),c.length=0),e}var n={},o={3:0},a=[],c=[];function u(e){return i.p+"static/js/"+({}[e]||e)+"."+{0:"85d83c49",1:"ae4d3a78",5:"a4039659",6:"fed9adf4",7:"1c46a6e8",8:"bc13bb2e",9:"6eb69c2a",10:"409b17be"}[e]+".chunk.js"}function i(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var a,c=document.createElement("script");c.charset="utf-8",c.timeout=120,i.nc&&c.setAttribute("nonce",i.nc),c.src=u(e);var l=new Error;a=function(t){c.onerror=c.onload=null,clearTimeout(f);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+n+": "+a+")",l.name="ChunkLoadError",l.type=n,l.request=a,r[1](l)}o[e]=void 0}};var f=setTimeout((function(){a({type:"timeout",target:c})}),12e4);c.onerror=c.onload=a,document.head.appendChild(c)}return Promise.all(t)},i.m=e,i.c=n,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(r,n,function(t){return e[t]}.bind(null,n));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/.blocklet/proxy/blocklet-service/",i.oe=function(e){throw console.error(e),e};var l=this["webpackJsonp@abtnode/blocklet-services"]=this["webpackJsonp@abtnode/blocklet-services"]||[],f=l.push.bind(l);l.push=t,l=l.slice();for(var s=0;s<l.length;s++)t(l[s]);var p=f;r()}([])</script><script src="/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js"></script><script src="/.blocklet/proxy/blocklet-service/static/js/main.d1ab2ea2.chunk.js"></script></body></html>
@@ -1,63 +1,63 @@
1
1
  self.__precacheManifest = (self.__precacheManifest || []).concat([
2
2
  {
3
- "revision": "720f6ad4769e7005df1ae4e6e674bd5f",
3
+ "revision": "2769cb4e0e3c586d386bfab5d2cbfc29",
4
4
  "url": "/.blocklet/proxy/blocklet-service/index.html"
5
5
  },
6
6
  {
7
- "revision": "7bc8391a0111995fbe22",
7
+ "revision": "a2ba2405d0372c33b01d",
8
8
  "url": "/.blocklet/proxy/blocklet-service/static/css/4.634341e0.chunk.css"
9
9
  },
10
10
  {
11
- "revision": "f5fd9171c8bc230a2256",
12
- "url": "/.blocklet/proxy/blocklet-service/static/js/0.b6b3b23c.chunk.js"
11
+ "revision": "8e309f4deb94b0e19db3",
12
+ "url": "/.blocklet/proxy/blocklet-service/static/js/0.85d83c49.chunk.js"
13
13
  },
14
14
  {
15
15
  "revision": "327dea51c54983f5708f4242bceacaed",
16
- "url": "/.blocklet/proxy/blocklet-service/static/js/0.b6b3b23c.chunk.js.LICENSE.txt"
16
+ "url": "/.blocklet/proxy/blocklet-service/static/js/0.85d83c49.chunk.js.LICENSE.txt"
17
17
  },
18
18
  {
19
- "revision": "005b0d71f7eb076d8f2e",
20
- "url": "/.blocklet/proxy/blocklet-service/static/js/1.0e83f63d.chunk.js"
19
+ "revision": "df35f91edd7807529997",
20
+ "url": "/.blocklet/proxy/blocklet-service/static/js/1.ae4d3a78.chunk.js"
21
21
  },
22
22
  {
23
- "revision": "7f41c8682b15b1eec132",
24
- "url": "/.blocklet/proxy/blocklet-service/static/js/10.4199ec3c.chunk.js"
23
+ "revision": "10e5a3ef821fe251a002",
24
+ "url": "/.blocklet/proxy/blocklet-service/static/js/10.409b17be.chunk.js"
25
25
  },
26
26
  {
27
- "revision": "7bc8391a0111995fbe22",
28
- "url": "/.blocklet/proxy/blocklet-service/static/js/4.0046a465.chunk.js"
27
+ "revision": "a2ba2405d0372c33b01d",
28
+ "url": "/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js"
29
29
  },
30
30
  {
31
31
  "revision": "ff58a668e6d753fa035087a671c28199",
32
- "url": "/.blocklet/proxy/blocklet-service/static/js/4.0046a465.chunk.js.LICENSE.txt"
32
+ "url": "/.blocklet/proxy/blocklet-service/static/js/4.955e2b96.chunk.js.LICENSE.txt"
33
33
  },
34
34
  {
35
- "revision": "e787ccc74d3824396ec5",
36
- "url": "/.blocklet/proxy/blocklet-service/static/js/5.4304d38f.chunk.js"
35
+ "revision": "e1395e823232a938090d",
36
+ "url": "/.blocklet/proxy/blocklet-service/static/js/5.a4039659.chunk.js"
37
37
  },
38
38
  {
39
- "revision": "d6cb48e9fda089e55de8",
40
- "url": "/.blocklet/proxy/blocklet-service/static/js/6.08043dea.chunk.js"
39
+ "revision": "34a4abb0cebd57e58d10",
40
+ "url": "/.blocklet/proxy/blocklet-service/static/js/6.fed9adf4.chunk.js"
41
41
  },
42
42
  {
43
- "revision": "b4e48d8848a8da064262",
44
- "url": "/.blocklet/proxy/blocklet-service/static/js/7.165c3091.chunk.js"
43
+ "revision": "9721f268d01bc8d1857f",
44
+ "url": "/.blocklet/proxy/blocklet-service/static/js/7.1c46a6e8.chunk.js"
45
45
  },
46
46
  {
47
- "revision": "3b2c18d816abd949693f",
48
- "url": "/.blocklet/proxy/blocklet-service/static/js/8.49993466.chunk.js"
47
+ "revision": "044abf1f2a066070d2d2",
48
+ "url": "/.blocklet/proxy/blocklet-service/static/js/8.bc13bb2e.chunk.js"
49
49
  },
50
50
  {
51
- "revision": "363e91f1940c53854027",
52
- "url": "/.blocklet/proxy/blocklet-service/static/js/9.69df4f05.chunk.js"
51
+ "revision": "a3c998da94849baeeaf9",
52
+ "url": "/.blocklet/proxy/blocklet-service/static/js/9.6eb69c2a.chunk.js"
53
53
  },
54
54
  {
55
- "revision": "c4dd81c1cb19392aed6a",
56
- "url": "/.blocklet/proxy/blocklet-service/static/js/main.af31d0af.chunk.js"
55
+ "revision": "d0c03a54ba27daec61dd",
56
+ "url": "/.blocklet/proxy/blocklet-service/static/js/main.d1ab2ea2.chunk.js"
57
57
  },
58
58
  {
59
- "revision": "26acf609eb9c3e9614e6",
60
- "url": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.aa0aaf4a.js"
59
+ "revision": "185f748e071ad84ed663",
60
+ "url": "/.blocklet/proxy/blocklet-service/static/js/runtime-main.22a5c5f7.js"
61
61
  },
62
62
  {
63
63
  "revision": "a82dcb33d52ed6fa529e5ae8d5fda7f3",
@@ -14,7 +14,7 @@
14
14
  importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
15
15
 
16
16
  importScripts(
17
- "/.blocklet/proxy/blocklet-service/precache-manifest.fc03dfbbf370fcf983cbef3f121b7584.js"
17
+ "/.blocklet/proxy/blocklet-service/precache-manifest.7d263de396f90bbd788bf71bb04b5e2d.js"
18
18
  );
19
19
 
20
20
  self.addEventListener('message', (event) => {