@kevisual/cli 0.1.15 → 0.1.17
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/assistant-opencode.js +32 -4
- package/dist/assistant-server.js +32 -4
- package/dist/assistant.js +32 -4
- package/dist/envision.js +286 -53
- package/package.json +8 -8
|
@@ -51818,8 +51818,10 @@ class RemoteApp {
|
|
|
51818
51818
|
mainApp;
|
|
51819
51819
|
url;
|
|
51820
51820
|
id;
|
|
51821
|
+
username;
|
|
51821
51822
|
emitter;
|
|
51822
51823
|
isConnected;
|
|
51824
|
+
isVerified;
|
|
51823
51825
|
ws;
|
|
51824
51826
|
remoteIsConnected;
|
|
51825
51827
|
isError = false;
|
|
@@ -51836,12 +51838,17 @@ class RemoteApp {
|
|
|
51836
51838
|
const token = opts.token;
|
|
51837
51839
|
const url4 = opts.url;
|
|
51838
51840
|
const id = opts.id;
|
|
51841
|
+
const username = opts.username;
|
|
51842
|
+
this.username = username;
|
|
51839
51843
|
this.emitter = opts?.emitter || new import__2.default;
|
|
51840
51844
|
const _url2 = new URL(url4);
|
|
51841
51845
|
if (token) {
|
|
51842
51846
|
_url2.searchParams.set("token", token);
|
|
51843
51847
|
}
|
|
51844
51848
|
_url2.searchParams.set("id", id);
|
|
51849
|
+
if (!token && !username) {
|
|
51850
|
+
console.error(`[remote-app] 不存在用户名和token ${id}. 权限认证会失败。`);
|
|
51851
|
+
}
|
|
51845
51852
|
this.url = _url2.toString();
|
|
51846
51853
|
this.id = id;
|
|
51847
51854
|
this.autoReconnect = opts?.autoReconnect ?? true;
|
|
@@ -51873,6 +51880,18 @@ class RemoteApp {
|
|
|
51873
51880
|
that.emitter.once("open", listenOnce);
|
|
51874
51881
|
});
|
|
51875
51882
|
}
|
|
51883
|
+
async waitVerify() {
|
|
51884
|
+
if (this.isVerified) {
|
|
51885
|
+
return true;
|
|
51886
|
+
}
|
|
51887
|
+
return new Promise((resolve) => {
|
|
51888
|
+
const listenOnce = () => {
|
|
51889
|
+
this.isVerified = true;
|
|
51890
|
+
resolve(true);
|
|
51891
|
+
};
|
|
51892
|
+
this.emitter.once("verified", listenOnce);
|
|
51893
|
+
});
|
|
51894
|
+
}
|
|
51876
51895
|
getWsURL(url4) {
|
|
51877
51896
|
const { protocol } = new URL(url4);
|
|
51878
51897
|
if (protocol.startsWith("ws")) {
|
|
@@ -51999,6 +52018,7 @@ class RemoteApp {
|
|
|
51999
52018
|
listenProxy() {
|
|
52000
52019
|
const remoteApp = this;
|
|
52001
52020
|
const app = this.mainApp;
|
|
52021
|
+
const username = this.username;
|
|
52002
52022
|
const listenFn = async (event) => {
|
|
52003
52023
|
try {
|
|
52004
52024
|
const data = event.toString();
|
|
@@ -52006,11 +52026,16 @@ class RemoteApp {
|
|
|
52006
52026
|
const bodyData = body?.data;
|
|
52007
52027
|
const message = bodyData?.message || {};
|
|
52008
52028
|
const context = bodyData?.context || {};
|
|
52029
|
+
console.log("[remote-app] 远程应用收到消息:", body);
|
|
52009
52030
|
if (body?.code === 401) {
|
|
52010
|
-
console.error("远程应用认证失败,请检查 token 是否正确");
|
|
52031
|
+
console.error("[remote-app] 远程应用认证失败,请检查 token 是否正确");
|
|
52011
52032
|
this.isError = true;
|
|
52012
52033
|
return;
|
|
52013
52034
|
}
|
|
52035
|
+
if (body?.type === "verified") {
|
|
52036
|
+
remoteApp.emitter.emit("verified");
|
|
52037
|
+
return;
|
|
52038
|
+
}
|
|
52014
52039
|
if (body?.type !== "proxy")
|
|
52015
52040
|
return;
|
|
52016
52041
|
if (!body.id) {
|
|
@@ -52033,13 +52058,15 @@ class RemoteApp {
|
|
|
52033
52058
|
}
|
|
52034
52059
|
});
|
|
52035
52060
|
} catch (error49) {
|
|
52036
|
-
console.error("处理远程代理请求出错:", error49);
|
|
52061
|
+
console.error("[remote-app] 处理远程代理请求出错:", error49);
|
|
52037
52062
|
}
|
|
52038
52063
|
};
|
|
52039
52064
|
remoteApp.json({
|
|
52040
52065
|
id: this.id,
|
|
52041
|
-
type: "registryClient"
|
|
52066
|
+
type: "registryClient",
|
|
52067
|
+
username
|
|
52042
52068
|
});
|
|
52069
|
+
console.log(`[remote-app] 远程应用 ${this.id} (${username}) 已注册到主应用,等待消息...`);
|
|
52043
52070
|
remoteApp.emitter.on("message", listenFn);
|
|
52044
52071
|
const closeMessage = () => {
|
|
52045
52072
|
remoteApp.emitter.off("message", listenFn);
|
|
@@ -80981,10 +81008,11 @@ class AssistantApp extends Manager2 {
|
|
|
80981
81008
|
}
|
|
80982
81009
|
const url4 = new URL(shareUrl);
|
|
80983
81010
|
const id = config4?.app?.id;
|
|
80984
|
-
if (
|
|
81011
|
+
if (url4 && id) {
|
|
80985
81012
|
const remoteApp = new RemoteApp({
|
|
80986
81013
|
url: url4.toString(),
|
|
80987
81014
|
token,
|
|
81015
|
+
username: config4?.auth?.username || "",
|
|
80988
81016
|
id,
|
|
80989
81017
|
app: this.mainApp,
|
|
80990
81018
|
autoReconnect: true,
|
package/dist/assistant-server.js
CHANGED
|
@@ -91433,8 +91433,10 @@ class RemoteApp {
|
|
|
91433
91433
|
mainApp;
|
|
91434
91434
|
url;
|
|
91435
91435
|
id;
|
|
91436
|
+
username;
|
|
91436
91437
|
emitter;
|
|
91437
91438
|
isConnected;
|
|
91439
|
+
isVerified;
|
|
91438
91440
|
ws;
|
|
91439
91441
|
remoteIsConnected;
|
|
91440
91442
|
isError = false;
|
|
@@ -91451,12 +91453,17 @@ class RemoteApp {
|
|
|
91451
91453
|
const token = opts.token;
|
|
91452
91454
|
const url4 = opts.url;
|
|
91453
91455
|
const id = opts.id;
|
|
91456
|
+
const username = opts.username;
|
|
91457
|
+
this.username = username;
|
|
91454
91458
|
this.emitter = opts?.emitter || new import__2.default;
|
|
91455
91459
|
const _url2 = new URL(url4);
|
|
91456
91460
|
if (token) {
|
|
91457
91461
|
_url2.searchParams.set("token", token);
|
|
91458
91462
|
}
|
|
91459
91463
|
_url2.searchParams.set("id", id);
|
|
91464
|
+
if (!token && !username) {
|
|
91465
|
+
console.error(`[remote-app] 不存在用户名和token ${id}. 权限认证会失败。`);
|
|
91466
|
+
}
|
|
91460
91467
|
this.url = _url2.toString();
|
|
91461
91468
|
this.id = id;
|
|
91462
91469
|
this.autoReconnect = opts?.autoReconnect ?? true;
|
|
@@ -91488,6 +91495,18 @@ class RemoteApp {
|
|
|
91488
91495
|
that.emitter.once("open", listenOnce);
|
|
91489
91496
|
});
|
|
91490
91497
|
}
|
|
91498
|
+
async waitVerify() {
|
|
91499
|
+
if (this.isVerified) {
|
|
91500
|
+
return true;
|
|
91501
|
+
}
|
|
91502
|
+
return new Promise((resolve) => {
|
|
91503
|
+
const listenOnce = () => {
|
|
91504
|
+
this.isVerified = true;
|
|
91505
|
+
resolve(true);
|
|
91506
|
+
};
|
|
91507
|
+
this.emitter.once("verified", listenOnce);
|
|
91508
|
+
});
|
|
91509
|
+
}
|
|
91491
91510
|
getWsURL(url4) {
|
|
91492
91511
|
const { protocol } = new URL(url4);
|
|
91493
91512
|
if (protocol.startsWith("ws")) {
|
|
@@ -91614,6 +91633,7 @@ class RemoteApp {
|
|
|
91614
91633
|
listenProxy() {
|
|
91615
91634
|
const remoteApp = this;
|
|
91616
91635
|
const app = this.mainApp;
|
|
91636
|
+
const username = this.username;
|
|
91617
91637
|
const listenFn = async (event) => {
|
|
91618
91638
|
try {
|
|
91619
91639
|
const data = event.toString();
|
|
@@ -91621,11 +91641,16 @@ class RemoteApp {
|
|
|
91621
91641
|
const bodyData = body?.data;
|
|
91622
91642
|
const message = bodyData?.message || {};
|
|
91623
91643
|
const context = bodyData?.context || {};
|
|
91644
|
+
console.log("[remote-app] 远程应用收到消息:", body);
|
|
91624
91645
|
if (body?.code === 401) {
|
|
91625
|
-
console.error("远程应用认证失败,请检查 token 是否正确");
|
|
91646
|
+
console.error("[remote-app] 远程应用认证失败,请检查 token 是否正确");
|
|
91626
91647
|
this.isError = true;
|
|
91627
91648
|
return;
|
|
91628
91649
|
}
|
|
91650
|
+
if (body?.type === "verified") {
|
|
91651
|
+
remoteApp.emitter.emit("verified");
|
|
91652
|
+
return;
|
|
91653
|
+
}
|
|
91629
91654
|
if (body?.type !== "proxy")
|
|
91630
91655
|
return;
|
|
91631
91656
|
if (!body.id) {
|
|
@@ -91648,13 +91673,15 @@ class RemoteApp {
|
|
|
91648
91673
|
}
|
|
91649
91674
|
});
|
|
91650
91675
|
} catch (error49) {
|
|
91651
|
-
console.error("处理远程代理请求出错:", error49);
|
|
91676
|
+
console.error("[remote-app] 处理远程代理请求出错:", error49);
|
|
91652
91677
|
}
|
|
91653
91678
|
};
|
|
91654
91679
|
remoteApp.json({
|
|
91655
91680
|
id: this.id,
|
|
91656
|
-
type: "registryClient"
|
|
91681
|
+
type: "registryClient",
|
|
91682
|
+
username
|
|
91657
91683
|
});
|
|
91684
|
+
console.log(`[remote-app] 远程应用 ${this.id} (${username}) 已注册到主应用,等待消息...`);
|
|
91658
91685
|
remoteApp.emitter.on("message", listenFn);
|
|
91659
91686
|
const closeMessage = () => {
|
|
91660
91687
|
remoteApp.emitter.off("message", listenFn);
|
|
@@ -120014,10 +120041,11 @@ class AssistantApp extends Manager2 {
|
|
|
120014
120041
|
}
|
|
120015
120042
|
const url4 = new URL(shareUrl);
|
|
120016
120043
|
const id = config4?.app?.id;
|
|
120017
|
-
if (
|
|
120044
|
+
if (url4 && id) {
|
|
120018
120045
|
const remoteApp = new RemoteApp({
|
|
120019
120046
|
url: url4.toString(),
|
|
120020
120047
|
token,
|
|
120048
|
+
username: config4?.auth?.username || "",
|
|
120021
120049
|
id,
|
|
120022
120050
|
app: this.mainApp,
|
|
120023
120051
|
autoReconnect: true,
|
package/dist/assistant.js
CHANGED
|
@@ -36603,8 +36603,10 @@ class RemoteApp {
|
|
|
36603
36603
|
mainApp;
|
|
36604
36604
|
url;
|
|
36605
36605
|
id;
|
|
36606
|
+
username;
|
|
36606
36607
|
emitter;
|
|
36607
36608
|
isConnected;
|
|
36609
|
+
isVerified;
|
|
36608
36610
|
ws;
|
|
36609
36611
|
remoteIsConnected;
|
|
36610
36612
|
isError = false;
|
|
@@ -36621,12 +36623,17 @@ class RemoteApp {
|
|
|
36621
36623
|
const token = opts.token;
|
|
36622
36624
|
const url = opts.url;
|
|
36623
36625
|
const id = opts.id;
|
|
36626
|
+
const username = opts.username;
|
|
36627
|
+
this.username = username;
|
|
36624
36628
|
this.emitter = opts?.emitter || new import__2.default;
|
|
36625
36629
|
const _url = new URL(url);
|
|
36626
36630
|
if (token) {
|
|
36627
36631
|
_url.searchParams.set("token", token);
|
|
36628
36632
|
}
|
|
36629
36633
|
_url.searchParams.set("id", id);
|
|
36634
|
+
if (!token && !username) {
|
|
36635
|
+
console.error(`[remote-app] 不存在用户名和token ${id}. 权限认证会失败。`);
|
|
36636
|
+
}
|
|
36630
36637
|
this.url = _url.toString();
|
|
36631
36638
|
this.id = id;
|
|
36632
36639
|
this.autoReconnect = opts?.autoReconnect ?? true;
|
|
@@ -36658,6 +36665,18 @@ class RemoteApp {
|
|
|
36658
36665
|
that.emitter.once("open", listenOnce);
|
|
36659
36666
|
});
|
|
36660
36667
|
}
|
|
36668
|
+
async waitVerify() {
|
|
36669
|
+
if (this.isVerified) {
|
|
36670
|
+
return true;
|
|
36671
|
+
}
|
|
36672
|
+
return new Promise((resolve) => {
|
|
36673
|
+
const listenOnce = () => {
|
|
36674
|
+
this.isVerified = true;
|
|
36675
|
+
resolve(true);
|
|
36676
|
+
};
|
|
36677
|
+
this.emitter.once("verified", listenOnce);
|
|
36678
|
+
});
|
|
36679
|
+
}
|
|
36661
36680
|
getWsURL(url) {
|
|
36662
36681
|
const { protocol } = new URL(url);
|
|
36663
36682
|
if (protocol.startsWith("ws")) {
|
|
@@ -36784,6 +36803,7 @@ class RemoteApp {
|
|
|
36784
36803
|
listenProxy() {
|
|
36785
36804
|
const remoteApp = this;
|
|
36786
36805
|
const app = this.mainApp;
|
|
36806
|
+
const username = this.username;
|
|
36787
36807
|
const listenFn = async (event) => {
|
|
36788
36808
|
try {
|
|
36789
36809
|
const data = event.toString();
|
|
@@ -36791,11 +36811,16 @@ class RemoteApp {
|
|
|
36791
36811
|
const bodyData = body?.data;
|
|
36792
36812
|
const message = bodyData?.message || {};
|
|
36793
36813
|
const context = bodyData?.context || {};
|
|
36814
|
+
console.log("[remote-app] 远程应用收到消息:", body);
|
|
36794
36815
|
if (body?.code === 401) {
|
|
36795
|
-
console.error("远程应用认证失败,请检查 token 是否正确");
|
|
36816
|
+
console.error("[remote-app] 远程应用认证失败,请检查 token 是否正确");
|
|
36796
36817
|
this.isError = true;
|
|
36797
36818
|
return;
|
|
36798
36819
|
}
|
|
36820
|
+
if (body?.type === "verified") {
|
|
36821
|
+
remoteApp.emitter.emit("verified");
|
|
36822
|
+
return;
|
|
36823
|
+
}
|
|
36799
36824
|
if (body?.type !== "proxy")
|
|
36800
36825
|
return;
|
|
36801
36826
|
if (!body.id) {
|
|
@@ -36818,13 +36843,15 @@ class RemoteApp {
|
|
|
36818
36843
|
}
|
|
36819
36844
|
});
|
|
36820
36845
|
} catch (error2) {
|
|
36821
|
-
console.error("处理远程代理请求出错:", error2);
|
|
36846
|
+
console.error("[remote-app] 处理远程代理请求出错:", error2);
|
|
36822
36847
|
}
|
|
36823
36848
|
};
|
|
36824
36849
|
remoteApp.json({
|
|
36825
36850
|
id: this.id,
|
|
36826
|
-
type: "registryClient"
|
|
36851
|
+
type: "registryClient",
|
|
36852
|
+
username
|
|
36827
36853
|
});
|
|
36854
|
+
console.log(`[remote-app] 远程应用 ${this.id} (${username}) 已注册到主应用,等待消息...`);
|
|
36828
36855
|
remoteApp.emitter.on("message", listenFn);
|
|
36829
36856
|
const closeMessage = () => {
|
|
36830
36857
|
remoteApp.emitter.off("message", listenFn);
|
|
@@ -87240,10 +87267,11 @@ class AssistantApp extends Manager2 {
|
|
|
87240
87267
|
}
|
|
87241
87268
|
const url4 = new URL(shareUrl);
|
|
87242
87269
|
const id = config5?.app?.id;
|
|
87243
|
-
if (
|
|
87270
|
+
if (url4 && id) {
|
|
87244
87271
|
const remoteApp = new RemoteApp({
|
|
87245
87272
|
url: url4.toString(),
|
|
87246
87273
|
token,
|
|
87274
|
+
username: config5?.auth?.username || "",
|
|
87247
87275
|
id,
|
|
87248
87276
|
app: this.mainApp,
|
|
87249
87277
|
autoReconnect: true,
|
package/dist/envision.js
CHANGED
|
@@ -6388,6 +6388,184 @@ var require_jsonwebtoken = __commonJS((exports, module) => {
|
|
|
6388
6388
|
};
|
|
6389
6389
|
});
|
|
6390
6390
|
|
|
6391
|
+
// node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.js
|
|
6392
|
+
var require_eventemitter3 = __commonJS((exports, module) => {
|
|
6393
|
+
var has = Object.prototype.hasOwnProperty;
|
|
6394
|
+
var prefix = "~";
|
|
6395
|
+
function Events() {}
|
|
6396
|
+
if (Object.create) {
|
|
6397
|
+
Events.prototype = Object.create(null);
|
|
6398
|
+
if (!new Events().__proto__)
|
|
6399
|
+
prefix = false;
|
|
6400
|
+
}
|
|
6401
|
+
function EE(fn, context, once) {
|
|
6402
|
+
this.fn = fn;
|
|
6403
|
+
this.context = context;
|
|
6404
|
+
this.once = once || false;
|
|
6405
|
+
}
|
|
6406
|
+
function addListener(emitter, event, fn, context, once) {
|
|
6407
|
+
if (typeof fn !== "function") {
|
|
6408
|
+
throw new TypeError("The listener must be a function");
|
|
6409
|
+
}
|
|
6410
|
+
var listener = new EE(fn, context || emitter, once), evt = prefix ? prefix + event : event;
|
|
6411
|
+
if (!emitter._events[evt])
|
|
6412
|
+
emitter._events[evt] = listener, emitter._eventsCount++;
|
|
6413
|
+
else if (!emitter._events[evt].fn)
|
|
6414
|
+
emitter._events[evt].push(listener);
|
|
6415
|
+
else
|
|
6416
|
+
emitter._events[evt] = [emitter._events[evt], listener];
|
|
6417
|
+
return emitter;
|
|
6418
|
+
}
|
|
6419
|
+
function clearEvent(emitter, evt) {
|
|
6420
|
+
if (--emitter._eventsCount === 0)
|
|
6421
|
+
emitter._events = new Events;
|
|
6422
|
+
else
|
|
6423
|
+
delete emitter._events[evt];
|
|
6424
|
+
}
|
|
6425
|
+
function EventEmitter4() {
|
|
6426
|
+
this._events = new Events;
|
|
6427
|
+
this._eventsCount = 0;
|
|
6428
|
+
}
|
|
6429
|
+
EventEmitter4.prototype.eventNames = function eventNames() {
|
|
6430
|
+
var names = [], events, name;
|
|
6431
|
+
if (this._eventsCount === 0)
|
|
6432
|
+
return names;
|
|
6433
|
+
for (name in events = this._events) {
|
|
6434
|
+
if (has.call(events, name))
|
|
6435
|
+
names.push(prefix ? name.slice(1) : name);
|
|
6436
|
+
}
|
|
6437
|
+
if (Object.getOwnPropertySymbols) {
|
|
6438
|
+
return names.concat(Object.getOwnPropertySymbols(events));
|
|
6439
|
+
}
|
|
6440
|
+
return names;
|
|
6441
|
+
};
|
|
6442
|
+
EventEmitter4.prototype.listeners = function listeners(event) {
|
|
6443
|
+
var evt = prefix ? prefix + event : event, handlers = this._events[evt];
|
|
6444
|
+
if (!handlers)
|
|
6445
|
+
return [];
|
|
6446
|
+
if (handlers.fn)
|
|
6447
|
+
return [handlers.fn];
|
|
6448
|
+
for (var i = 0, l = handlers.length, ee = new Array(l);i < l; i++) {
|
|
6449
|
+
ee[i] = handlers[i].fn;
|
|
6450
|
+
}
|
|
6451
|
+
return ee;
|
|
6452
|
+
};
|
|
6453
|
+
EventEmitter4.prototype.listenerCount = function listenerCount(event) {
|
|
6454
|
+
var evt = prefix ? prefix + event : event, listeners = this._events[evt];
|
|
6455
|
+
if (!listeners)
|
|
6456
|
+
return 0;
|
|
6457
|
+
if (listeners.fn)
|
|
6458
|
+
return 1;
|
|
6459
|
+
return listeners.length;
|
|
6460
|
+
};
|
|
6461
|
+
EventEmitter4.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
|
|
6462
|
+
var evt = prefix ? prefix + event : event;
|
|
6463
|
+
if (!this._events[evt])
|
|
6464
|
+
return false;
|
|
6465
|
+
var listeners = this._events[evt], len = arguments.length, args, i;
|
|
6466
|
+
if (listeners.fn) {
|
|
6467
|
+
if (listeners.once)
|
|
6468
|
+
this.removeListener(event, listeners.fn, undefined, true);
|
|
6469
|
+
switch (len) {
|
|
6470
|
+
case 1:
|
|
6471
|
+
return listeners.fn.call(listeners.context), true;
|
|
6472
|
+
case 2:
|
|
6473
|
+
return listeners.fn.call(listeners.context, a1), true;
|
|
6474
|
+
case 3:
|
|
6475
|
+
return listeners.fn.call(listeners.context, a1, a2), true;
|
|
6476
|
+
case 4:
|
|
6477
|
+
return listeners.fn.call(listeners.context, a1, a2, a3), true;
|
|
6478
|
+
case 5:
|
|
6479
|
+
return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
|
|
6480
|
+
case 6:
|
|
6481
|
+
return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
|
|
6482
|
+
}
|
|
6483
|
+
for (i = 1, args = new Array(len - 1);i < len; i++) {
|
|
6484
|
+
args[i - 1] = arguments[i];
|
|
6485
|
+
}
|
|
6486
|
+
listeners.fn.apply(listeners.context, args);
|
|
6487
|
+
} else {
|
|
6488
|
+
var length = listeners.length, j;
|
|
6489
|
+
for (i = 0;i < length; i++) {
|
|
6490
|
+
if (listeners[i].once)
|
|
6491
|
+
this.removeListener(event, listeners[i].fn, undefined, true);
|
|
6492
|
+
switch (len) {
|
|
6493
|
+
case 1:
|
|
6494
|
+
listeners[i].fn.call(listeners[i].context);
|
|
6495
|
+
break;
|
|
6496
|
+
case 2:
|
|
6497
|
+
listeners[i].fn.call(listeners[i].context, a1);
|
|
6498
|
+
break;
|
|
6499
|
+
case 3:
|
|
6500
|
+
listeners[i].fn.call(listeners[i].context, a1, a2);
|
|
6501
|
+
break;
|
|
6502
|
+
case 4:
|
|
6503
|
+
listeners[i].fn.call(listeners[i].context, a1, a2, a3);
|
|
6504
|
+
break;
|
|
6505
|
+
default:
|
|
6506
|
+
if (!args)
|
|
6507
|
+
for (j = 1, args = new Array(len - 1);j < len; j++) {
|
|
6508
|
+
args[j - 1] = arguments[j];
|
|
6509
|
+
}
|
|
6510
|
+
listeners[i].fn.apply(listeners[i].context, args);
|
|
6511
|
+
}
|
|
6512
|
+
}
|
|
6513
|
+
}
|
|
6514
|
+
return true;
|
|
6515
|
+
};
|
|
6516
|
+
EventEmitter4.prototype.on = function on(event, fn, context) {
|
|
6517
|
+
return addListener(this, event, fn, context, false);
|
|
6518
|
+
};
|
|
6519
|
+
EventEmitter4.prototype.once = function once(event, fn, context) {
|
|
6520
|
+
return addListener(this, event, fn, context, true);
|
|
6521
|
+
};
|
|
6522
|
+
EventEmitter4.prototype.removeListener = function removeListener(event, fn, context, once) {
|
|
6523
|
+
var evt = prefix ? prefix + event : event;
|
|
6524
|
+
if (!this._events[evt])
|
|
6525
|
+
return this;
|
|
6526
|
+
if (!fn) {
|
|
6527
|
+
clearEvent(this, evt);
|
|
6528
|
+
return this;
|
|
6529
|
+
}
|
|
6530
|
+
var listeners = this._events[evt];
|
|
6531
|
+
if (listeners.fn) {
|
|
6532
|
+
if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
|
|
6533
|
+
clearEvent(this, evt);
|
|
6534
|
+
}
|
|
6535
|
+
} else {
|
|
6536
|
+
for (var i = 0, events = [], length = listeners.length;i < length; i++) {
|
|
6537
|
+
if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {
|
|
6538
|
+
events.push(listeners[i]);
|
|
6539
|
+
}
|
|
6540
|
+
}
|
|
6541
|
+
if (events.length)
|
|
6542
|
+
this._events[evt] = events.length === 1 ? events[0] : events;
|
|
6543
|
+
else
|
|
6544
|
+
clearEvent(this, evt);
|
|
6545
|
+
}
|
|
6546
|
+
return this;
|
|
6547
|
+
};
|
|
6548
|
+
EventEmitter4.prototype.removeAllListeners = function removeAllListeners(event) {
|
|
6549
|
+
var evt;
|
|
6550
|
+
if (event) {
|
|
6551
|
+
evt = prefix ? prefix + event : event;
|
|
6552
|
+
if (this._events[evt])
|
|
6553
|
+
clearEvent(this, evt);
|
|
6554
|
+
} else {
|
|
6555
|
+
this._events = new Events;
|
|
6556
|
+
this._eventsCount = 0;
|
|
6557
|
+
}
|
|
6558
|
+
return this;
|
|
6559
|
+
};
|
|
6560
|
+
EventEmitter4.prototype.off = EventEmitter4.prototype.removeListener;
|
|
6561
|
+
EventEmitter4.prototype.addListener = EventEmitter4.prototype.on;
|
|
6562
|
+
EventEmitter4.prefixed = prefix;
|
|
6563
|
+
EventEmitter4.EventEmitter = EventEmitter4;
|
|
6564
|
+
if (typeof module !== "undefined") {
|
|
6565
|
+
module.exports = EventEmitter4;
|
|
6566
|
+
}
|
|
6567
|
+
});
|
|
6568
|
+
|
|
6391
6569
|
// node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js
|
|
6392
6570
|
var require_array = __commonJS((exports) => {
|
|
6393
6571
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -22312,8 +22490,8 @@ InitEnv.init();
|
|
|
22312
22490
|
var version = useContextKey("version", () => {
|
|
22313
22491
|
let version2 = "0.0.64";
|
|
22314
22492
|
try {
|
|
22315
|
-
if ("0.1.
|
|
22316
|
-
version2 = "0.1.
|
|
22493
|
+
if ("0.1.17")
|
|
22494
|
+
version2 = "0.1.17";
|
|
22317
22495
|
} catch (e) {}
|
|
22318
22496
|
return version2;
|
|
22319
22497
|
});
|
|
@@ -23430,14 +23608,14 @@ var getEnvToken = () => {
|
|
|
23430
23608
|
return envTokne;
|
|
23431
23609
|
};
|
|
23432
23610
|
|
|
23433
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
23611
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/key.js
|
|
23434
23612
|
var isUpKey = (key, keybindings = []) => key.name === "up" || keybindings.includes("vim") && key.name === "k" || keybindings.includes("emacs") && key.ctrl && key.name === "p";
|
|
23435
23613
|
var isDownKey = (key, keybindings = []) => key.name === "down" || keybindings.includes("vim") && key.name === "j" || keybindings.includes("emacs") && key.ctrl && key.name === "n";
|
|
23436
23614
|
var isBackspaceKey = (key) => key.name === "backspace";
|
|
23437
23615
|
var isTabKey = (key) => key.name === "tab";
|
|
23438
23616
|
var isNumberKey = (key) => "1234567890".includes(key.name);
|
|
23439
23617
|
var isEnterKey = (key) => key.name === "enter" || key.name === "return";
|
|
23440
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
23618
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/errors.js
|
|
23441
23619
|
class AbortPromptError extends Error {
|
|
23442
23620
|
name = "AbortPromptError";
|
|
23443
23621
|
message = "Prompt was aborted";
|
|
@@ -23463,10 +23641,10 @@ class HookError extends Error {
|
|
|
23463
23641
|
class ValidationError extends Error {
|
|
23464
23642
|
name = "ValidationError";
|
|
23465
23643
|
}
|
|
23466
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
23644
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/use-state.js
|
|
23467
23645
|
import { AsyncResource as AsyncResource2 } from "node:async_hooks";
|
|
23468
23646
|
|
|
23469
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
23647
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/hook-engine.js
|
|
23470
23648
|
import { AsyncLocalStorage, AsyncResource } from "node:async_hooks";
|
|
23471
23649
|
var hookStorage = new AsyncLocalStorage;
|
|
23472
23650
|
function createStore(rl) {
|
|
@@ -23571,7 +23749,7 @@ var effectScheduler = {
|
|
|
23571
23749
|
}
|
|
23572
23750
|
};
|
|
23573
23751
|
|
|
23574
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
23752
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/use-state.js
|
|
23575
23753
|
function useState(defaultValue) {
|
|
23576
23754
|
return withPointer((pointer) => {
|
|
23577
23755
|
const setState = AsyncResource2.bind(function setState2(newValue) {
|
|
@@ -23589,7 +23767,7 @@ function useState(defaultValue) {
|
|
|
23589
23767
|
});
|
|
23590
23768
|
}
|
|
23591
23769
|
|
|
23592
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
23770
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/use-effect.js
|
|
23593
23771
|
function useEffect(cb, depArray) {
|
|
23594
23772
|
withPointer((pointer) => {
|
|
23595
23773
|
const oldDeps = pointer.get();
|
|
@@ -23601,7 +23779,7 @@ function useEffect(cb, depArray) {
|
|
|
23601
23779
|
});
|
|
23602
23780
|
}
|
|
23603
23781
|
|
|
23604
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
23782
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/theme.js
|
|
23605
23783
|
import { styleText } from "node:util";
|
|
23606
23784
|
|
|
23607
23785
|
// node_modules/.pnpm/@inquirer+figures@2.0.3/node_modules/@inquirer/figures/dist/index.js
|
|
@@ -23893,7 +24071,7 @@ var figures = shouldUseMain ? mainSymbols : fallbackSymbols;
|
|
|
23893
24071
|
var dist_default = figures;
|
|
23894
24072
|
var replacements = Object.entries(specialMainSymbols);
|
|
23895
24073
|
|
|
23896
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24074
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/theme.js
|
|
23897
24075
|
var defaultTheme = {
|
|
23898
24076
|
prefix: {
|
|
23899
24077
|
idle: styleText("blue", "?"),
|
|
@@ -23914,7 +24092,7 @@ var defaultTheme = {
|
|
|
23914
24092
|
}
|
|
23915
24093
|
};
|
|
23916
24094
|
|
|
23917
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24095
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/make-theme.js
|
|
23918
24096
|
function isPlainObject(value) {
|
|
23919
24097
|
if (typeof value !== "object" || value === null)
|
|
23920
24098
|
return false;
|
|
@@ -23942,7 +24120,7 @@ function makeTheme(...themes) {
|
|
|
23942
24120
|
return deepMerge(...themesToMerge);
|
|
23943
24121
|
}
|
|
23944
24122
|
|
|
23945
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24123
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/use-prefix.js
|
|
23946
24124
|
function usePrefix({ status = "idle", theme }) {
|
|
23947
24125
|
const [showLoader, setShowLoader] = useState(false);
|
|
23948
24126
|
const [tick, setTick] = useState(0);
|
|
@@ -23972,7 +24150,7 @@ function usePrefix({ status = "idle", theme }) {
|
|
|
23972
24150
|
const iconName = status === "loading" ? "idle" : status;
|
|
23973
24151
|
return typeof prefix === "string" ? prefix : prefix[iconName] ?? prefix["idle"];
|
|
23974
24152
|
}
|
|
23975
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24153
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/use-memo.js
|
|
23976
24154
|
function useMemo(fn, dependencies) {
|
|
23977
24155
|
return withPointer((pointer) => {
|
|
23978
24156
|
const prev = pointer.get();
|
|
@@ -23984,11 +24162,11 @@ function useMemo(fn, dependencies) {
|
|
|
23984
24162
|
return prev.value;
|
|
23985
24163
|
});
|
|
23986
24164
|
}
|
|
23987
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24165
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/use-ref.js
|
|
23988
24166
|
function useRef(val) {
|
|
23989
24167
|
return useState({ current: val })[0];
|
|
23990
24168
|
}
|
|
23991
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24169
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/use-keypress.js
|
|
23992
24170
|
function useKeypress(userHandler) {
|
|
23993
24171
|
const signal = useRef(userHandler);
|
|
23994
24172
|
signal.current = userHandler;
|
|
@@ -24006,7 +24184,7 @@ function useKeypress(userHandler) {
|
|
|
24006
24184
|
};
|
|
24007
24185
|
}, []);
|
|
24008
24186
|
}
|
|
24009
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24187
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/utils.js
|
|
24010
24188
|
var import_cli_width = __toESM(require_cli_width(), 1);
|
|
24011
24189
|
|
|
24012
24190
|
// node_modules/.pnpm/fast-string-truncated-width@3.0.3/node_modules/fast-string-truncated-width/dist/utils.js
|
|
@@ -24350,7 +24528,7 @@ function wrapAnsi(string, columns, options) {
|
|
|
24350
24528
|
`);
|
|
24351
24529
|
}
|
|
24352
24530
|
|
|
24353
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24531
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/utils.js
|
|
24354
24532
|
function breakLines(content, width) {
|
|
24355
24533
|
return content.split(`
|
|
24356
24534
|
`).flatMap((line) => wrapAnsi(line, width, { trim: false, hard: true }).split(`
|
|
@@ -24361,7 +24539,7 @@ function readlineWidth() {
|
|
|
24361
24539
|
return import_cli_width.default({ defaultWidth: 80, output: readline().output });
|
|
24362
24540
|
}
|
|
24363
24541
|
|
|
24364
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24542
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/pagination/use-pagination.js
|
|
24365
24543
|
function usePointerPosition({ active, renderedItems, pageSize, loop }) {
|
|
24366
24544
|
const state = useRef({
|
|
24367
24545
|
lastPointer: active,
|
|
@@ -24427,7 +24605,7 @@ function usePagination({ items, active, renderItem, pageSize, loop = true }) {
|
|
|
24427
24605
|
return pageBuffer.filter((line) => typeof line === "string").join(`
|
|
24428
24606
|
`);
|
|
24429
24607
|
}
|
|
24430
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24608
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/create-prompt.js
|
|
24431
24609
|
var import_mute_stream = __toESM(require_lib(), 1);
|
|
24432
24610
|
import * as readline2 from "node:readline";
|
|
24433
24611
|
import { AsyncResource as AsyncResource3 } from "node:async_hooks";
|
|
@@ -24640,7 +24818,7 @@ var {
|
|
|
24640
24818
|
unload
|
|
24641
24819
|
} = signalExitWrap(processOk(process3) ? new SignalExit(process3) : new SignalExitFallback);
|
|
24642
24820
|
|
|
24643
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24821
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/screen-manager.js
|
|
24644
24822
|
import { stripVTControlCharacters } from "node:util";
|
|
24645
24823
|
|
|
24646
24824
|
// node_modules/.pnpm/@inquirer+ansi@2.0.3/node_modules/@inquirer/ansi/dist/index.js
|
|
@@ -24659,7 +24837,7 @@ var cursorTo = (x, y) => {
|
|
|
24659
24837
|
var eraseLine = ESC2 + "2K";
|
|
24660
24838
|
var eraseLines = (lines) => lines > 0 ? (eraseLine + cursorUp(1)).repeat(lines - 1) + eraseLine + cursorLeft : "";
|
|
24661
24839
|
|
|
24662
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24840
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/screen-manager.js
|
|
24663
24841
|
var height = (content) => content.split(`
|
|
24664
24842
|
`).length;
|
|
24665
24843
|
var lastLine = (content) => content.split(`
|
|
@@ -24724,7 +24902,7 @@ class ScreenManager {
|
|
|
24724
24902
|
}
|
|
24725
24903
|
}
|
|
24726
24904
|
|
|
24727
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24905
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/promise-polyfill.js
|
|
24728
24906
|
class PromisePolyfill extends Promise {
|
|
24729
24907
|
static withResolver() {
|
|
24730
24908
|
let resolve;
|
|
@@ -24737,7 +24915,7 @@ class PromisePolyfill extends Promise {
|
|
|
24737
24915
|
}
|
|
24738
24916
|
}
|
|
24739
24917
|
|
|
24740
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
24918
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/create-prompt.js
|
|
24741
24919
|
var nativeSetImmediate = globalThis.setImmediate;
|
|
24742
24920
|
function getCallSites() {
|
|
24743
24921
|
const _prepareStackTrace = Error.prepareStackTrace;
|
|
@@ -24832,7 +25010,7 @@ function createPrompt(view) {
|
|
|
24832
25010
|
};
|
|
24833
25011
|
return prompt;
|
|
24834
25012
|
}
|
|
24835
|
-
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.
|
|
25013
|
+
// node_modules/.pnpm/@inquirer+core@11.1.5_@types+node@25.3.3/node_modules/@inquirer/core/dist/lib/Separator.js
|
|
24836
25014
|
import { styleText as styleText2 } from "node:util";
|
|
24837
25015
|
class Separator {
|
|
24838
25016
|
separator = styleText2("dim", Array.from({ length: 15 }).join(dist_default.line));
|
|
@@ -24846,7 +25024,7 @@ class Separator {
|
|
|
24846
25024
|
return Boolean(choice && typeof choice === "object" && "type" in choice && choice.type === "separator");
|
|
24847
25025
|
}
|
|
24848
25026
|
}
|
|
24849
|
-
// node_modules/.pnpm/@inquirer+confirm@6.0.8_@types+node@25.3.
|
|
25027
|
+
// node_modules/.pnpm/@inquirer+confirm@6.0.8_@types+node@25.3.3/node_modules/@inquirer/confirm/dist/index.js
|
|
24850
25028
|
function getBooleanValue(value, defaultValue) {
|
|
24851
25029
|
let answer = defaultValue !== false;
|
|
24852
25030
|
if (/^(y|yes)/i.test(value))
|
|
@@ -24891,7 +25069,7 @@ var dist_default4 = createPrompt((config, done) => {
|
|
|
24891
25069
|
const message = theme.style.message(config.message, status);
|
|
24892
25070
|
return `${prefix} ${message}${defaultValue} ${formattedValue}`;
|
|
24893
25071
|
});
|
|
24894
|
-
// node_modules/.pnpm/@inquirer+input@5.0.8_@types+node@25.3.
|
|
25072
|
+
// node_modules/.pnpm/@inquirer+input@5.0.8_@types+node@25.3.3/node_modules/@inquirer/input/dist/index.js
|
|
24895
25073
|
var inputTheme = {
|
|
24896
25074
|
validationFailureMode: "keep"
|
|
24897
25075
|
};
|
|
@@ -24975,7 +25153,7 @@ var dist_default5 = createPrompt((config, done) => {
|
|
|
24975
25153
|
error
|
|
24976
25154
|
];
|
|
24977
25155
|
});
|
|
24978
|
-
// node_modules/.pnpm/@inquirer+select@5.1.0_@types+node@25.3.
|
|
25156
|
+
// node_modules/.pnpm/@inquirer+select@5.1.0_@types+node@25.3.3/node_modules/@inquirer/select/dist/index.js
|
|
24979
25157
|
import { styleText as styleText3 } from "node:util";
|
|
24980
25158
|
var selectTheme = {
|
|
24981
25159
|
icon: { cursor: dist_default.pointer },
|
|
@@ -25750,7 +25928,7 @@ class BaseQuery {
|
|
|
25750
25928
|
}
|
|
25751
25929
|
}
|
|
25752
25930
|
|
|
25753
|
-
// node_modules/.pnpm/@kevisual+api@0.0.
|
|
25931
|
+
// node_modules/.pnpm/@kevisual+api@0.0.62_@types+react@19.2.10_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@kevisual/api/query/query-login/login-cache.ts
|
|
25754
25932
|
var defaultCacheData = {
|
|
25755
25933
|
loginUsers: [],
|
|
25756
25934
|
user: undefined,
|
|
@@ -25787,17 +25965,19 @@ class LoginCacheStore {
|
|
|
25787
25965
|
}
|
|
25788
25966
|
async init() {
|
|
25789
25967
|
const defaultData = { ...this.cacheData };
|
|
25790
|
-
|
|
25791
|
-
|
|
25792
|
-
|
|
25793
|
-
|
|
25794
|
-
|
|
25795
|
-
|
|
25968
|
+
return new Promise(async (resolve) => {
|
|
25969
|
+
if (this.cache.init) {
|
|
25970
|
+
try {
|
|
25971
|
+
const cacheData = await this.cache.init();
|
|
25972
|
+
this.cacheData = cacheData || defaultData;
|
|
25973
|
+
} catch (error) {
|
|
25974
|
+
console.log("cacheInit error", error);
|
|
25975
|
+
}
|
|
25976
|
+
} else {
|
|
25977
|
+
this.cacheData = await this.getValue() || defaultData;
|
|
25796
25978
|
}
|
|
25797
|
-
|
|
25798
|
-
|
|
25799
|
-
}
|
|
25800
|
-
return this.cacheData;
|
|
25979
|
+
resolve(this.cacheData);
|
|
25980
|
+
});
|
|
25801
25981
|
}
|
|
25802
25982
|
async setLoginUser(loginUser) {
|
|
25803
25983
|
const has = this.cacheData.loginUsers.find((u) => u.id === loginUser.id);
|
|
@@ -26316,13 +26496,18 @@ class BaseLoad3 {
|
|
|
26316
26496
|
}
|
|
26317
26497
|
}
|
|
26318
26498
|
|
|
26319
|
-
// node_modules/.pnpm
|
|
26499
|
+
// node_modules/.pnpm/eventemitter3@5.0.4/node_modules/eventemitter3/index.mjs
|
|
26500
|
+
var import__2 = __toESM(require_eventemitter3(), 1);
|
|
26501
|
+
|
|
26502
|
+
// node_modules/.pnpm/@kevisual+api@0.0.62_@types+react@19.2.10_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@kevisual/api/query/query-login/query-login.ts
|
|
26320
26503
|
class QueryLogin extends BaseQuery {
|
|
26321
26504
|
cacheStore;
|
|
26322
26505
|
isBrowser;
|
|
26323
|
-
load;
|
|
26324
26506
|
storage;
|
|
26507
|
+
load = false;
|
|
26508
|
+
status = "init";
|
|
26325
26509
|
onLoad;
|
|
26510
|
+
emitter = new import__2.default;
|
|
26326
26511
|
constructor(opts) {
|
|
26327
26512
|
super({
|
|
26328
26513
|
query: opts?.query || new Query2
|
|
@@ -26335,14 +26520,29 @@ class QueryLogin extends BaseQuery {
|
|
|
26335
26520
|
if (!this.storage) {
|
|
26336
26521
|
throw new Error("storage is required");
|
|
26337
26522
|
}
|
|
26523
|
+
this.cacheStore.init().then(() => {
|
|
26524
|
+
this.onLoad?.();
|
|
26525
|
+
this.load = true;
|
|
26526
|
+
this.emitter.emit("load");
|
|
26527
|
+
});
|
|
26338
26528
|
}
|
|
26339
26529
|
setQuery(query) {
|
|
26340
26530
|
this.query = query;
|
|
26341
26531
|
}
|
|
26342
26532
|
async init() {
|
|
26343
|
-
|
|
26344
|
-
|
|
26345
|
-
|
|
26533
|
+
if (this.load) {
|
|
26534
|
+
return this.cacheStore.cacheData;
|
|
26535
|
+
}
|
|
26536
|
+
return new Promise(async (resolve) => {
|
|
26537
|
+
const timer = setTimeout(() => {
|
|
26538
|
+
resolve(this.cacheStore.cacheData);
|
|
26539
|
+
}, 1000 * 20);
|
|
26540
|
+
const listener = () => {
|
|
26541
|
+
clearTimeout(timer);
|
|
26542
|
+
resolve(this.cacheStore.cacheData);
|
|
26543
|
+
};
|
|
26544
|
+
this.emitter.once("load", listener);
|
|
26545
|
+
});
|
|
26346
26546
|
}
|
|
26347
26547
|
async post(data, opts) {
|
|
26348
26548
|
try {
|
|
@@ -26708,7 +26908,7 @@ class QueryLogin extends BaseQuery {
|
|
|
26708
26908
|
}
|
|
26709
26909
|
}
|
|
26710
26910
|
|
|
26711
|
-
// node_modules/.pnpm/@kevisual+api@0.0.
|
|
26911
|
+
// node_modules/.pnpm/@kevisual+api@0.0.62_@types+react@19.2.10_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@kevisual/api/query/query-login/login-node-cache.ts
|
|
26712
26912
|
import { homedir } from "node:os";
|
|
26713
26913
|
import { join, dirname } from "node:path";
|
|
26714
26914
|
import fs4 from "node:fs";
|
|
@@ -26852,7 +27052,7 @@ class LoginNodeCache {
|
|
|
26852
27052
|
}
|
|
26853
27053
|
}
|
|
26854
27054
|
|
|
26855
|
-
// node_modules/.pnpm/@kevisual+api@0.0.
|
|
27055
|
+
// node_modules/.pnpm/@kevisual+api@0.0.62_@types+react@19.2.10_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@kevisual/api/query/query-login/query-login-node.ts
|
|
26856
27056
|
var cache = new LoginNodeCache;
|
|
26857
27057
|
|
|
26858
27058
|
class QueryLoginNode extends QueryLogin {
|
|
@@ -27598,6 +27798,24 @@ var logoutCommand = new Command("logout").description("退出登陆").action(asy
|
|
|
27598
27798
|
}
|
|
27599
27799
|
});
|
|
27600
27800
|
program.addCommand(logoutCommand);
|
|
27801
|
+
// src/module/kevisual.ts
|
|
27802
|
+
class Kevisual {
|
|
27803
|
+
query;
|
|
27804
|
+
constructor() {
|
|
27805
|
+
this.query = query;
|
|
27806
|
+
}
|
|
27807
|
+
getAdminToken() {
|
|
27808
|
+
const res = this.query.post({
|
|
27809
|
+
path: "user",
|
|
27810
|
+
key: "token-create",
|
|
27811
|
+
payload: {
|
|
27812
|
+
loginType: "jwks"
|
|
27813
|
+
}
|
|
27814
|
+
});
|
|
27815
|
+
return res;
|
|
27816
|
+
}
|
|
27817
|
+
}
|
|
27818
|
+
|
|
27601
27819
|
// src/command/ls-token.ts
|
|
27602
27820
|
function isNumeric(str) {
|
|
27603
27821
|
return /^-?\d+\.?\d*$/.test(str);
|
|
@@ -27628,6 +27846,18 @@ var tokenList = new Command("list").description("show token list").action(async
|
|
|
27628
27846
|
console.log(queryLogin.cacheStore.cacheData);
|
|
27629
27847
|
});
|
|
27630
27848
|
token.addCommand(tokenList);
|
|
27849
|
+
var createToken = new Command("create").description("create jwks token").action(async (opts) => {
|
|
27850
|
+
const kevisual = new Kevisual;
|
|
27851
|
+
const res = await kevisual.getAdminToken();
|
|
27852
|
+
if (res.code === 200) {
|
|
27853
|
+
const jwtToken = res.data?.accessToken;
|
|
27854
|
+
console.log(`============jwt token============
|
|
27855
|
+
|
|
27856
|
+
`);
|
|
27857
|
+
console.log(jwtToken);
|
|
27858
|
+
}
|
|
27859
|
+
});
|
|
27860
|
+
token.addCommand(createToken);
|
|
27631
27861
|
program.addCommand(token);
|
|
27632
27862
|
var baseURL2 = new Command("baseURL").alias("base").description("show baseURL").option("-a, --add <baseURL>", "add baseURL").option("-r, --remove <number>", "remove baseURL number").option("-s, --set <number|string>", "set current baseURL, use number to set from list or string to set").option("-l, --list", "list baseURL").option("-c, --clear", "clear baseURL").action(async (opts) => {
|
|
27633
27863
|
let config2 = getConfig2();
|
|
@@ -30007,7 +30237,10 @@ class SyncBase {
|
|
|
30007
30237
|
const syncList = syncKeys.map((key) => {
|
|
30008
30238
|
const value = sync[key];
|
|
30009
30239
|
const filepath = path9.join(this.#dir, key);
|
|
30010
|
-
|
|
30240
|
+
const dirs = path9.dirname(filepath).split(path9.sep);
|
|
30241
|
+
const hasGit = dirs.includes(".git");
|
|
30242
|
+
const hasNodeModules = dirs.includes("node_modules");
|
|
30243
|
+
if (hasGit || hasNodeModules) {
|
|
30011
30244
|
return null;
|
|
30012
30245
|
}
|
|
30013
30246
|
if (typeof value === "string") {
|
|
@@ -30573,7 +30806,7 @@ var download = new Command("download").option("-d --dir <dir>", "配置目录").
|
|
|
30573
30806
|
command8.addCommand(download);
|
|
30574
30807
|
program.addCommand(command8);
|
|
30575
30808
|
|
|
30576
|
-
// node_modules/.pnpm/@kevisual+api@0.0.
|
|
30809
|
+
// node_modules/.pnpm/@kevisual+api@0.0.62_@types+react@19.2.10_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@kevisual/api/dist/query-config.js
|
|
30577
30810
|
var isTextForContentType3 = (contentType) => {
|
|
30578
30811
|
if (!contentType)
|
|
30579
30812
|
return false;
|
|
@@ -31009,7 +31242,7 @@ command9.addCommand(updateCommand);
|
|
|
31009
31242
|
command9.addCommand(deleteCommand);
|
|
31010
31243
|
program.addCommand(command9);
|
|
31011
31244
|
|
|
31012
|
-
// node_modules/.pnpm/@kevisual+api@0.0.
|
|
31245
|
+
// node_modules/.pnpm/@kevisual+api@0.0.62_@types+react@19.2.10_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@kevisual/api/dist/query-secret.js
|
|
31013
31246
|
var isTextForContentType4 = (contentType) => {
|
|
31014
31247
|
if (!contentType)
|
|
31015
31248
|
return false;
|
|
@@ -34326,7 +34559,7 @@ var getJWKS = new Command("get").description("获取 JWKS 内容").option("-d ,
|
|
|
34326
34559
|
jwksCmd.addCommand(getJWKS);
|
|
34327
34560
|
program.addCommand(jwksCmd);
|
|
34328
34561
|
|
|
34329
|
-
// node_modules/.pnpm/@kevisual+cnb@0.0.
|
|
34562
|
+
// node_modules/.pnpm/@kevisual+cnb@0.0.33_dotenv@17.3.1_idb-keyval@6.2.2_ioredis@5.9.3/node_modules/@kevisual/cnb/dist/keep.js
|
|
34330
34563
|
import { createRequire as createRequire3 } from "node:module";
|
|
34331
34564
|
var __create3 = Object.create;
|
|
34332
34565
|
var __getProtoOf3 = Object.getPrototypeOf;
|
|
@@ -35947,7 +36180,7 @@ var require_extension = __commonJS3((exports, module) => {
|
|
|
35947
36180
|
module.exports = { format, parse };
|
|
35948
36181
|
});
|
|
35949
36182
|
var require_websocket = __commonJS3((exports, module) => {
|
|
35950
|
-
var
|
|
36183
|
+
var EventEmitter5 = __require3("events");
|
|
35951
36184
|
var https = __require3("https");
|
|
35952
36185
|
var http = __require3("http");
|
|
35953
36186
|
var net = __require3("net");
|
|
@@ -35980,7 +36213,7 @@ var require_websocket = __commonJS3((exports, module) => {
|
|
|
35980
36213
|
var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"];
|
|
35981
36214
|
var subprotocolRegex = /^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;
|
|
35982
36215
|
|
|
35983
|
-
class WebSocket2 extends
|
|
36216
|
+
class WebSocket2 extends EventEmitter5 {
|
|
35984
36217
|
constructor(address, protocols, options) {
|
|
35985
36218
|
super();
|
|
35986
36219
|
this._binaryType = BINARY_TYPES[0];
|
|
@@ -36851,7 +37084,7 @@ var require_subprotocol = __commonJS3((exports, module) => {
|
|
|
36851
37084
|
module.exports = { parse };
|
|
36852
37085
|
});
|
|
36853
37086
|
var require_websocket_server = __commonJS3((exports, module) => {
|
|
36854
|
-
var
|
|
37087
|
+
var EventEmitter5 = __require3("events");
|
|
36855
37088
|
var http = __require3("http");
|
|
36856
37089
|
var { Duplex } = __require3("stream");
|
|
36857
37090
|
var { createHash } = __require3("crypto");
|
|
@@ -36865,7 +37098,7 @@ var require_websocket_server = __commonJS3((exports, module) => {
|
|
|
36865
37098
|
var CLOSING = 1;
|
|
36866
37099
|
var CLOSED = 2;
|
|
36867
37100
|
|
|
36868
|
-
class WebSocketServer extends
|
|
37101
|
+
class WebSocketServer extends EventEmitter5 {
|
|
36869
37102
|
constructor(options, callback) {
|
|
36870
37103
|
super();
|
|
36871
37104
|
options = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kevisual/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.17",
|
|
4
4
|
"description": "envision 命令行工具",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"basename": "/root/cli",
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
"@kevisual/auth": "^2.0.3",
|
|
47
47
|
"@kevisual/context": "^0.0.8",
|
|
48
48
|
"@kevisual/use-config": "^1.0.30",
|
|
49
|
-
"@opencode-ai/sdk": "^1.2.
|
|
49
|
+
"@opencode-ai/sdk": "^1.2.17",
|
|
50
50
|
"@types/busboy": "^1.5.4",
|
|
51
51
|
"busboy": "^1.6.0",
|
|
52
52
|
"eventemitter3": "^5.0.4",
|
|
53
|
-
"jose": "^6.
|
|
53
|
+
"jose": "^6.2.0",
|
|
54
54
|
"lowdb": "^7.0.1",
|
|
55
55
|
"lru-cache": "^11.2.6",
|
|
56
56
|
"micromatch": "^4.0.8",
|
|
@@ -59,17 +59,17 @@
|
|
|
59
59
|
"unstorage": "^1.17.4"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@kevisual/api": "^0.0.
|
|
63
|
-
"@kevisual/cnb": "^0.0.
|
|
62
|
+
"@kevisual/api": "^0.0.62",
|
|
63
|
+
"@kevisual/cnb": "^0.0.33",
|
|
64
64
|
"@kevisual/dts": "^0.0.4",
|
|
65
65
|
"@kevisual/load": "^0.0.6",
|
|
66
66
|
"@kevisual/logger": "^0.0.4",
|
|
67
67
|
"@kevisual/query": "0.0.52",
|
|
68
|
-
"@types/bun": "^1.3.
|
|
68
|
+
"@types/bun": "^1.3.10",
|
|
69
69
|
"@types/crypto-js": "^4.2.2",
|
|
70
70
|
"@types/jsonwebtoken": "^9.0.10",
|
|
71
71
|
"@types/micromatch": "^4.0.10",
|
|
72
|
-
"@types/node": "^25.3.
|
|
72
|
+
"@types/node": "^25.3.3",
|
|
73
73
|
"@types/semver": "^7.7.1",
|
|
74
74
|
"chalk": "^5.6.2",
|
|
75
75
|
"commander": "^14.0.3",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"ignore": "^7.0.5",
|
|
81
81
|
"jsonwebtoken": "^9.0.3",
|
|
82
82
|
"pm2": "^6.0.14",
|
|
83
|
-
"tar": "^7.5.
|
|
83
|
+
"tar": "^7.5.10",
|
|
84
84
|
"zustand": "^5.0.11"
|
|
85
85
|
},
|
|
86
86
|
"engines": {
|