@kaydash9999/banker-plugins 0.20.0 → 0.20.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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "banker",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.1",
|
|
4
4
|
"description": "Claude Code plugin: QA/audit/docs/architecture skills + commands, a /banker:setup installer for OS dependencies (playwright, etc.), and wiki compaction.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "smallOpenSource",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.20.1] - 2026-10-19
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- 유지보수자용: 암호 모듈이 없을 때의 난수 시험이 정확한 출력을 단언하고, 업데이트 확인과 체크인의 시험이 흉내가 `node:crypto` 를 가로챘는지 스스로 확인한다.
|
|
7
|
+
|
|
8
|
+
### Fixed
|
|
9
|
+
- `payload-mon` 의 `on` 과 `status` 가 래퍼 v4 에서도 "8MB 이상이면 ctx 옆에 표시" 라고 안내하던 것. v4 는 크기를 `PL:` 칸에 늘 보이므로 이제 그렇게 안내한다. `status` 는 켜져 있을 때만 어디에 보이는지 적는다. 옛 래퍼의 `on` 안내는 그대로다. README 의 payload-mon 설명도 고친다.
|
|
10
|
+
|
|
3
11
|
## [0.20.0] - 2026-10-19
|
|
4
12
|
|
|
5
13
|
### Changed
|
package/README.md
CHANGED
|
@@ -142,7 +142,7 @@ Claude Code 2.1.296 은 Claude 5 모델(Opus 5.5 등)에 작업 목록 도구(Ta
|
|
|
142
142
|
| `update-banker` | 설치된 banker 를 3채널(Claude·npm·Codex) 순서 게이트로 최신화 |
|
|
143
143
|
| `refresh-readme` | 코드와 어긋난 README 를 현재 상태에 맞게 갱신(드리프트 해소) |
|
|
144
144
|
| `cleansing-memory` | 메모리 파일을 문서화된 threshold 내로 정리(중복 최신본화·무손실 압축) |
|
|
145
|
-
| `payload-mon` |
|
|
145
|
+
| `payload-mon` | 상태표시줄에 요청 payload 추정치(32MB 한도 대비) 표시 켜기·끄기. 래퍼 v4 는 `PL:` 칸에 늘, 옛 래퍼는 8MB부터 ctx 옆에 |
|
|
146
146
|
| `tone-compact` | 답변과 새 문서를 ASD-STE100 기반 한글 개조식(표·목록·원어 발음 표기·장식 기호 금지)으로 쓰는 문체 규칙 켜기·끄기(on 기본, 끌 때까지 유지) |
|
|
147
147
|
| `anti-drm` | DRM 이 암호화하는 확장자(기본 11개: 텍스트·오피스·한글·PDF·CSV) 대신 대체 확장자(`.md`·`.html`·`.tsv`)로 파일을 만들게 하는 규칙 켜기·끄기(on 기본, 처음 켤 때 금지 확장자와 대체 확장자를 물음, `config` 로 변경, 끌 때까지 유지) |
|
|
148
148
|
| `omc-patch` | OMC 자동 업데이트 뒤 사라진 훅 패치를 재적용하고 OMC 마켓플레이스 자동 업데이트를 고정(진단·확인·적용·검증·되돌리기). 옛 킷이 블록 안에 넣은 헬퍼(project-memory 꺼짐)를 찾아 고치고, project-memory 훅이 실제로 일하는지 임시 폴더에서 확인 |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaydash9999/banker-plugins",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.1",
|
|
4
4
|
"description": "banker — Claude Code + Codex CLI plugin (QA, audit, docs, architecture, wiki skills). Install via Claude Code marketplace, or `npm i -g @kaydash9999/banker-plugins` then `banker setup`.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"banker": "bin/banker.js"
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
* `const input`, runs the HUD in-process and keeps spawnSync for a fallback
|
|
18
18
|
* branch. A block anchored on spawnSync would land in that branch, so the ctx
|
|
19
19
|
* line is the only anchor. Earlier versions that also put a block before
|
|
20
|
-
* spawnSync are converted on the next `on`.
|
|
20
|
+
* spawnSync are converted on the next `on`. Wrapper v4 (setup-omc-hud 0.20.0)
|
|
21
|
+
* shows the size in its own PL segment, so `on` and `status` point there.
|
|
21
22
|
*
|
|
22
23
|
* The block imports a copy of payload-size.mjs kept beside the wrapper
|
|
23
24
|
* (<hud>/payload-mon/payload-size.mjs), not the module in this folder: a plugin
|
|
@@ -60,6 +61,8 @@ const BLOCKS = /^[ \t]*\/\/ >>> payload-mon >>>[\s\S]*?\/\/ <<< payload-mon <<<[
|
|
|
60
61
|
const CTX_LINE = /^ {2}if \(f\.ctx\) colored\.push\(colorCtx\(f\.ctx\)\);\r?\n/m;
|
|
61
62
|
// The statusline JSON the block reads, in either layout.
|
|
62
63
|
const INPUT_DECL = /^(?:let|const) input\b/m;
|
|
64
|
+
// Wrapper v4 pushes its own PL segment: the size from 0MB on, in place of the block's segment.
|
|
65
|
+
const PL_SEGMENT = /colored\.push\(`PL:/;
|
|
63
66
|
const MB = 1024 * 1024;
|
|
64
67
|
|
|
65
68
|
// The same rules as setup-omc-hud's installer (OMC's getClaudeConfigDir): trim, expand a leading "~",
|
|
@@ -249,6 +252,15 @@ const notShownNote = (o) =>
|
|
|
249
252
|
: `\n주의: statusLine 명령에 ${basename(o.hudFile)}가 보이지 않습니다. ` +
|
|
250
253
|
"다른 래퍼(smart-compact 등)가 HUD를 감싸 호출하면 정상 표시되고, 아니면 화면에 나타나지 않습니다.";
|
|
251
254
|
|
|
255
|
+
const showsPL = (src) => src !== null && PL_SEGMENT.test(src);
|
|
256
|
+
|
|
257
|
+
// Where the size shows, named only while it does: the block in place and a
|
|
258
|
+
// module copy to import. "" otherwise, so status never promises a segment.
|
|
259
|
+
function displayWhere(o, src) {
|
|
260
|
+
if (src === null || !inPlace(src, moduleUrl(o.hudFile)) || copyState(o) === "missing") return "";
|
|
261
|
+
return showsPL(src) ? "PL 칸에 늘 표시" : `${SHOW_FROM_BYTES / MB}MB부터 표시`;
|
|
262
|
+
}
|
|
263
|
+
|
|
252
264
|
export function turnOn(opts = {}) {
|
|
253
265
|
const o = { ...DEFAULTS, ...opts };
|
|
254
266
|
const src = readText(o.hudFile);
|
|
@@ -263,7 +275,9 @@ export function turnOn(opts = {}) {
|
|
|
263
275
|
}
|
|
264
276
|
const why = misfit(src);
|
|
265
277
|
if (why) return refusal(why, o.hudFile);
|
|
266
|
-
const done =
|
|
278
|
+
const done = showsPL(src)
|
|
279
|
+
? "켰습니다. 다음 statusline 갱신부터 PL 칸에 요청 크기가 늘 표시됩니다."
|
|
280
|
+
: "켰습니다. 다음 statusline 갱신부터 8MB 이상이면 ctx 옆에 payload가 표시됩니다.";
|
|
267
281
|
const after = insertBlock(src.replace(BLOCKS, ""), moduleUrl(o.hudFile));
|
|
268
282
|
return commit(o.hudFile, src, after, done + notShownNote(o), () => syncModule(o));
|
|
269
283
|
}
|
|
@@ -302,8 +316,12 @@ export function turnOff(opts = {}) {
|
|
|
302
316
|
return res;
|
|
303
317
|
}
|
|
304
318
|
|
|
305
|
-
//
|
|
306
|
-
|
|
319
|
+
// The estimate for the session that runs this, "" if unknown, ending with where
|
|
320
|
+
// it shows when `where` names it:
|
|
321
|
+
// "현재 세션: 0.8MB / 32MB (2%), PL 칸에 늘 표시" (wrapper v4, on)
|
|
322
|
+
// "현재 세션: 0.8MB / 32MB (2%), 8MB부터 표시" (older wrappers, on)
|
|
323
|
+
// "현재 세션: 0.8MB / 32MB (2%)" (off, or no module copy)
|
|
324
|
+
function sessionEstimate(o, where) {
|
|
307
325
|
if (!o.sessionId || !existsSync(o.projectsDir)) return "";
|
|
308
326
|
const file = `${o.sessionId}.jsonl`;
|
|
309
327
|
const project = readdirSync(o.projectsDir).find((d) => existsSync(join(o.projectsDir, d, file)));
|
|
@@ -311,7 +329,7 @@ function sessionEstimate(o) {
|
|
|
311
329
|
try {
|
|
312
330
|
const bytes = estimatePayloadBytes(join(o.projectsDir, project, file), o.cacheDir);
|
|
313
331
|
const pct = Math.floor((bytes / REQUEST_LIMIT_BYTES) * 100);
|
|
314
|
-
return `현재 세션: ${(bytes / MB).toFixed(1)}MB / 32MB (${pct}%)
|
|
332
|
+
return `현재 세션: ${(bytes / MB).toFixed(1)}MB / 32MB (${pct}%)` + (where ? `, ${where}` : "");
|
|
315
333
|
} catch {
|
|
316
334
|
return "";
|
|
317
335
|
}
|
|
@@ -347,7 +365,9 @@ export function status(opts = {}) {
|
|
|
347
365
|
const lines = [`payload-mon: ${describe(o)} (${o.hudFile})`];
|
|
348
366
|
const note = notShownNote(o);
|
|
349
367
|
if (note) lines.push(note.trim());
|
|
350
|
-
|
|
368
|
+
// null when the wrapper is missing or unreadable; describe has already said which.
|
|
369
|
+
const src = readBytes(o.hudFile)?.toString("utf8") ?? null;
|
|
370
|
+
const estimate = sessionEstimate(o, displayWhere(o, src));
|
|
351
371
|
if (estimate) lines.push(estimate);
|
|
352
372
|
return { ok: true, message: lines.join("\n") };
|
|
353
373
|
}
|
|
@@ -90,7 +90,7 @@ node "<이 스킬 디렉터리 절대경로>/../payload-mon/scripts/payload-mon.
|
|
|
90
90
|
|
|
91
91
|
- Codex 사본에서 실행할 때 경로는 `<이 스킬 디렉터리 절대경로>/../banker-payload-mon/scripts/payload-mon.mjs` 다.
|
|
92
92
|
- 이유: `PL:` 칸은 payload-mon 이 래퍼 옆(`hud/payload-mon/`)에 두는 크기 계산 모듈을 쓴다. 모듈이 없으면 `PL:` 이 나오지 않는다.
|
|
93
|
-
-
|
|
93
|
+
- 출력 `켰습니다. 다음 statusline 갱신부터 PL 칸에 요청 크기가 늘 표시됩니다.` 를 확인한다. `이미 켜져 있습니다`, `모듈 사본을 이 버전으로 맞췄습니다` 도 정상이다.
|
|
94
94
|
|
|
95
95
|
## 3. 보고
|
|
96
96
|
|