@qqbrowser/qbot-claw-launcher 0.9.50 → 0.9.51

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/dist/service.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";var l=exports&&exports.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.startService=_,exports.stopService=q;const g=l(require("fs")),f=l(require("http")),p=require("./server"),e=require("./state"),w=require("./config"),n=require("./version"),S=require("./installer"),y=require("./utils"),o=require("./reportLog");function v(t){return new Promise(s=>{const i=f.default.get(`http://127.0.0.1:${t}/api/version`,c=>{let a="";c.on("data",r=>{a+=r.toString()}),c.on("end",()=>{try{const r=JSON.parse(a);s(r.launcher??null)}catch{s(null)}})});i.on("error",()=>s(null)),i.setTimeout(3e3,()=>{i.destroy(),s(null)})})}async function P(){const t=(0,e.readState)();if(!t.pid||!t.port)return null;try{process.kill(t.pid,0)}catch{return(0,e.clearState)(),null}if(await(0,e.isPortAvailable)(t.port))return(0,o.log)("\u7AEF\u53E3\u672A\u88AB\u5360\u7528\uFF0C\u8BF4\u660E\u72B6\u6001\u6587\u4EF6\u8FC7\u671F"),(0,e.clearState)(),null;const i=await v(t.port);if((0,o.log)(`[service] \u68C0\u6D4B\u5230\u6B63\u5728\u8FD0\u884C\u7684\u670D\u52A1\u7248\u672C: ${i??"unknown"}\uFF0C\u5F53\u524D\u7248\u672C: ${n.LAUNCHER_VERSION}`),i===n.LAUNCHER_VERSION)return(0,o.log)(`[service] \u7248\u672C\u4E00\u81F4\uFF0C\u590D\u7528\u5DF2\u6709\u670D\u52A1 (pid: ${t.pid}, port: ${t.port})`),!1;(0,o.log)(`[service] \u7248\u672C\u4E0D\u4E00\u81F4 (\u8FD0\u884C\u4E2D: ${i??"unknown"}, \u5F53\u524D: ${n.LAUNCHER_VERSION})\uFF0C\u6740\u6389\u65E7\u8FDB\u7A0B pid: ${t.pid}\uFF0C\u91CD\u65B0\u542F\u52A8`);try{process.kill(t.pid,"SIGTERM")}catch{}return(0,e.clearState)(),!0}async function _(t,s){if(await P()===!1){const a=(0,e.readState)();process.stdout.write(JSON.stringify({state:"success",pid:a.pid,port:a.port})+`
2
- `),process.stdout.uncork();return}const c=await(0,e.findAvailablePort)();p.server.listen(c,"127.0.0.1",()=>{if((0,e.writeState)({pid:process.pid,port:c,...t?{ppid:t}:{}}),process.stdout.write(JSON.stringify({state:"success",pid:process.pid,port:c})+`
3
- `),process.stdout.uncork(),(0,p.watchParentProcess)(t),!g.default.existsSync(w.QBOTCLAW_BIN)){(0,o.log)("[service] qbotclaw \u672A\u5B89\u88C5\uFF0C\u4E0D\u81EA\u52A8\u542F\u52A8");return}(0,y.getQBotClawVersion)().then(a=>{const r=(0,e.readState)();if(a!==s){if((0,o.log)(`[service] qbotclaw \u672C\u5730\u7248\u672C (${a??"unknown"}) \u4E0E\u671F\u671B\u7248\u672C (${s}) \u4E0D\u4E00\u81F4\uFF0C\u505C\u6B62\u5F53\u524D qbotclaw \u8FDB\u7A0B`),r.gatewayPid){try{process.kill(r.gatewayPid,"SIGTERM"),(0,o.log)(`[service] \u5DF2\u53D1\u9001 SIGTERM \u7ED9 qbotclaw \u8FDB\u7A0B pid: ${r.gatewayPid}`)}catch{(0,o.log)(`[service] qbotclaw \u8FDB\u7A0B ${r.gatewayPid} \u53EF\u80FD\u5DF2\u9000\u51FA\uFF0C\u5FFD\u7565`)}const{gatewayPid:u,gatewayPort:R,mcpHttpPort:h,mcpWsPort:$,...d}=r;(0,e.writeState)(d)}return}else r.gatewayPid&&r.gatewayPort?(0,o.log)(`[service] qbotclaw \u5DF2\u5728\u8FD0\u884C\uFF0Cpid: ${r.gatewayPid}, port: ${r.gatewayPort}`):((0,o.log)("[service] \u68C0\u6D4B\u5230 qbotclaw\uFF0C\u7248\u672C\u5339\u914D\uFF0C\u81EA\u52A8\u542F\u52A8 gateway..."),(0,S.configAndRunQBotClaw)().catch(u=>{(0,o.log)(`[service] \u81EA\u52A8\u542F\u52A8 gateway \u5931\u8D25: ${u.message}`)}))})}),process.on("SIGTERM",()=>{(0,e.clearState)(),(0,o.flushLogs)().finally(()=>{process.exit(0)})})}function q(){const t=(0,e.readState)();if(!t.pid){process.stdout.write(JSON.stringify({state:"err",pid:0,port:0})+`
1
+ "use strict";var p=exports&&exports.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.startService=k,exports.stopService=R;const f=p(require("fs")),w=p(require("http")),S=require("crypto"),d=require("./server"),e=require("./state"),y=require("./config"),l=require("./version"),v=require("./installer"),_=require("./utils"),o=require("./reportLog");let c=null;function P(t){return new Promise(s=>{const i=w.default.get(`http://127.0.0.1:${t}/api/version`,n=>{let a="";n.on("data",r=>{a+=r.toString()}),n.on("end",()=>{try{const r=JSON.parse(a);s(r.launcher??null)}catch{s(null)}})});i.on("error",()=>s(null)),i.setTimeout(3e3,()=>{i.destroy(),s(null)})})}async function q(){const t=(0,e.readState)();if(!t.pid||!t.port)return null;try{process.kill(t.pid,0)}catch{return(0,e.clearState)(),null}if(await(0,e.isPortAvailable)(t.port))return(0,o.log)("\u7AEF\u53E3\u672A\u88AB\u5360\u7528\uFF0C\u8BF4\u660E\u72B6\u6001\u6587\u4EF6\u8FC7\u671F"),(0,e.clearState)(),null;const i=await P(t.port);if((0,o.log)(`[service] \u68C0\u6D4B\u5230\u6B63\u5728\u8FD0\u884C\u7684\u670D\u52A1\u7248\u672C: ${i??"unknown"}\uFF0C\u5F53\u524D\u7248\u672C: ${l.LAUNCHER_VERSION}`),i===l.LAUNCHER_VERSION)return(0,o.log)(`[service] \u7248\u672C\u4E00\u81F4\uFF0C\u590D\u7528\u5DF2\u6709\u670D\u52A1 (pid: ${t.pid}, port: ${t.port})`),!1;(0,o.log)(`[service] \u7248\u672C\u4E0D\u4E00\u81F4 (\u8FD0\u884C\u4E2D: ${i??"unknown"}, \u5F53\u524D: ${l.LAUNCHER_VERSION})\uFF0C\u6740\u6389\u65E7\u8FDB\u7A0B pid: ${t.pid}\uFF0C\u91CD\u65B0\u542F\u52A8`);try{process.kill(t.pid,"SIGTERM")}catch{}return(0,e.clearState)(),!0}async function k(t,s){if(await q()===!1){const a=(0,e.readState)();c=a.token??null,process.stdout.write(JSON.stringify({state:"success",pid:a.pid,port:a.port,token:c})+`
2
+ `),process.stdout.uncork();return}const n=await(0,e.findAvailablePort)();c=(0,S.randomUUID)(),d.server.listen(n,"127.0.0.1",()=>{if((0,e.writeState)({pid:process.pid,port:n,token:c,...t?{ppid:t}:{}}),process.stdout.write(JSON.stringify({state:"success",pid:process.pid,port:n,token:c})+`
3
+ `),process.stdout.uncork(),(0,d.watchParentProcess)(t),!f.default.existsSync(y.QBOTCLAW_BIN)){(0,o.log)("[service] qbotclaw \u672A\u5B89\u88C5\uFF0C\u4E0D\u81EA\u52A8\u542F\u52A8");return}(0,_.getQBotClawVersion)().then(a=>{const r=(0,e.readState)();if(a!==s){if((0,o.log)(`[service] qbotclaw \u672C\u5730\u7248\u672C (${a??"unknown"}) \u4E0E\u671F\u671B\u7248\u672C (${s}) \u4E0D\u4E00\u81F4\uFF0C\u505C\u6B62\u5F53\u524D qbotclaw \u8FDB\u7A0B`),r.gatewayPid){try{process.kill(r.gatewayPid,"SIGTERM"),(0,o.log)(`[service] \u5DF2\u53D1\u9001 SIGTERM \u7ED9 qbotclaw \u8FDB\u7A0B pid: ${r.gatewayPid}`)}catch{(0,o.log)(`[service] qbotclaw \u8FDB\u7A0B ${r.gatewayPid} \u53EF\u80FD\u5DF2\u9000\u51FA\uFF0C\u5FFD\u7565`)}const{gatewayPid:u,gatewayPort:h,mcpHttpPort:$,mcpWsPort:N,...g}=r;(0,e.writeState)(g)}return}else r.gatewayPid&&r.gatewayPort?(0,o.log)(`[service] qbotclaw \u5DF2\u5728\u8FD0\u884C\uFF0Cpid: ${r.gatewayPid}, port: ${r.gatewayPort}`):((0,o.log)("[service] \u68C0\u6D4B\u5230 qbotclaw\uFF0C\u7248\u672C\u5339\u914D\uFF0C\u81EA\u52A8\u542F\u52A8 gateway..."),(0,v.configAndRunQBotClaw)().catch(u=>{(0,o.log)(`[service] \u81EA\u52A8\u542F\u52A8 gateway \u5931\u8D25: ${u.message}`)}))})}),process.on("SIGTERM",()=>{(0,e.clearState)(),(0,o.flushLogs)().finally(()=>{process.exit(0)})})}function R(){const t=(0,e.readState)();if(!t.pid){process.stdout.write(JSON.stringify({state:"err",pid:0,port:0})+`
4
4
  `),process.stdout.uncork();return}try{process.kill(t.pid,"SIGTERM");const s=t.pid,i=t.port??0;(0,e.clearState)(),process.stdout.write(JSON.stringify({state:"success",pid:s,port:i})+`
5
5
  `),process.stdout.uncork()}catch(s){s.code==="ESRCH"&&(0,e.clearState)(),process.stdout.write(JSON.stringify({state:"err",pid:0,port:0})+`
6
6
  `),process.stdout.uncork()}}
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LAUNCHER_VERSION=void 0,exports.LAUNCHER_VERSION="0.9.50";
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LAUNCHER_VERSION=void 0,exports.LAUNCHER_VERSION="0.9.51";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qqbrowser/qbot-claw-launcher",
3
- "version": "0.9.50",
3
+ "version": "0.9.51",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "bin": {