@kevisual/cnb 0.0.68 → 0.0.70
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/agent/app.ts +3 -1
- package/agent/modules/cnb-manager.ts +8 -5
- package/agent/routes/chat/chat.ts +0 -1
- package/dist/cli-live.js +24 -42
- package/dist/cli.js +434 -584
- package/dist/keep.js +16 -34
- package/dist/npc.js +428 -577
- package/dist/opencode.js +429 -579
- package/dist/routes.d.ts +3 -2
- package/dist/routes.js +416 -566
- package/package.json +5 -5
- package/src/cnb-git.ts +1 -0
- package/src/repo/index.ts +3 -3
- package/dist/a/a.txt +0 -1
package/agent/app.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { QueryRouterServer as App } from '@kevisual/router'
|
|
2
|
-
import { useContextKey } from '@kevisual/context'
|
|
2
|
+
import { use, useContextKey } from '@kevisual/context'
|
|
3
3
|
import { useKey } from '@kevisual/use-config'
|
|
4
4
|
import { CNB } from '../src/index.ts';
|
|
5
5
|
import { CNBManager } from './modules/cnb-manager.ts'
|
|
@@ -11,11 +11,13 @@ export const cnbManager = new CNBManager()
|
|
|
11
11
|
const token = useKey('CNB_API_KEY') as string || useKey('CNB_TOKEN') as string
|
|
12
12
|
// cookie 变量是可选的
|
|
13
13
|
const cookie = useKey('CNB_COOKIE') as string
|
|
14
|
+
const aiRepo = useKey('CNB_AI_REPO') as string || useKey('CNB_REPO_SLUG_LOWERCASE') as string
|
|
14
15
|
try {
|
|
15
16
|
cnbManager.addCNB({
|
|
16
17
|
username: 'default',
|
|
17
18
|
token: token,
|
|
18
19
|
cookie: cookie,
|
|
20
|
+
aiRepo: aiRepo,
|
|
19
21
|
cnb: new CNB({ token: token, cookie: cookie })
|
|
20
22
|
})
|
|
21
23
|
} catch (error) {
|
|
@@ -24,7 +24,8 @@ export const getConfig = async (opts: { token?: string }) => {
|
|
|
24
24
|
return res as Result<{
|
|
25
25
|
id: string, key: 'cnb_center_config.json', data: {
|
|
26
26
|
CNB_API_KEY: string,
|
|
27
|
-
CNB_COOKIE: string
|
|
27
|
+
CNB_COOKIE: string,
|
|
28
|
+
CNB_AI_REPO?: string
|
|
28
29
|
}
|
|
29
30
|
}>;
|
|
30
31
|
}
|
|
@@ -36,6 +37,7 @@ type CNBItem = {
|
|
|
36
37
|
owner?: boolean
|
|
37
38
|
cnb: CNB
|
|
38
39
|
cnbAi: ReturnType<typeof createOpenAICompatible>
|
|
40
|
+
aiRepo?: string
|
|
39
41
|
}
|
|
40
42
|
// const repo = useKey('CNB_REPO_SLUG_LOWERCASE') as string || 'kevision/kevision';
|
|
41
43
|
// export const cnbAi = createOpenAICompatible({
|
|
@@ -60,7 +62,7 @@ export class CNBManager {
|
|
|
60
62
|
}
|
|
61
63
|
async getCNB(opts?: { username?: string, kevisualToken?: string }): Promise<CNBItem | null> {
|
|
62
64
|
const username = opts?.username
|
|
63
|
-
const cnbItem = this.cnbMap.get(username)
|
|
65
|
+
const cnbItem = this.cnbMap.get(username!)
|
|
64
66
|
if (cnbItem) {
|
|
65
67
|
cnbItem.runAt = Date.now()
|
|
66
68
|
return cnbItem
|
|
@@ -70,8 +72,9 @@ export class CNBManager {
|
|
|
70
72
|
if (res.code === 200) {
|
|
71
73
|
const cookie = res.data?.data?.CNB_COOKIE
|
|
72
74
|
const token = res.data?.data?.CNB_API_KEY
|
|
75
|
+
const aiRepo = res.data?.data?.CNB_AI_REPO
|
|
73
76
|
if (token) {
|
|
74
|
-
return this.addCNB({ username, token, cookie })
|
|
77
|
+
return this.addCNB({ username, token, cookie, aiRepo })
|
|
75
78
|
}
|
|
76
79
|
} else {
|
|
77
80
|
console.error('获取 CNB 配置失败', username, res)
|
|
@@ -85,7 +88,7 @@ export class CNBManager {
|
|
|
85
88
|
*/
|
|
86
89
|
async getContext(ctx: any) {
|
|
87
90
|
const item = await this.getCNBItem(ctx)
|
|
88
|
-
return item
|
|
91
|
+
return item?.cnb
|
|
89
92
|
}
|
|
90
93
|
async getCNBItem(ctx: any) {
|
|
91
94
|
const tokenUser = ctx?.state?.tokenUser
|
|
@@ -115,7 +118,7 @@ export class CNBManager {
|
|
|
115
118
|
const cnb = opts?.cnb || new CNB({ token: opts.token, cookie: opts.cookie });
|
|
116
119
|
opts.cnb = cnb;
|
|
117
120
|
opts.runAt = Date.now()
|
|
118
|
-
const repoSlug =
|
|
121
|
+
const repoSlug = opts.aiRepo || 'kevision/kevision';
|
|
119
122
|
opts.cnbAi = createOpenAICompatible({
|
|
120
123
|
baseURL: `https://api.cnb.cool/${repoSlug}/-/ai/`,
|
|
121
124
|
name: `custom-cnb-${opts.username}`,
|
package/dist/cli-live.js
CHANGED
|
@@ -4,49 +4,31 @@ var __getProtoOf = Object.getPrototypeOf;
|
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
function __accessProp(key) {
|
|
8
|
-
return this[key];
|
|
9
|
-
}
|
|
10
|
-
var __toESMCache_node;
|
|
11
|
-
var __toESMCache_esm;
|
|
12
7
|
var __toESM = (mod, isNodeMode, target) => {
|
|
13
|
-
var canCache = mod != null && typeof mod === "object";
|
|
14
|
-
if (canCache) {
|
|
15
|
-
var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
|
|
16
|
-
var cached = cache.get(mod);
|
|
17
|
-
if (cached)
|
|
18
|
-
return cached;
|
|
19
|
-
}
|
|
20
8
|
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
21
9
|
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
22
10
|
for (let key of __getOwnPropNames(mod))
|
|
23
11
|
if (!__hasOwnProp.call(to, key))
|
|
24
12
|
__defProp(to, key, {
|
|
25
|
-
get:
|
|
13
|
+
get: () => mod[key],
|
|
26
14
|
enumerable: true
|
|
27
15
|
});
|
|
28
|
-
if (canCache)
|
|
29
|
-
cache.set(mod, to);
|
|
30
16
|
return to;
|
|
31
17
|
};
|
|
32
18
|
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
33
|
-
var __returnValue = (v) => v;
|
|
34
|
-
function __exportSetter(name, newValue) {
|
|
35
|
-
this[name] = __returnValue.bind(null, newValue);
|
|
36
|
-
}
|
|
37
19
|
var __export = (target, all) => {
|
|
38
20
|
for (var name in all)
|
|
39
21
|
__defProp(target, name, {
|
|
40
22
|
get: all[name],
|
|
41
23
|
enumerable: true,
|
|
42
24
|
configurable: true,
|
|
43
|
-
set:
|
|
25
|
+
set: (newValue) => all[name] = () => newValue
|
|
44
26
|
});
|
|
45
27
|
};
|
|
46
28
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
47
29
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
48
30
|
|
|
49
|
-
//
|
|
31
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/constants.js
|
|
50
32
|
var require_constants = __commonJS((exports, module) => {
|
|
51
33
|
var BINARY_TYPES = ["nodebuffer", "arraybuffer", "fragments"];
|
|
52
34
|
var hasBlob = typeof Blob !== "undefined";
|
|
@@ -66,7 +48,7 @@ var require_constants = __commonJS((exports, module) => {
|
|
|
66
48
|
};
|
|
67
49
|
});
|
|
68
50
|
|
|
69
|
-
//
|
|
51
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/buffer-util.js
|
|
70
52
|
var require_buffer_util = __commonJS((exports, module) => {
|
|
71
53
|
var { EMPTY_BUFFER } = require_constants();
|
|
72
54
|
var FastBuffer = Buffer[Symbol.species];
|
|
@@ -127,7 +109,7 @@ var require_buffer_util = __commonJS((exports, module) => {
|
|
|
127
109
|
};
|
|
128
110
|
});
|
|
129
111
|
|
|
130
|
-
//
|
|
112
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/limiter.js
|
|
131
113
|
var require_limiter = __commonJS((exports, module) => {
|
|
132
114
|
var kDone = Symbol("kDone");
|
|
133
115
|
var kRun = Symbol("kRun");
|
|
@@ -159,7 +141,7 @@ var require_limiter = __commonJS((exports, module) => {
|
|
|
159
141
|
module.exports = Limiter;
|
|
160
142
|
});
|
|
161
143
|
|
|
162
|
-
//
|
|
144
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/permessage-deflate.js
|
|
163
145
|
var require_permessage_deflate = __commonJS((exports, module) => {
|
|
164
146
|
var zlib = __require("zlib");
|
|
165
147
|
var bufferUtil = require_buffer_util();
|
|
@@ -423,7 +405,7 @@ var require_permessage_deflate = __commonJS((exports, module) => {
|
|
|
423
405
|
}
|
|
424
406
|
});
|
|
425
407
|
|
|
426
|
-
//
|
|
408
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/validation.js
|
|
427
409
|
var require_validation = __commonJS((exports, module) => {
|
|
428
410
|
var { isUtf8 } = __require("buffer");
|
|
429
411
|
var { hasBlob } = require_constants();
|
|
@@ -603,7 +585,7 @@ var require_validation = __commonJS((exports, module) => {
|
|
|
603
585
|
}
|
|
604
586
|
});
|
|
605
587
|
|
|
606
|
-
//
|
|
588
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/receiver.js
|
|
607
589
|
var require_receiver = __commonJS((exports, module) => {
|
|
608
590
|
var { Writable } = __require("stream");
|
|
609
591
|
var PerMessageDeflate = require_permessage_deflate();
|
|
@@ -984,7 +966,7 @@ var require_receiver = __commonJS((exports, module) => {
|
|
|
984
966
|
module.exports = Receiver;
|
|
985
967
|
});
|
|
986
968
|
|
|
987
|
-
//
|
|
969
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/sender.js
|
|
988
970
|
var require_sender = __commonJS((exports, module) => {
|
|
989
971
|
var { Duplex } = __require("stream");
|
|
990
972
|
var { randomFillSync } = __require("crypto");
|
|
@@ -1338,7 +1320,7 @@ var require_sender = __commonJS((exports, module) => {
|
|
|
1338
1320
|
}
|
|
1339
1321
|
});
|
|
1340
1322
|
|
|
1341
|
-
//
|
|
1323
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/event-target.js
|
|
1342
1324
|
var require_event_target = __commonJS((exports, module) => {
|
|
1343
1325
|
var { kForOnEventAttribute, kListener } = require_constants();
|
|
1344
1326
|
var kCode = Symbol("kCode");
|
|
@@ -1489,7 +1471,7 @@ var require_event_target = __commonJS((exports, module) => {
|
|
|
1489
1471
|
}
|
|
1490
1472
|
});
|
|
1491
1473
|
|
|
1492
|
-
//
|
|
1474
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/extension.js
|
|
1493
1475
|
var require_extension = __commonJS((exports, module) => {
|
|
1494
1476
|
var { tokenChars } = require_validation();
|
|
1495
1477
|
function push(dest, name, elem) {
|
|
@@ -1654,7 +1636,7 @@ var require_extension = __commonJS((exports, module) => {
|
|
|
1654
1636
|
module.exports = { format, parse };
|
|
1655
1637
|
});
|
|
1656
1638
|
|
|
1657
|
-
//
|
|
1639
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/websocket.js
|
|
1658
1640
|
var require_websocket = __commonJS((exports, module) => {
|
|
1659
1641
|
var EventEmitter = __require("events");
|
|
1660
1642
|
var https = __require("https");
|
|
@@ -2416,7 +2398,7 @@ var require_websocket = __commonJS((exports, module) => {
|
|
|
2416
2398
|
}
|
|
2417
2399
|
});
|
|
2418
2400
|
|
|
2419
|
-
//
|
|
2401
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/stream.js
|
|
2420
2402
|
var require_stream = __commonJS((exports, module) => {
|
|
2421
2403
|
var WebSocket = require_websocket();
|
|
2422
2404
|
var { Duplex } = __require("stream");
|
|
@@ -2519,7 +2501,7 @@ var require_stream = __commonJS((exports, module) => {
|
|
|
2519
2501
|
module.exports = createWebSocketStream;
|
|
2520
2502
|
});
|
|
2521
2503
|
|
|
2522
|
-
//
|
|
2504
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/subprotocol.js
|
|
2523
2505
|
var require_subprotocol = __commonJS((exports, module) => {
|
|
2524
2506
|
var { tokenChars } = require_validation();
|
|
2525
2507
|
function parse(header) {
|
|
@@ -2564,7 +2546,7 @@ var require_subprotocol = __commonJS((exports, module) => {
|
|
|
2564
2546
|
module.exports = { parse };
|
|
2565
2547
|
});
|
|
2566
2548
|
|
|
2567
|
-
//
|
|
2549
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/websocket-server.js
|
|
2568
2550
|
var require_websocket_server = __commonJS((exports, module) => {
|
|
2569
2551
|
var EventEmitter = __require("events");
|
|
2570
2552
|
var http = __require("http");
|
|
@@ -2866,7 +2848,7 @@ var require_websocket_server = __commonJS((exports, module) => {
|
|
|
2866
2848
|
}
|
|
2867
2849
|
});
|
|
2868
2850
|
|
|
2869
|
-
//
|
|
2851
|
+
// node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/wrapper.mjs
|
|
2870
2852
|
var exports_wrapper = {};
|
|
2871
2853
|
__export(exports_wrapper, {
|
|
2872
2854
|
default: () => wrapper_default,
|
|
@@ -2886,7 +2868,7 @@ var init_wrapper = __esm(() => {
|
|
|
2886
2868
|
wrapper_default = import_websocket.default;
|
|
2887
2869
|
});
|
|
2888
2870
|
|
|
2889
|
-
//
|
|
2871
|
+
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/error.js
|
|
2890
2872
|
var require_error = __commonJS((exports) => {
|
|
2891
2873
|
class CommanderError extends Error {
|
|
2892
2874
|
constructor(exitCode, code, message) {
|
|
@@ -2910,7 +2892,7 @@ var require_error = __commonJS((exports) => {
|
|
|
2910
2892
|
exports.InvalidArgumentError = InvalidArgumentError;
|
|
2911
2893
|
});
|
|
2912
2894
|
|
|
2913
|
-
//
|
|
2895
|
+
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/argument.js
|
|
2914
2896
|
var require_argument = __commonJS((exports) => {
|
|
2915
2897
|
var { InvalidArgumentError } = require_error();
|
|
2916
2898
|
|
|
@@ -2990,7 +2972,7 @@ var require_argument = __commonJS((exports) => {
|
|
|
2990
2972
|
exports.humanReadableArgName = humanReadableArgName;
|
|
2991
2973
|
});
|
|
2992
2974
|
|
|
2993
|
-
//
|
|
2975
|
+
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/help.js
|
|
2994
2976
|
var require_help = __commonJS((exports) => {
|
|
2995
2977
|
var { humanReadableArgName } = require_argument();
|
|
2996
2978
|
|
|
@@ -3347,7 +3329,7 @@ ${itemIndentStr}`);
|
|
|
3347
3329
|
exports.stripColor = stripColor;
|
|
3348
3330
|
});
|
|
3349
3331
|
|
|
3350
|
-
//
|
|
3332
|
+
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/option.js
|
|
3351
3333
|
var require_option = __commonJS((exports) => {
|
|
3352
3334
|
var { InvalidArgumentError } = require_error();
|
|
3353
3335
|
|
|
@@ -3531,7 +3513,7 @@ var require_option = __commonJS((exports) => {
|
|
|
3531
3513
|
exports.DualOptions = DualOptions;
|
|
3532
3514
|
});
|
|
3533
3515
|
|
|
3534
|
-
//
|
|
3516
|
+
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/suggestSimilar.js
|
|
3535
3517
|
var require_suggestSimilar = __commonJS((exports) => {
|
|
3536
3518
|
var maxDistance = 3;
|
|
3537
3519
|
function editDistance(a, b) {
|
|
@@ -3604,7 +3586,7 @@ var require_suggestSimilar = __commonJS((exports) => {
|
|
|
3604
3586
|
exports.suggestSimilar = suggestSimilar;
|
|
3605
3587
|
});
|
|
3606
3588
|
|
|
3607
|
-
//
|
|
3589
|
+
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/lib/command.js
|
|
3608
3590
|
var require_command = __commonJS((exports) => {
|
|
3609
3591
|
var EventEmitter = __require("node:events").EventEmitter;
|
|
3610
3592
|
var childProcess = __require("node:child_process");
|
|
@@ -4959,7 +4941,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
4959
4941
|
exports.useColor = useColor;
|
|
4960
4942
|
});
|
|
4961
4943
|
|
|
4962
|
-
//
|
|
4944
|
+
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/index.js
|
|
4963
4945
|
var require_commander = __commonJS((exports) => {
|
|
4964
4946
|
var { Argument } = require_argument();
|
|
4965
4947
|
var { Command } = require_command();
|
|
@@ -5176,7 +5158,7 @@ function createKeepAlive(config) {
|
|
|
5176
5158
|
import { readFileSync } from "node:fs";
|
|
5177
5159
|
import path from "node:path";
|
|
5178
5160
|
|
|
5179
|
-
//
|
|
5161
|
+
// node_modules/.pnpm/commander@14.0.3/node_modules/commander/esm.mjs
|
|
5180
5162
|
var import__ = __toESM(require_commander(), 1);
|
|
5181
5163
|
var {
|
|
5182
5164
|
program,
|