deel-local-cli 1.13.0 → 1.13.1
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/README.ko.md +3 -2
- package/README.md +3 -2
- package/package.json +1 -1
- package/src/acp/map.js +367 -367
- package/src/acp/serve.js +810 -810
- package/src/agent/budget.js +156 -156
- package/src/agent/commit.js +534 -534
- package/src/agent/compact.js +441 -441
- package/src/agent/effort.js +308 -308
- package/src/agent/evolve.js +263 -263
- package/src/agent/loop.js +1728 -1728
- package/src/agent/memory.js +156 -156
- package/src/agent/mention.js +210 -210
- package/src/agent/recall.js +222 -222
- package/src/agent/session.js +1056 -1056
- package/src/backend/adapter.js +1355 -1355
- package/src/backend/cachemark.js +223 -223
- package/src/backend/detect.js +327 -327
- package/src/backend/http.js +460 -460
- package/src/backend/mcp.js +407 -407
- package/src/backend/price.js +260 -260
- package/src/backend/probe.js +487 -487
- package/src/backend/quota.js +274 -274
- package/src/backend/tokens.js +59 -59
- package/src/backend/toolfit.js +352 -352
- package/src/backend/wire.js +715 -715
- package/src/commands.js +3184 -3184
- package/src/config.js +283 -283
- package/src/i18n/en.js +545 -545
- package/src/i18n/ja.js +498 -498
- package/src/i18n/ko.js +592 -592
- package/src/i18n/zh.js +498 -498
- package/src/oneshot.js +625 -625
- package/src/pack/tar.js +154 -154
- package/src/pack/zip.js +235 -235
- package/src/plugins/manage.js +416 -416
- package/src/repl.js +2616 -2616
- package/src/safety/audit.js +148 -148
- package/src/safety/guard.js +641 -641
- package/src/safety/network.js +200 -200
- package/src/tools/fastgrep.js +229 -229
- package/src/tools/fsutil.js +291 -291
- package/src/tools/index.js +2560 -2560
- package/src/tools/jobs.js +876 -876
- package/src/tools/spawn.js +213 -213
- package/src/tools/verify.js +358 -358
- package/src/tools/webfetch.js +418 -418
- package/src/ui/export.js +233 -233
- package/src/ui/pick.js +115 -115
- package/src/ui/status.js +617 -617
package/src/backend/tokens.js
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* 토큰을 대략 센다.
|
|
3
|
-
*
|
|
4
|
-
* ── 왜 여기 있나 ────────────────────────────────────────────────────────
|
|
5
|
-
*
|
|
6
|
-
* 이 함수는 agent/session.js 안에 있었다. 그런데 재는 자가 필요한 자리가
|
|
7
|
-
* 거기 하나가 아니다 — backend/cachemark.js 도 「이 대화가 캐시에 잡힐 만한
|
|
8
|
-
* 크기인가」 를 재야 하는데, cachemark 는 아무것도 안 들여오는 잎 모듈이라
|
|
9
|
-
* session.js 를 부르면 순환이 된다(session 이 cachemark 의 조각표를 쓴다).
|
|
10
|
-
*
|
|
11
|
-
* 그래서 cachemark 는 제 나름대로 **글자 수를 토큰의 두 배로** 쳤다. 영어와
|
|
12
|
-
* 코드에서만 맞는 셈이라, 실제로는 2,300토큰인 대화를 4,096토큰 문턱을 넘었다고
|
|
13
|
-
* 답했다. 안 잡힐 표식을 붙여 놓고 화면에는 「캐시 표식」 이라고 적혔다.
|
|
14
|
-
*
|
|
15
|
-
* 재는 자가 둘이면 언젠가 둘이 어긋난다. 그래서 자를 **잎으로 내려서** 한
|
|
16
|
-
* 벌만 둔다. session.js 는 이것을 그대로 다시 내보내므로 부르던 자리는 그대로다.
|
|
17
|
-
*
|
|
18
|
-
* ── 얼마나 맞나 ────────────────────────────────────────────────────────
|
|
19
|
-
*
|
|
20
|
-
* 정확한 토크나이저는 안 쓴다 — 의존성 0개가 이 프로그램의 약속이고, 창구마다
|
|
21
|
-
* 토크나이저가 다르므로 하나를 골라 박아도 다른 창구에서는 또 틀린다.
|
|
22
|
-
* 대신 서버가 실제 값을 알려 주면 그 값으로 배수를 배운다(session.js 의 배운다).
|
|
23
|
-
* 여기는 **배우기 전의 첫 짐작**이다.
|
|
24
|
-
*
|
|
25
|
-
* 한글(자모 포함)·일본어·한자 글자당 1토큰
|
|
26
|
-
* 그 밖(영문·코드) 3.6글자당 1토큰
|
|
27
|
-
*/
|
|
28
|
-
/*
|
|
29
|
-
* ── 한글은 완성형만 한글이 아니다 ───────────────────────────────────────
|
|
30
|
-
*
|
|
31
|
-
* 여기가 완성형 음절(가–힣)만 셌다. 그래서 아래 것들이 **영문 취급**을 받아
|
|
32
|
-
* 3.6분의 1로 세어졌다:
|
|
33
|
-
*
|
|
34
|
-
* ㅋㅋㅋ ㅎㅎ ㅠㅠ ㅡㅡ 호환 자모 (U+3130–318F) — 대화에 제일 흔하다
|
|
35
|
-
* ᄀ ᅡ ᆨ 첫가끝 자모 (U+1100–11FF) — 맥에서 만든 파일
|
|
36
|
-
* 이름과 그 파일 내용이 이 꼴(NFD)로 온다
|
|
37
|
-
*
|
|
38
|
-
* 덜 센 값은 화면 숫자로 안 끝난다. 남은 자리를 넉넉히 보고 → 접기를 늦게
|
|
39
|
-
* 켜고 → 실제로는 넘친 채로 요청을 보낸다. 한국어를 쓰는 사람이 가장 자주
|
|
40
|
-
* 치는 글자가 하필 이 칸이었다.
|
|
41
|
-
*/
|
|
42
|
-
const 자모인가 = (cp) => (
|
|
43
|
-
(cp >= 0x1100 && cp <= 0x11ff) // 첫가끝 (NFD)
|
|
44
|
-
|| (cp >= 0x3130 && cp <= 0x318f) // 호환 자모 (ㅋ ㅎ ㅠ …)
|
|
45
|
-
|| (cp >= 0xa960 && cp <= 0xa97f) // 확장 A
|
|
46
|
-
|| (cp >= 0xd7b0 && cp <= 0xd7ff) // 확장 B
|
|
47
|
-
);
|
|
48
|
-
|
|
49
|
-
export function estimateTokens(text) {
|
|
50
|
-
const s = String(text ?? '');
|
|
51
|
-
let cjk = 0;
|
|
52
|
-
for (const ch of s) {
|
|
53
|
-
const cp = ch.codePointAt(0);
|
|
54
|
-
if ((cp >= 0xac00 && cp <= 0xd7a3) || (cp >= 0x3040 && cp <= 0x30ff) || (cp >= 0x4e00 && cp <= 0x9fff)
|
|
55
|
-
|| 자모인가(cp)) cjk++;
|
|
56
|
-
}
|
|
57
|
-
const rest = s.length - cjk;
|
|
58
|
-
return Math.ceil(cjk + rest / 3.6);
|
|
59
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* 토큰을 대략 센다.
|
|
3
|
+
*
|
|
4
|
+
* ── 왜 여기 있나 ────────────────────────────────────────────────────────
|
|
5
|
+
*
|
|
6
|
+
* 이 함수는 agent/session.js 안에 있었다. 그런데 재는 자가 필요한 자리가
|
|
7
|
+
* 거기 하나가 아니다 — backend/cachemark.js 도 「이 대화가 캐시에 잡힐 만한
|
|
8
|
+
* 크기인가」 를 재야 하는데, cachemark 는 아무것도 안 들여오는 잎 모듈이라
|
|
9
|
+
* session.js 를 부르면 순환이 된다(session 이 cachemark 의 조각표를 쓴다).
|
|
10
|
+
*
|
|
11
|
+
* 그래서 cachemark 는 제 나름대로 **글자 수를 토큰의 두 배로** 쳤다. 영어와
|
|
12
|
+
* 코드에서만 맞는 셈이라, 실제로는 2,300토큰인 대화를 4,096토큰 문턱을 넘었다고
|
|
13
|
+
* 답했다. 안 잡힐 표식을 붙여 놓고 화면에는 「캐시 표식」 이라고 적혔다.
|
|
14
|
+
*
|
|
15
|
+
* 재는 자가 둘이면 언젠가 둘이 어긋난다. 그래서 자를 **잎으로 내려서** 한
|
|
16
|
+
* 벌만 둔다. session.js 는 이것을 그대로 다시 내보내므로 부르던 자리는 그대로다.
|
|
17
|
+
*
|
|
18
|
+
* ── 얼마나 맞나 ────────────────────────────────────────────────────────
|
|
19
|
+
*
|
|
20
|
+
* 정확한 토크나이저는 안 쓴다 — 의존성 0개가 이 프로그램의 약속이고, 창구마다
|
|
21
|
+
* 토크나이저가 다르므로 하나를 골라 박아도 다른 창구에서는 또 틀린다.
|
|
22
|
+
* 대신 서버가 실제 값을 알려 주면 그 값으로 배수를 배운다(session.js 의 배운다).
|
|
23
|
+
* 여기는 **배우기 전의 첫 짐작**이다.
|
|
24
|
+
*
|
|
25
|
+
* 한글(자모 포함)·일본어·한자 글자당 1토큰
|
|
26
|
+
* 그 밖(영문·코드) 3.6글자당 1토큰
|
|
27
|
+
*/
|
|
28
|
+
/*
|
|
29
|
+
* ── 한글은 완성형만 한글이 아니다 ───────────────────────────────────────
|
|
30
|
+
*
|
|
31
|
+
* 여기가 완성형 음절(가–힣)만 셌다. 그래서 아래 것들이 **영문 취급**을 받아
|
|
32
|
+
* 3.6분의 1로 세어졌다:
|
|
33
|
+
*
|
|
34
|
+
* ㅋㅋㅋ ㅎㅎ ㅠㅠ ㅡㅡ 호환 자모 (U+3130–318F) — 대화에 제일 흔하다
|
|
35
|
+
* ᄀ ᅡ ᆨ 첫가끝 자모 (U+1100–11FF) — 맥에서 만든 파일
|
|
36
|
+
* 이름과 그 파일 내용이 이 꼴(NFD)로 온다
|
|
37
|
+
*
|
|
38
|
+
* 덜 센 값은 화면 숫자로 안 끝난다. 남은 자리를 넉넉히 보고 → 접기를 늦게
|
|
39
|
+
* 켜고 → 실제로는 넘친 채로 요청을 보낸다. 한국어를 쓰는 사람이 가장 자주
|
|
40
|
+
* 치는 글자가 하필 이 칸이었다.
|
|
41
|
+
*/
|
|
42
|
+
const 자모인가 = (cp) => (
|
|
43
|
+
(cp >= 0x1100 && cp <= 0x11ff) // 첫가끝 (NFD)
|
|
44
|
+
|| (cp >= 0x3130 && cp <= 0x318f) // 호환 자모 (ㅋ ㅎ ㅠ …)
|
|
45
|
+
|| (cp >= 0xa960 && cp <= 0xa97f) // 확장 A
|
|
46
|
+
|| (cp >= 0xd7b0 && cp <= 0xd7ff) // 확장 B
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
export function estimateTokens(text) {
|
|
50
|
+
const s = String(text ?? '');
|
|
51
|
+
let cjk = 0;
|
|
52
|
+
for (const ch of s) {
|
|
53
|
+
const cp = ch.codePointAt(0);
|
|
54
|
+
if ((cp >= 0xac00 && cp <= 0xd7a3) || (cp >= 0x3040 && cp <= 0x30ff) || (cp >= 0x4e00 && cp <= 0x9fff)
|
|
55
|
+
|| 자모인가(cp)) cjk++;
|
|
56
|
+
}
|
|
57
|
+
const rest = s.length - cjk;
|
|
58
|
+
return Math.ceil(cjk + rest / 3.6);
|
|
59
|
+
}
|