@jsbot-tellus/core 2.0.3 → 2.1.0

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 (78) hide show
  1. package/README.md +13 -17
  2. package/dist/app.js +12 -40
  3. package/dist/app.js.map +1 -1
  4. package/dist/core/config/schema.d.ts +0 -2
  5. package/dist/core/config/schema.d.ts.map +1 -1
  6. package/dist/core/config/schema.js +0 -1
  7. package/dist/core/config/schema.js.map +1 -1
  8. package/dist/core/dispatch/command.d.ts +24 -2
  9. package/dist/core/dispatch/command.d.ts.map +1 -1
  10. package/dist/core/dispatch/command.js +297 -60
  11. package/dist/core/dispatch/command.js.map +1 -1
  12. package/dist/core/dispatch/router.d.ts +17 -3
  13. package/dist/core/dispatch/router.d.ts.map +1 -1
  14. package/dist/core/dispatch/router.js +38 -2
  15. package/dist/core/dispatch/router.js.map +1 -1
  16. package/dist/core/index.d.ts +1 -1
  17. package/dist/core/index.d.ts.map +1 -1
  18. package/dist/core/plugin/command-params.d.ts +15 -0
  19. package/dist/core/plugin/command-params.d.ts.map +1 -0
  20. package/dist/core/plugin/command-params.js +427 -0
  21. package/dist/core/plugin/command-params.js.map +1 -0
  22. package/dist/core/plugin/context.d.ts.map +1 -1
  23. package/dist/core/plugin/context.js +27 -0
  24. package/dist/core/plugin/context.js.map +1 -1
  25. package/dist/core/plugin/install-dir.d.ts +6 -9
  26. package/dist/core/plugin/install-dir.d.ts.map +1 -1
  27. package/dist/core/plugin/install-dir.js +99 -79
  28. package/dist/core/plugin/install-dir.js.map +1 -1
  29. package/dist/core/plugin/install-validate.d.ts +2 -1
  30. package/dist/core/plugin/install-validate.d.ts.map +1 -1
  31. package/dist/core/plugin/install-validate.js +25 -17
  32. package/dist/core/plugin/install-validate.js.map +1 -1
  33. package/dist/core/plugin/installer.d.ts +3 -3
  34. package/dist/core/plugin/installer.d.ts.map +1 -1
  35. package/dist/core/plugin/installer.js +143 -140
  36. package/dist/core/plugin/installer.js.map +1 -1
  37. package/dist/core/plugin/loader.d.ts +1 -0
  38. package/dist/core/plugin/loader.d.ts.map +1 -1
  39. package/dist/core/plugin/loader.js +24 -2
  40. package/dist/core/plugin/loader.js.map +1 -1
  41. package/dist/core/plugin/types.d.ts +11 -3
  42. package/dist/core/plugin/types.d.ts.map +1 -1
  43. package/dist/core/plugin/types.js.map +1 -1
  44. package/dist/plugins/admin/index.d.ts.map +1 -1
  45. package/dist/plugins/admin/index.js +119 -86
  46. package/dist/plugins/admin/index.js.map +1 -1
  47. package/dist/plugins/core/index.d.ts.map +1 -1
  48. package/dist/plugins/core/index.js +4 -1
  49. package/dist/plugins/core/index.js.map +1 -1
  50. package/docs/architecture.md +22 -24
  51. package/docs/configuration.md +19 -23
  52. package/docs/feature-parity.md +4 -4
  53. package/docs/migration.md +13 -13
  54. package/docs/plugin-api.md +156 -26
  55. package/docs/plugin-development.md +390 -0
  56. package/docs/release.md +2 -2
  57. package/examples/plugins/hello/README.md +10 -5
  58. package/examples/plugins/hello/index.js +3 -6
  59. package/package.json +2 -1
  60. package/src/app.ts +16 -55
  61. package/src/core/config/schema.ts +0 -1
  62. package/src/core/dispatch/command.ts +474 -70
  63. package/src/core/dispatch/router.ts +77 -3
  64. package/src/core/index.ts +2 -0
  65. package/src/core/plugin/command-params.ts +595 -0
  66. package/src/core/plugin/context.ts +47 -2
  67. package/src/core/plugin/install-dir.ts +117 -111
  68. package/src/core/plugin/install-validate.ts +36 -34
  69. package/src/core/plugin/installer.ts +228 -184
  70. package/src/core/plugin/loader.ts +36 -2
  71. package/src/core/plugin/types.ts +23 -3
  72. package/src/plugins/admin/index.ts +302 -233
  73. package/src/plugins/core/index.ts +5 -1
  74. package/dist/core/plugin/installed.d.ts +0 -9
  75. package/dist/core/plugin/installed.d.ts.map +0 -1
  76. package/dist/core/plugin/installed.js +0 -113
  77. package/dist/core/plugin/installed.js.map +0 -1
  78. package/src/core/plugin/installed.ts +0 -165
@@ -1,10 +1,9 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { readFileSync } from 'node:fs';
3
3
  import { mkdir, readFile, realpath, rename, rm, stat, symlink, writeFile, } from 'node:fs/promises';
4
- import { dirname, join, resolve } from 'node:path';
4
+ import { dirname, join } from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
6
6
  export const CORE_PACKAGE_NAME = '@jsbot-tellus/core';
7
- export const INSTALL_PACKAGE_NAME = '@jsbot-tellus/installed-plugins';
8
7
  export const INSTALL_STATE_FILE = '.jsbot-installed.json';
9
8
  export const VALIDATE_SCRIPT_FILE = 'validate.mjs';
10
9
  export class InstallStateError extends Error {
@@ -13,20 +12,8 @@ export class InstallStateError extends Error {
13
12
  this.name = 'InstallStateError';
14
13
  }
15
14
  }
16
- const INSTALL_MANIFEST = {
17
- name: INSTALL_PACKAGE_NAME,
18
- private: true,
19
- version: '0.0.0',
20
- type: 'module',
21
- dependencies: {},
22
- };
23
- export function resolveInstallDir(config, dataDir) {
24
- return config.dir
25
- ? resolve(process.cwd(), config.dir)
26
- : join(dataDir, 'plugins');
27
- }
28
- export function packageDir(dir, name) {
29
- return join(dir, 'node_modules', name);
15
+ export function packageDirectoryName(name) {
16
+ return name.startsWith('@') ? name.replace('/', '__') : name;
30
17
  }
31
18
  export async function readJsonFile(path) {
32
19
  try {
@@ -38,46 +25,20 @@ export async function readJsonFile(path) {
38
25
  throw error;
39
26
  }
40
27
  }
41
- export async function ensureInstallDir(dir) {
42
- await mkdir(dir, { recursive: true });
43
- const manifestPath = join(dir, 'package.json');
44
- const manifest = await readJsonFile(manifestPath);
45
- if (manifest === undefined) {
46
- await writeFile(manifestPath, `${JSON.stringify(INSTALL_MANIFEST, null, 4)}\n`);
47
- }
48
- else if (typeof manifest !== 'object' ||
49
- manifest === null ||
50
- Array.isArray(manifest)) {
51
- throw new Error(`安装目录的 package.json 无效: ${manifestPath}`);
52
- }
53
- await mkdir(join(dir, '.jsbot'), { recursive: true });
54
- await writeFile(join(dir, '.jsbot', VALIDATE_SCRIPT_FILE), VALIDATE_SCRIPT, 'utf8');
55
- }
56
- export async function readDependencies(dir) {
57
- const manifest = await readJsonFile(join(dir, 'package.json'));
58
- if (typeof manifest !== 'object' || manifest === null)
59
- return {};
60
- const dependencies = manifest['dependencies'];
61
- if (typeof dependencies !== 'object' ||
62
- dependencies === null ||
63
- Array.isArray(dependencies)) {
64
- return {};
65
- }
66
- const result = {};
67
- for (const [name, value] of Object.entries(dependencies)) {
68
- if (typeof value === 'string') {
69
- result[name] = value;
70
- }
71
- }
72
- return result;
73
- }
74
- export async function readInstalledVersion(dir, name) {
75
- const manifest = await readJsonFile(join(packageDir(dir, name), 'package.json')).catch(() => undefined);
28
+ export async function readPackageVersion(directory) {
29
+ const manifest = await readJsonFile(join(directory, 'package.json')).catch(() => undefined);
76
30
  if (typeof manifest !== 'object' || manifest === null)
77
31
  return undefined;
78
32
  const version = manifest['version'];
79
33
  return typeof version === 'string' ? version : undefined;
80
34
  }
35
+ function isSafeDirectoryName(value) {
36
+ return (value.length > 0 &&
37
+ value !== '.' &&
38
+ value !== '..' &&
39
+ !value.includes('/') &&
40
+ !value.includes('\\'));
41
+ }
81
42
  export async function readInstallState(dir) {
82
43
  const path = join(dir, INSTALL_STATE_FILE);
83
44
  let value;
@@ -90,12 +51,12 @@ export async function readInstallState(dir) {
90
51
  });
91
52
  }
92
53
  if (value === undefined) {
93
- return { version: 1, packages: {} };
54
+ return { version: 2, packages: {} };
94
55
  }
95
56
  if (typeof value !== 'object' || value === null || Array.isArray(value)) {
96
57
  throw new InstallStateError(`安装状态文件格式无效: ${path}`);
97
58
  }
98
- if (value['version'] !== 1) {
59
+ if (value['version'] !== 2) {
99
60
  throw new InstallStateError(`不支持的安装状态版本,请检查 ${path}`);
100
61
  }
101
62
  const packages = value['packages'];
@@ -105,6 +66,7 @@ export async function readInstallState(dir) {
105
66
  throw new InstallStateError(`安装状态 packages 字段无效: ${path}`);
106
67
  }
107
68
  const result = {};
69
+ const directories = new Set();
108
70
  for (const [name, rawRecord] of Object.entries(packages)) {
109
71
  if (typeof rawRecord !== 'object' ||
110
72
  rawRecord === null ||
@@ -114,13 +76,20 @@ export async function readInstallState(dir) {
114
76
  const record = rawRecord;
115
77
  const pluginIds = record['pluginIds'];
116
78
  const dependencies = record['dependencies'];
79
+ const directory = record['dir'];
117
80
  if (typeof record['spec'] !== 'string' ||
118
81
  typeof record['version'] !== 'string' ||
119
82
  typeof record['installedAt'] !== 'string' ||
83
+ typeof directory !== 'string' ||
84
+ !isSafeDirectoryName(directory) ||
120
85
  !Array.isArray(pluginIds) ||
121
86
  pluginIds.some((item) => typeof item !== 'string')) {
122
87
  throw new InstallStateError(`安装状态记录不完整: ${name}`);
123
88
  }
89
+ if (directories.has(directory)) {
90
+ throw new InstallStateError(`安装状态存在重复的插件目录: ${directory}`);
91
+ }
92
+ directories.add(directory);
124
93
  if (typeof dependencies !== 'object' ||
125
94
  dependencies === null ||
126
95
  Array.isArray(dependencies)) {
@@ -140,12 +109,13 @@ export async function readInstallState(dir) {
140
109
  pluginIds: [...pluginIds],
141
110
  dependencies: parsedDependencies,
142
111
  installedAt: record['installedAt'],
112
+ dir: directory,
143
113
  };
144
114
  }
145
- return { version: 1, packages: result };
115
+ return { version: 2, packages: result };
146
116
  }
147
117
  export async function writeInstallState(dir, state) {
148
- const sorted = { version: 1, packages: {} };
118
+ const sorted = { version: 2, packages: {} };
149
119
  for (const name of Object.keys(state.packages).sort()) {
150
120
  const record = state.packages[name];
151
121
  if (!record)
@@ -197,10 +167,52 @@ export async function ensureCoreLink(dir) {
197
167
  export async function pathExists(path) {
198
168
  return (await stat(path).catch(() => null)) !== null;
199
169
  }
200
- const VALIDATE_SCRIPT = `import process from 'node:process'
170
+ export async function ensureInstallRoot(root) {
171
+ await mkdir(root, { recursive: true });
172
+ await mkdir(join(root, '.jsbot'), { recursive: true });
173
+ await writeFile(join(root, '.jsbot', VALIDATE_SCRIPT_FILE), VALIDATE_SCRIPT, 'utf8');
174
+ }
175
+ const VALIDATE_SCRIPT = `import { readdir } from 'node:fs/promises'
176
+ import { extname, join } from 'node:path'
177
+ import { pathToFileURL } from 'node:url'
178
+
179
+ const directory = process.argv[2]
180
+
181
+ if (!directory) {
182
+ console.error('missing plugin directory')
183
+ process.exit(2)
184
+ }
201
185
 
202
- const name = process.argv[2]
203
- const entry = process.argv[3]
186
+ const extensions = new Set(['.js', '.mjs', '.cjs'])
187
+
188
+ async function filesIn(directory) {
189
+ const entries = await readdir(directory, { withFileTypes: true })
190
+ entries.sort((a, b) => a.name.localeCompare(b.name))
191
+
192
+ const files = []
193
+
194
+ for (const entry of entries) {
195
+ if (entry.name.startsWith('.')) continue
196
+
197
+ const path = join(directory, entry.name)
198
+
199
+ if (entry.isDirectory()) {
200
+ if (entry.name === 'node_modules') continue
201
+ files.push(...(await filesIn(path)))
202
+ continue
203
+ }
204
+
205
+ if (
206
+ entry.isFile() &&
207
+ extensions.has(extname(entry.name)) &&
208
+ !/\\.d\\.(ts|mts|cts)$/.test(entry.name)
209
+ ) {
210
+ files.push(path)
211
+ }
212
+ }
213
+
214
+ return files
215
+ }
204
216
 
205
217
  function isPlugin(value) {
206
218
  if (typeof value !== 'object' || value === null) return false
@@ -252,40 +264,48 @@ function collect(value, result) {
252
264
  }
253
265
  }
254
266
 
255
- if (!name) {
256
- console.error('missing package name')
257
- process.exit(2)
258
- }
267
+ const files = await filesIn(directory).catch((error) => {
268
+ console.error(error instanceof Error ? error.message : String(error))
269
+ process.exit(3)
270
+ })
259
271
 
260
- if (!entry) {
261
- console.error('missing package entry')
262
- process.exit(2)
272
+ if (files.length === 0) {
273
+ console.error('插件 dist 目录中没有可加载的文件')
274
+ process.exit(4)
263
275
  }
264
276
 
265
- let imported
277
+ const found = []
278
+ const invalid = []
266
279
 
267
- try {
268
- imported = await import(entry)
269
- } catch (error) {
270
- console.error(error instanceof Error ? error.stack ?? error.message : String(error))
271
- process.exit(3)
272
- }
280
+ for (const file of files) {
281
+ let imported
273
282
 
274
- const found = []
283
+ try {
284
+ imported = await import(pathToFileURL(file).href)
285
+ } catch (error) {
286
+ invalid.push(
287
+ \`failed to import \${file}: \${error instanceof Error ? error.message : String(error)}\`
288
+ )
289
+ continue
290
+ }
291
+
292
+ if (typeof imported !== 'object' || imported === null) continue
275
293
 
276
- if (typeof imported === 'object' && imported !== null) {
277
294
  for (const candidate of [imported.default, imported.plugin, imported.plugins]) {
278
295
  collect(candidate, found)
279
296
  }
280
297
  }
281
298
 
282
- if (found.length === 0) {
283
- console.error('package does not export a JsBot plugin (default / plugin / plugins)')
284
- process.exit(4)
285
- }
286
-
287
299
  const unique = found.filter((plugin, index) => found.indexOf(plugin) === index)
288
300
 
301
+ if (unique.length === 0) {
302
+ console.error(
303
+ invalid[0] ??
304
+ 'package does not export a JsBot plugin (default / plugin / plugins)'
305
+ )
306
+ process.exit(5)
307
+ }
308
+
289
309
  console.log(
290
310
  '__JSBOT_PLUGIN__' +
291
311
  JSON.stringify(
@@ -1 +1 @@
1
- {"version":3,"file":"install-dir.js","sourceRoot":"","sources":["../../../src/core/plugin/install-dir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-dir.js","sourceRoot":"","sources":["../../../src/core/plugin/install-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EACH,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,EAAE,EACF,IAAI,EACJ,OAAO,EACP,SAAS,GACZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAA;AACrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAA;AAiBlD,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACxC,YAAY,OAAe,EAAE,OAAsB;QAC/C,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACnC,CAAC;CACJ;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC3C,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QAExE,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,SAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CACtE,GAAG,EAAE,CAAC,SAAS,CAClB,CAAA;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IAEvE,MAAM,OAAO,GAAI,QAAoC,CAAC,SAAS,CAAC,CAAA;IAEhE,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AAC5D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACtC,OAAO,CACH,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,KAAK,GAAG;QACb,KAAK,KAAK,IAAI;QACd,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxB,CAAA;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;IAC1C,IAAI,KAAc,CAAA;IAElB,IAAI,CAAC;QACD,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,iBAAiB,CAAC,eAAe,IAAI,EAAE,EAAE;YAC/C,KAAK,EAAE,KAAK;SACf,CAAC,CAAA;IACN,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACvC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,iBAAiB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,IAAK,KAAiC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,QAAQ,GAAI,KAAiC,CAAC,UAAU,CAAC,CAAA;IAE/D,IACI,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EACzB,CAAC;QACC,MAAM,IAAI,iBAAiB,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,MAAM,GAA2C,EAAE,CAAA;IACzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IAErC,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,IACI,OAAO,SAAS,KAAK,QAAQ;YAC7B,SAAS,KAAK,IAAI;YAClB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAC1B,CAAC;YACC,MAAM,IAAI,iBAAiB,CAAC,aAAa,IAAI,EAAE,CAAC,CAAA;QACpD,CAAC;QAED,MAAM,MAAM,GAAG,SAAoC,CAAA;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;QACrC,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAE/B,IACI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;YAClC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ;YACrC,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,QAAQ;YACzC,OAAO,SAAS,KAAK,QAAQ;YAC7B,CAAC,mBAAmB,CAAC,SAAS,CAAC;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EACpD,CAAC;YACC,MAAM,IAAI,iBAAiB,CAAC,cAAc,IAAI,EAAE,CAAC,CAAA;QACrD,CAAC;QAED,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,iBAAiB,CACvB,kBAAkB,SAAS,EAAE,CAChC,CAAA;QACL,CAAC;QAED,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAE1B,IACI,OAAO,YAAY,KAAK,QAAQ;YAChC,YAAY,KAAK,IAAI;YACrB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAC7B,CAAC;YACC,MAAM,IAAI,iBAAiB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAA;QACtD,CAAC;QAED,MAAM,kBAAkB,GAA6B,EAAE,CAAA;QAEvD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACpD,IACI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAC/C,CAAC;gBACC,MAAM,IAAI,iBAAiB,CACvB,eAAe,IAAI,IAAI,EAAE,EAAE,CAC9B,CAAA;YACL,CAAC;YAED,kBAAkB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;QACtC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,GAAG;YACX,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;YAC1B,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;YACzB,YAAY,EAAE,kBAAkB;YAChC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;YAClC,GAAG,EAAE,SAAS;SACjB,CAAA;IACL,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,GAAW,EACX,KAAmB;IAEnB,MAAM,MAAM,GAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IAEzD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,MAAM;YAAE,SAAQ;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;IAClC,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,UAAU,EAAE,MAAM,CAAA;IAE/C,IAAI,CAAC;QACD,MAAM,SAAS,CACX,SAAS,EACT,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EACtC,MAAM,CACT,CAAA;QACD,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC3D,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe;IAC3B,IAAI,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAErD,SAAS,CAAC;QACN,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACvB,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC3B,CAAA;YAE5B,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,iBAAiB;gBAAE,OAAO,OAAO,CAAA;QAC9D,CAAC;QAAC,MAAM,CAAC;YACL,kBAAkB;QACtB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAE/B,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,iBAAiB,eAAe,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,GAAG,MAAM,CAAA;IACpB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC5C,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA;IAE/D,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE/C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IAEvD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;QAEjE,IAAI,QAAQ,KAAK,cAAc;YAAE,OAAM;QAEvC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,OAAO,CACT,MAAM,EACN,IAAI,EACJ,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CACpD,CAAA;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IACzC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAA;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAChD,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACtC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,MAAM,SAAS,CACX,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,oBAAoB,CAAC,EAC1C,eAAe,EACf,MAAM,CACT,CAAA;AACL,CAAC;AAED,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuJvB,CAAA"}
@@ -6,8 +6,9 @@ export interface ValidatedPlugin {
6
6
  export interface ValidateOptions {
7
7
  timeoutMs: number;
8
8
  signal?: AbortSignal | undefined;
9
+ script?: string | undefined;
9
10
  }
10
- export type PackageValidator = (dir: string, name: string, options: ValidateOptions) => Promise<ValidatedPlugin[]>;
11
+ export type PackageValidator = (directory: string, name: string, options: ValidateOptions) => Promise<ValidatedPlugin[]>;
11
12
  export declare const PLUGIN_MARKER = "__JSBOT_PLUGIN__";
12
13
  export declare const validateInstalledPackage: PackageValidator;
13
14
  //# sourceMappingURL=install-validate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"install-validate.d.ts","sourceRoot":"","sources":["../../../src/core/plugin/install-validate.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CACnC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,KACvB,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;AAE/B,eAAO,MAAM,aAAa,qBAAqB,CAAA;AAE/C,eAAO,MAAM,wBAAwB,EAAE,gBA6EtC,CAAA"}
1
+ {"version":3,"file":"install-validate.d.ts","sourceRoot":"","sources":["../../../src/core/plugin/install-validate.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B;AAoBD,MAAM,MAAM,gBAAgB,GAAG,CAC3B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,KACvB,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;AAE/B,eAAO,MAAM,aAAa,qBAAqB,CAAA;AAE/C,eAAO,MAAM,wBAAwB,EAAE,gBAiEtC,CAAA"}
@@ -1,23 +1,31 @@
1
- import { join } from 'node:path';
2
- import { pathToFileURL } from 'node:url';
3
- import { VALIDATE_SCRIPT_FILE, packageDir, readJsonFile, } from './install-dir.js';
4
- import { packageEntry } from './installed.js';
1
+ import { stat } from 'node:fs/promises';
2
+ import { dirname, join, resolve } from 'node:path';
3
+ import { pathExists, VALIDATE_SCRIPT_FILE } from './install-dir.js';
5
4
  import { runProcess } from './npm-runner.js';
5
+ async function findValidationScript(directory) {
6
+ let current = dirname(directory);
7
+ for (;;) {
8
+ const script = join(current, '.jsbot', VALIDATE_SCRIPT_FILE);
9
+ if (await pathExists(script))
10
+ return script;
11
+ const parent = dirname(current);
12
+ if (parent === current)
13
+ break;
14
+ current = parent;
15
+ }
16
+ throw new Error('找不到插件校验脚本,请重新执行安装');
17
+ }
6
18
  export const PLUGIN_MARKER = '__JSBOT_PLUGIN__';
7
- export const validateInstalledPackage = async (dir, name, options) => {
8
- const script = join(dir, '.jsbot', VALIDATE_SCRIPT_FILE);
9
- const location = packageDir(dir, name);
10
- const manifest = await readJsonFile(join(location, 'package.json'));
11
- if (typeof manifest !== 'object' ||
12
- manifest === null ||
13
- Array.isArray(manifest)) {
14
- throw new Error(`插件包缺少有效的 package.json: ${name}`);
19
+ export const validateInstalledPackage = async (directory, name, options) => {
20
+ const absolute = resolve(directory);
21
+ const dist = join(absolute, 'dist');
22
+ const info = await stat(dist).catch(() => null);
23
+ if (!info?.isDirectory()) {
24
+ throw new Error(`插件包缺少 dist 目录: ${name}`);
15
25
  }
16
- // Resolve the same entry the runtime loader will import. Importing the
17
- // package name here would fail for packages that only expose `require`.
18
- const entry = pathToFileURL(packageEntry(location, manifest)).href;
19
- const { stdout } = await runProcess(process.execPath, [script, name, entry], {
20
- cwd: dir,
26
+ const script = options.script ?? (await findValidationScript(absolute));
27
+ const { stdout } = await runProcess(process.execPath, [script, absolute], {
28
+ cwd: absolute,
21
29
  timeoutMs: options.timeoutMs,
22
30
  ...(options.signal !== undefined ? { signal: options.signal } : {}),
23
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"install-validate.js","sourceRoot":"","sources":["../../../src/core/plugin/install-validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-validate.js","sourceRoot":"","sources":["../../../src/core/plugin/install-validate.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare class InstallerError extends Error {
7
7
  constructor(message: string, options?: ErrorOptions);
8
8
  }
9
9
  export interface InstallerOptions {
10
+ /** Plugins root. Installed packages are placed in subdirectories here. */
10
11
  dir: string;
11
12
  config: InstallerConfig;
12
13
  logger: Logger;
@@ -35,16 +36,15 @@ export declare class NpmPluginInstaller implements PluginInstaller {
35
36
  } | undefined): Promise<PluginRemoveResult>;
36
37
  update(target?: string | undefined, signal?: AbortSignal | undefined): Promise<PluginUpdateResult>;
37
38
  private installSpec;
39
+ private assertTargetAvailable;
38
40
  private checkPlugins;
39
41
  private resolveTarget;
40
42
  private removalWarnings;
41
43
  private configuredWarnings;
42
44
  private dependentWarnings;
43
45
  private parse;
44
- private assertStateCovers;
46
+ private temporaryPath;
45
47
  private assertEnabled;
46
- private backup;
47
- private rollback;
48
48
  private serialize;
49
49
  }
50
50
  export declare function createDisabledInstaller(): PluginInstaller;
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../src/core/plugin/installer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAalD,OAAO,EAEH,KAAK,gBAAgB,EAExB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAO9D,OAAO,KAAK,EACR,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EACrB,MAAM,YAAY,CAAA;AAEnB,qBAAa,cAAe,SAAQ,KAAK;IACrC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAGlD;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IACvC,WAAW,CAAC,EAAE,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IACrD,mBAAmB,CAAC,EAAE,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IAC7D,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;CACjC;AAwBD,qBAAa,kBAAmB,YAAW,eAAe;IACtD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2B;IAC/D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,IAAI,CAAsC;IAElD,YAAY,OAAO,EAAE,gBAAgB,EAWpC;IAEK,IAAI,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CA6B5C;IAED,OAAO,CACH,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAS9B;IAED,MAAM,CACF,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,GACtD,OAAO,CAAC,kBAAkB,CAAC,CA2D7B;IAED,MAAM,CACF,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,EAC3B,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAwD7B;YAEa,WAAW;IA2EzB,OAAO,CAAC,YAAY;IA2FpB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,aAAa;YAQP,MAAM;YAwBN,QAAQ;IA2DtB,OAAO,CAAC,SAAS;CAQpB;AAED,wBAAgB,uBAAuB,IAAI,eAAe,CAWzD"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../src/core/plugin/installer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAclD,OAAO,EAEH,KAAK,gBAAgB,EAExB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAO9D,OAAO,KAAK,EACR,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EACrB,MAAM,YAAY,CAAA;AAEnB,qBAAa,cAAe,SAAQ,KAAK;IACrC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAGlD;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC7B,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IACvC,WAAW,CAAC,EAAE,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IACrD,mBAAmB,CAAC,EAAE,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IAC7D,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;CACjC;AAkCD,qBAAa,kBAAmB,YAAW,eAAe;IACtD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2B;IAC/D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,IAAI,CAAsC;IAElD,YAAY,OAAO,EAAE,gBAAgB,EAWpC;IAEK,IAAI,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CA2B5C;IAED,OAAO,CACH,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAS9B;IAED,MAAM,CACF,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,GACtD,OAAO,CAAC,kBAAkB,CAAC,CA4E7B;IAED,MAAM,CACF,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,EAC3B,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,GACjC,OAAO,CAAC,kBAAkB,CAAC,CA8C7B;YAEa,WAAW;YAmLX,qBAAqB;IAyBnC,OAAO,CAAC,YAAY;IA2FpB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,SAAS;CAQpB;AAED,wBAAgB,uBAAuB,IAAI,eAAe,CAWzD"}