@napuketto/loader 0.0.31 → 0.0.32

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.
@@ -1236,6 +1236,7 @@ function loadProtocolSections(kernel, uin) {
1236
1236
  const cfgFile = env.NAPKETTO_CONFIG || (0, node_path.join)(env.NAPUTO_CFG_DIR || ".", "napuketto.toml");
1237
1237
  let ob11Section = {};
1238
1238
  let satoriSection = {};
1239
+ let kurobotSection = {};
1239
1240
  try {
1240
1241
  const raw = (0, node_fs.readFileSync)(cfgFile, "utf8");
1241
1242
  const accounts = kernel.parseToml(raw)["accounts"];
@@ -1244,6 +1245,7 @@ function loadProtocolSections(kernel, uin) {
1244
1245
  if (mine !== void 0) {
1245
1246
  ob11Section = sectionOf(mine, "onebot11") ?? {};
1246
1247
  satoriSection = sectionOf(mine, "satori") ?? {};
1248
+ kurobotSection = sectionOf(mine, "kurobot") ?? {};
1247
1249
  }
1248
1250
  }
1249
1251
  } catch (e) {
@@ -1252,7 +1254,8 @@ function loadProtocolSections(kernel, uin) {
1252
1254
  return {
1253
1255
  cfgFile,
1254
1256
  ob11Section,
1255
- satoriSection
1257
+ satoriSection,
1258
+ kurobotSection
1256
1259
  };
1257
1260
  }
1258
1261
  //#endregion
@@ -1287,13 +1290,15 @@ async function assembleOb11AndSatori(kernel, services, loginResult) {
1287
1290
  const network = await import(`file://${networkEntry.replace(BACKSLASH_RE, "/")}`);
1288
1291
  const onebot11Entry = adapterEntry.replace(INDEX_MJS_RE, "onebot11/index.mjs");
1289
1292
  const satoriEntry = adapterEntry.replace(INDEX_MJS_RE, "satori/index.mjs");
1293
+ const kurobotEntry = adapterEntry.replace(INDEX_MJS_RE, "kurobot/index.mjs");
1290
1294
  const coreEntry = adapterEntry.replace(INDEX_MJS_RE, "core/index.mjs");
1291
1295
  const adapter = await import(`file://${onebot11Entry.replace(BACKSLASH_RE, "/")}`);
1292
1296
  const satoriAdapter = await import(`file://${satoriEntry.replace(BACKSLASH_RE, "/")}`);
1297
+ const kurobotAdapter = await import(`file://${kurobotEntry.replace(BACKSLASH_RE, "/")}`);
1293
1298
  const adapterCore = await import(`file://${coreEntry.replace(BACKSLASH_RE, "/")}`);
1294
1299
  const { channel, groupCache } = services;
1295
1300
  const broadcaster = new network.EventBroadcaster();
1296
- const { cfgFile, ob11Section, satoriSection } = loadProtocolSections(kernel, loginResult.uin);
1301
+ const { cfgFile, ob11Section, satoriSection, kurobotSection } = loadProtocolSections(kernel, loginResult.uin);
1297
1302
  const ob11Config = new adapterCore.ProtocolConfig({
1298
1303
  path: cfgFile,
1299
1304
  schema: adapter.ob11ConfigSchema,
@@ -1366,9 +1371,28 @@ async function assembleOb11AndSatori(kernel, services, loginResult) {
1366
1371
  });
1367
1372
  await satori.start();
1368
1373
  log("bootstrap: satori adapter started");
1374
+ let kurobot = null;
1375
+ if (Object.keys(kurobotSection).length > 0) {
1376
+ const kurobotConfig = new adapterCore.ProtocolConfig({
1377
+ path: cfgFile,
1378
+ schema: kurobotAdapter.kurobotConfigSchema,
1379
+ defaults: kurobotAdapter.kurobotConfigDefaults(),
1380
+ seed: kurobotAdapter.kurobotConfigSchema.parse(kurobotSection)
1381
+ });
1382
+ kurobot = new kurobotAdapter.NapukettoKurobotAdapter({
1383
+ config: kurobotConfig,
1384
+ msgChannel: channel,
1385
+ msgApi: services.msgApi,
1386
+ self: services.self,
1387
+ logger: services.logger
1388
+ });
1389
+ await kurobot.start();
1390
+ log("bootstrap: kurobot adapter started");
1391
+ }
1369
1392
  return async () => {
1370
1393
  await ob11.stop();
1371
1394
  await satori.stop();
1395
+ if (kurobot !== null) await kurobot.stop();
1372
1396
  };
1373
1397
  } catch (e) {
1374
1398
  log(`bootstrap: 协议装配失败: ${errMsg(e)}`);
@@ -1681,6 +1705,7 @@ function createLoginControlHandler(core, Appid, control, deps) {
1681
1705
  const opts = {
1682
1706
  appid: String(Appid),
1683
1707
  initTimeoutMs: 2e4,
1708
+ quickLoginTimeoutMs: 2e4,
1684
1709
  qrFallback: true,
1685
1710
  ...payload.uin !== void 0 ? { quickUin: payload.uin } : {},
1686
1711
  ...payload.qr === true ? { qrOnly: true } : {},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@napuketto/loader",
3
- "version": "0.0.31",
3
+ "version": "0.0.32",
4
4
  "description": "NapukettoQQ 引导组件:自建宿主(标准 Node + stub QQNT.dll)dlopen wrapper.node 并启动 kernel,不拉起 QQ / 不注入",
5
5
  "type": "module",
6
6
  "files": [